环境:Python 3.10+(stdlib only)。三个示例全部无需 API key(脚本化策略代替真实 Claude)。 来源: https://www.anthropic.com/engineering/building-effective-agents、https://www.anthropic.com/engineering/multi-agent-research-system(访问于 2026-08-30)
🎯 学习重点:从执行轨迹识别五要素,并验证权限门和停止条件确实由外层代码强制执行。
cd 08-agents/examples
python3 01_agent_loop_simulator.py
对照输出完成:
ask_human 再 deploy?对照官方「pause for human feedback at checkpoints」。验收:能口头回答「停止条件、权限门、工具执行为什么必须在应用层」。
🎯 学习重点:把步数可预测性、子任务动态性和任务价值映射到选型阶梯。
python3 02_workflow_vs_agent_decision.py
decide():规则顺序为什么是「single call → multi-agent → agent → routing → chaining → evaluator-optimizer → orchestrator-workers → parallelization」?这与官方决策阶梯(先最简、well-defined 用 workflow、开放式才上 agent)如何对应?steps_predictable(步数可否预判,workflow/agent 分界)与 subtask_set_varies(子任务集合是否随输入变化,orchestrator-workers vs parallelization 分界)。high_value_task 改为 False 再跑,观察推荐如何变化并解释(提示:15× token 需要价值兜底)。验收:能对任一新场景说出特征向量 → 推荐架构的推导链。
🎯 学习重点:区分动态分解、并行 worker、结果综合与有界精修循环四个责任边界。
python3 03_orchestrator_workers_skeleton.py
WorkerReport.transcript 为什么不回传编排器?对照 Agent SDK subagents 的 context isolation 收益与多智能体一文的「搜索的压缩」。Subtask 数据结构的四个字段,对照官方委派指令要求:objective / output format / 工具与信源指引 / 任务边界。refine_rounds 换个上限体会「循环也要停止条件」。# <-- LLM call 标注点换成真实 Claude 调用(key 用 os.getenv("ANTHROPIC_API_KEY") 读取,勿硬编码),编排结构不变。验收:能画出该骨架的流程图并标注哪里是 workflow 的确定性、哪里是 LLM 的动态性。
🎯 学习重点:用「agent = 工具回路 + 控制权转移 + 停止条件」贯通工具调用与智能体架构。
tool_loop.py,对比本模块 01_agent_loop_simulator.py:两者的消息结构(tool_use/tool_result)一致,差别只在「圈数与方向」由谁决定。写出公式:agent = 工具回路 + 控制权转移(+ 停止条件)。