Проверьте перед применением
Сравните фактическое поведение с ожидаемым. Если проверка не проходит, разберитесь в причине перед следующими изменениями.
Новая связь меняет состав группы узлов. UnionPebble помогает разбирать непересекающиеся множества по исходникам и небольшим графам, сохраняя предложения модели доступными для проверки кода.
def components(count, edges):
if type(count) is not int or not 0 <= count <= 10000:
raise ValueError("node count")
pairs = list(edges)
for pair in pairs:
if len(pair) != 2 or any(type(v) is not int or not 0 <= v < count for v in pair):
raise ValueError("edge endpoint")
parent = list(range(count))
def find(x):
while parent[x] != x:
parent[x] = parent[parent[x]]
x = parent[x]
return x
for a, b in pairs:
parent[find(b)] = find(a)
groups = {}
for node in range(count): groups.setdefault(find(node), []).append(node)
return sorted(groups.values())Сравните фактическое поведение с ожидаемым. Если проверка не проходит, разберитесь в причине перед следующими изменениями.
Базовый URL, учётные данные и доступный сервер.
Проверьте отдельные узлы, повторные рёбра и пустой граф, отклоняя неверные концы до любого объединения.
def components(count, edges):
if type(count) is not int or not 0 <= count <= 10000:
raise ValueError("node count")
pairs = list(edges)
for pair in pairs:
if len(pair) != 2 or any(type(v) is not int or not 0 <= v < count for v in pair):
raise ValueError("edge endpoint")
parent = list(range(count))
def find(x):
while parent[x] != x:
parent[x] = parent[parent[x]]
x = parent[x]
return x
for a, b in pairs:
parent[find(b)] = find(a)
groups = {}
for node in range(count): groups.setdefault(find(node), []).append(node)
return sorted(groups.values())UnionPebble — среда программирования с ИИ для Windows, объединяющая требования группировки, исходный код и его потребителей в одном обсуждении разработки. Сначала опишите, что приложение считает связанным и какой результат ожидает. Попросите модель изучить существующее представление до предложений изменить код создания групп.
Для конкретной задачи используйте components.py, чтобы обсудить связь, объединяющую две ранее отдельные группы. Включите изолированный узел в тестовые данные и задайте ожидаемый порядок вывода. Пример помогает сформулировать запрос, не предполагая, что математически равнозначная коллекция удовлетворяет сериализатору или коду отображения приложения.
Проверьте предложение на этих границах. Изучите допустимые идентификаторы узлов, неверные рёбра и пустой случай, затем выполните нужные проверки проекта. Полезный результат должен объяснять и принадлежность элементов одной группе, и соответствие возвращаемой структуры потребителю. Не включайте посторонние изменения хранения или интерфейса в запрос, нацеленный на исправление группировки.
Подключите модель через поддерживаемую OpenAI-совместимую конечную точку или Anthropic, указав учётные данные при необходимости. Если сервис предлагает модель ИИ с устранёнными механизмами отказа, её можно использовать в сеансе; ограничения зависят от поставщика. Инструменты и контекст также зависят от модели и сервера, поэтому ограничьте исследование исходниками и свидетельствами, доступными сеансу.
Задайте это ожидание явно. Список рёбер может не упоминать изолированный узел, хотя приложение знает о его существовании. Включите заявленное число узлов и изолированный пример, чтобы код не мог незаметно отбросить такие элементы.
Да, если потребитель зависит от стабильного порядка сериализации, сравнения или отображения. Укажите, входит ли порядок в интерфейс, затем изучите соглашение о выводе. Математическая равнозначность сама по себе не доказывает совместимость со снимками результатов или последующей обработкой проекта.
Определите поведение отклонения ввода и место сообщения об ошибке. Пример проверяет идентификаторы по заявленному числу узлов. Изучите реакцию вызывающего кода, не считая, что исключение само по себе сообщает полезную ошибку тому, кто предоставил данные группировки.
Независимо запишите исходные группы и ожидаемый состав объединённой, включая незатронутую группу. Проведите пример через изменённый код и отдельно проверьте порядок. Это даёт конкретные результаты до и после без повторения реализации внутри теста.
UnionPebble · Обновлено 2026-10-25