Agent 实现方法论
From Scratch
学习地图
练习
术语表
← 返回首页
本章教程
本章练习
第 12 章测验
第 12 章测验
对应章节:经典范式手写
共 8 题,答对率 ≥ 80% 即通过。请完成全部题目后点击「提交」。
Q1
关于 ReAct 范式,下列说法正确的是?
每一步都是「思考(Thought)→ 行动(Action)→ 观察(Observation)」的交替,观察结果成为下一步思考的输入
ReAct 只做纯推理,不调用任何外部工具
ReAct 要求模型一次性生成完整执行计划,然后机械执行
ReAct 由 Lei Wang 于 2023 年提出,核心是「先规划后执行」
Q2
在 native tool calling 时代,为什么说「ReAct 免费了」?
因为模型厂商已经停止支持 ReAct 相关的 API
因为原生 tool calling 把 Thought/Action/Observation 结构化为协议(结构化 tool_calls + tool 消息),第 07 章的最小 loop 就是 ReAct,无需再手写文本解析
因为 ReAct 论文发表后就没有再被引用
因为所有 Agent 框架都内置了 ReAct,手写不再必要
Q3
Plan-and-Execute 与 ReAct 的核心区别是?
Plan-and-Execute 先整体规划再执行,ReAct 走一步看一步(每步行动都基于最新观察动态调整)
ReAct 会先生成完整计划,Plan-and-Execute 则完全随机行动
两者没有区别,只是名字不同
Plan-and-Execute 不调用 LLM,ReAct 每步都调用 LLM
Q4
在 Plan-and-Execute 的最小实现里,「计划」应该以什么形态存在?
一段自然语言散文,模型每次执行时重新理解一遍
结构化数据(如 { steps: [...] }),harness 能直接遍历执行、按 stepId 记录结果
必须由人工手写,模型只负责执行
计划一旦生成就不能包含工具绑定,否则无法执行
Q5
Reflection 循环的正确流程是?
生成 → 评审 → 通过则结束;不通过则带着评审意见修订 → 再评审,直到通过或达到最大轮数
生成 → 直接交付,不做任何检查
先执行全部工具,再一次性生成最终答案
评审通过后立即停止,不再检查修订结果
Q6
Reflection 的常见失败模式包括哪些?
评审标准含糊导致 judge 乱打分;自我评审同源盲区(模型看不出自己输出的问题);没有 maxRounds 会死循环;修订可能让质量倒退
评审会消耗额外显存,必须避免使用
Reflection 只对中文生效,英文输出无法评审
judge 只能返回布尔值,无法给出修改建议
Q7
选型:下面哪种任务最适合 Plan-and-Execute?
步骤可预见、依赖关系清晰的多步任务(如「查天气 → 查景点 → 出建议」),希望用更少的模型调用完成
需要根据实时反馈不断调整方向的探索式任务
对输出文字质量有硬要求、需要反复打磨的文案生成
只需要一次单轮问答、无需任何工具的任务
Q8
代码阅读:runReflect 传入 maxRounds=2,judge 一直返回 { passed: false },最终结果会是?
finalText 是最后一版草稿(非空),drafts 有 2 条,rounds=2
finalText 为空字符串,drafts 为空数组
循环抛出异常,因为评审从未通过
无限循环,永远不会返回
提交