Skip to content

Законы нод

Правила, на которых стоит сборка любого агента. Платформа проверяет их при построении схемы: нарушение — конкретная ошибка с объяснением, а не молчаливая поломка. Эти же законы входят во встроенную документацию для ИИ-агентов: ваш агент, собирающий канвас через API, соблюдает те же правила, что и вы.

1. Нода — одна задача, изолированная от соседей

Каждая нода делает ровно одно действие. Нода не вызывает другие ноды и не знает о них: у неё нет доступа к схеме дальше своих портов — ни к соседям, ни к графу в целом. Она принимает данные на входах, выполняет своё действие, отдаёт на выходах.

Так схема читается как текст: любой блок можно посмотреть, понять и заменить, не сломав соседей.

У ноды входы двух видов: обязательный вход без соединения — нода не выполнится (платформа подскажет); необязательный — без него нода работает.

2. Скрытого слоя нет: что подключено — то и работает

Каждый шаг работы агента — нода на схеме. Подключили модель — она отвечает; убрали — перестала. Подключили знания — агент их использует; отключили — агент о них забывает.

Никакой логики «под капотом», которую вы не видите: канвас — не декорация над скрытым пайплайном, а единственное место, где живёт поведение агента. Что собрано и соединено — работает; что убрано — перестало.

3. Провод — двусторонний

Между двумя нодами — один провод, и данные ходят по нему в обе стороны: запрос туда, ответ обратно. Пары проводов «туда и обратно» не нужны — платформа примет только одну связь на пару нод.

4. Типы данных на концах совпадают

Каждый порт передаёт свой тип данных: текст, собранный промпт, вектор, набор знаний, каталог инструментов, файлы. Соединять можно только одинаковые типы — попытка связать несовместимое отклоняется с объяснением, что именно не сходится.

5. Линия агента

Каноническая линия агента с инструментами:

text
Канал/Чат → Роль → Память → Инструменты → LLM

Без памяти и инструментов схема тоже работает — просто с меньшими возможностями. Роль → модель напрямую — минимальный агент. За что отвечает каждый блок: таблица в Как устроен агент.

6. Настройки живут в полях

Адрес модели, ключ, характер агента, глубина памяти — это поля ноды, они не проходят по проводам. Провода — только для данных между нодами. Это разделение делает схему читаемой: связи показывают потоки данных, поля — конфигурацию.

7. Запуск — по событию

Схема просыпается от терминальной ноды: сообщение в канале, письмо в тестовом чате, файл в облаке. Пока события нет — агент спит и не тратит токены. Повторно не пересчитывается то, что не менялось.

8. Антипаттерны

НельзяПочему
Соединять порты разных типовплатформа отклонит связь
Два провода «туда и обратно»провод уже двусторонний
Одна нода «делает два действия»одна нода — одна задача
Инструменты подключать к ролидля них есть нода Инструменты
Вставлять инструменты в промпт вручнуюэто делает нода Инструменты
Две роли на один каналклиент получит два ответа
Тестировать через живой каналпроверяйте тестовым чатом, канал включайте последним

9. Чеклист сборки

  • Есть точка входа: канал или тестовый чат
  • Роль с характером: поле роли или гармоника вида «характер»
  • На пару нод — один провод
  • Обязательные входы соединены, модель заполнена: провайдер, адрес, название модели
  • Знания подключены: напрямую в роль или через семантический отбор
  • Канал выключен до запуска, проверка — в тестовом чате

Контракт ноды

У каждой ноды один и тот же контракт — по нему платформа проверяет сборку, по нему читает схему внешний ИИ-агент:

Часть контрактаЧто это
НазначениеЧто нода делает — одна задача
InputsЧто принимает, что из этого обязательно
OutputsЧто выдаёт
FieldsПараметры конфигурации
Type constraintsС чем может соединяться
Execution ruleКогда исполняется
State/cache ruleКогда результат может быть переиспользован

Контракт не документируется отдельно от системы — он и есть система: в кабинете он виден в описании ноды, через API доступен агенту как схема ноды (get_node_schema, каталог инструментов) — источник правды, а не копия.

Соблюдение законов — не ограничение ради ограничений: схема, прошедшая проверку сборки, ведёт себя предсказуемо и не ломается молча на живом клиенте.