Провода

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

Вход
LLM
Буферная памятьS
Инструмент календаряT
ИИ-агент
Выход
  • Исполнение + данные
  • LLM
  • Память
  • Расширение
  • Исполнение + данные + стрим
Агент собирается из четырёх проводов: запуск с данными от входа, модель, память и инструмент — конфигурационными связями.

Десять типов

Ключ Название в редакторе Что несёт Где встречается
execute Исполнение только порядок, без значения while_loop → тело цикла, вход event у ноды объединения
execute_data Исполнение + данные запуск и значение одним ребром самый частый провод: выход output большинства нод
execute_data_streaming Исполнение + данные + стрим запуск, значение и поток токенов выходы ai_agent и llm_response
data Данные только значение, цель не запускается entry.data, история чата, конфигурационные ноды сервисов
streaming Стрим только токены llm_response.thinking, catch_*; принимают exit и extra_section
link_llm LLM конфигурацию модели llmai_agent, llm_response, structured_output_llm, summary_memory
link_memory Память ноду памяти буферная, оконная и суммирующая память → ai_agent
link_extension Расширение инструмент, навык или суб-агента ноды-инструменты → входы extensions, tools, skill_*
link_embedding Эмбеддинги конфигурацию эмбеддингов embeddingembed_text
link_rerank Реранкер конфигурацию реранкера rerank_configrerank

Цвет и пунктир ребра на холсте соответствуют этой таблице: провод исполнения — сплошной янтарный, данные — серый пунктир, стрим — зелёный, конфигурационные связи — фиолетовые и бирюзовые оттенки.

Откуда берётся тип

Вы не выбираете провод вручную. Тип выводится из портов, которые вы соединили: берётся пересечение их каналов. Порт, отдающий запуск и значение, соединённый с портом, который принимает только значение, даёт ребро data; тот же порт в exit даёт execute_data. Имя целевого порта тоже участвует: llm, memory, extensions, embedding_config, rerank_config, а также порты с префиксами tool_, catch_, skill_, extension_ сразу дают связь соответствующего семейства.

Уже проставленный у ребра edgeType не пересчитывается. Поэтому одинаково выглядящие графы, нарисованные в разное время, могут вести себя по-разному — если сомневаетесь, удалите ребро и проведите заново.

Правила, которые экономят время

Конфигурационные связи не влияют на порядок. link_llm, link_memory, link_extension, link_embedding и link_rerank не участвуют в планировании: у конфигурационных нод нет входа исполнения, и потребитель подтягивает такую ноду сам, в момент, когда она ему понадобилась. Одну ноду llm можно подключить сразу к нескольким потребителям.

Чистая нога данных может стать триггером. Если у ноды нет ни одной другой зависимости планировщика, входящее ребро data поднимается до активирующего — иначе граф, где значение приходит по data, а порядок задан в другом месте, просто не запускал бы такую ноду. Повышение консервативно: оно только добавляет зависимость там, где её не было, и не меняет порядок в уже работающих графах.

Стрим — презентационный канал. Токены идут в чат параллельно значению и не заменяют его: ребро execute_data_streaming доставляет и то, и другое. В свойствах такого ребра (клик по ребру на холсте) есть переключатель, отключающий стрим-канал, — тогда ребро ведёт себя как execute_data, и ответ появится целиком после завершения ноды.

Что дальше