Перейти к содержимому

Handoff

AgentHandoffStepDescription запускает полную под-цепочку внутри родительского запуска. Под-цепочка получает изолированный ReasoningContext, производный от родительского, с входными данными, разрешёнными из памяти/истории родителя; её результат объединяется обратно через output_memory_key.

from mmar_carl import AgentHandoffStepDescription, AgentHandoffStepConfig
AgentHandoffStepDescription(
number=3,
title="Delegate to research agent",
sub_chain=research_chain,
config=AgentHandoffStepConfig(
input_mapping={"input.topic": "$memory.input.topic"},
output_memory_key="research_result",
),
)
ПолеПо умолчаниюНазначение
input_mapping{}Отображение ключей памяти под-цепочки ← ссылок родителя.
output_memory_key—Куда сохраняется финальный вывод под-цепочки.
output_namespace—Пространство имён для вывода.
propagate_failureTrueПриводит ли неудача под-цепочки к неудаче этого шага.
inherit_tools—Передавать ли инструменты родителя в под-цепочку.
timeoutNoneТаймаут под-цепочки.

Полный ReasoningResult под-цепочки всегда доступен по адресу step_result.result_data["sub_result"]. sub_chain существует только во время выполнения (не сериализуется).

  • Handoff — делегирование одной фиксированной под-цепочке.
  • Supervisor — позволить LLM выбрать среди нескольких.