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

Supervisor

SupervisorStepDescription просит LLM выбрать одного специалиста для задачи, затем запускает под-цепочку этого специалиста. Специалисты регистрируются по имени в поле agents, существующем только во время выполнения.

from mmar_carl import SupervisorStepDescription, SupervisorStepConfig
SupervisorStepDescription(
number=1,
title="Route to specialist",
agents={"pdf": pdf_chain, "search": search_chain, "code": code_chain},
config=SupervisorStepConfig(
routing_prompt=(
"Pick ONE specialist for the task. Reply with just the name.\n"
"Specialists: {agents}\n\nTask: {task}"
),
output_memory_key="specialist_result",
),
)

В routing_prompt можно использовать заполнители {agents} (доступные имена) и {task}.

ПолеНазначение
routing_promptПромпт, который LLM использует для выбора специалиста.
task_sourceСсылка на текст задачи (по умолчанию $history[-1]).
fallback_agentИмя агента при неудаче маршрутизации.
input_mappingВходные данные, передаваемые в выбранную под-цепочку.
output_memory_key / output_namespaceКуда сохраняется результат.
propagate_failureПриводит ли неудача под-цепочки к неудаче этого шага.
inherit_toolsПередавать ли зарегистрированные инструменты родителя в под-цепочку.
llm_configПереопределение модели на уровне шага для вызова маршрутизации.