本示例演示 ChainAgent 将多个 LlmAgent 固定顺序串联,通过 output_key 把前一步结构化输出交给后一步(抽取 → 翻译)。
- 确定性执行顺序,无运行时路由
- 子 Agent 分工:内容抽取与翻译
- 控制台分别打印各子 Agent 产出
chain_root (ChainAgent)
├── content_extractor (LlmAgent)
└── translator (LlmAgent)
关键文件:
- examples/multi_agent_chain/agent/agent.py
- examples/multi_agent_chain/run_agent.py
- examples/multi_agent_chain/.env
ChainAgent(sub_agents=[extractor_agent, translator_agent], ...)- 上游输出键写入 runner state,下游指令中引用该键
- Python 3.12
git clone https://github.com/trpc-group/trpc-agent-python.git
cd trpc-agent-python
python3 -m venv .venv
source .venv/bin/activate
pip3 install -e .在 examples/multi_agent_chain/.env 中配置(或通过 export 设置):
TRPC_AGENT_API_KEYTRPC_AGENT_BASE_URLTRPC_AGENT_MODEL_NAME
cd examples/multi_agent_chain
python3 run_agent.pyChain Agent Demo - Information Passing via output_key
Processing Flow: Extraction → Translation
[content_extractor] Output:(Markdown,含 # Smart Home Control System 等章节)
[translator] Output:(英文化 Markdown,结构与上游对应)
结论:符合本示例测试要求。
- 两段 Markdown 输出先后打印,链路闭合
- ETL 式文本流水线:解析、重写、多语言固定步骤
- 不需要协调者动态选子 Agent 的批处理任务