《Agentic Design Patterns》第 11 章导读:目标设定与监控(Goal Setting and Monitoring)
本文是对开源书籍《Agentic Design Patterns》第 11 章的解读与导读,内容忠实呈现原文,并附个人思考。
原书在线阅读:https://adp.xindoo.xyz/ | 翻译项目代码仓库:https://github.com/xindoo/agentic-design-patterns
想象一下,你让一个智能体"帮我安排一次团建活动",然后它就开始瞎忙活------一会儿查餐厅,一会儿看电影票,一会儿又去搜景点,忙了半天什么都没定下来,也不知道自己做的对不对。
问题出在哪?它没有明确的目标,也不知道怎么检查自己有没有进展。
第 11 章讲的**目标设定与监控(Goal Setting and Monitoring)**模式,就是解决这个问题的:给智能体一个明确的靶子,再配上一把尺子,让它知道自己要去哪、走了多远、有没有跑偏。
一、为什么需要目标设定与监控
规划模式(第 6 章)解决的是"怎么去"的问题------智能体自己想出去目的地的路线。但光有路线还不够,你还得知道:
- 目的地是哪(目标是什么);
- 到了没有(怎么判断成功);
- 走对了没有(中途怎么检查进度);
- 走偏了怎么办(偏离目标时怎么纠正)。
没有目标设定,智能体就像没头苍蝇------看起来很忙,但不知道在忙什么;没有监控,智能体就像闭着眼开车------可能早就跑偏了,自己还不知道。
书中用旅行打了个很好的比方:规划是"查路线、订机票、打包行李"的过程,而目标设定与监控是"知道你要去哪、时不时看看导航、确认你还在正确的方向上"。两者缺一不可。
二、SMART 原则:好目标长什么样
不是所有目标都有用。一个模糊的目标("把事情做好")等于没有目标。书中提到,好的目标应该符合 SMART 原则:
- S(Specific,具体的):明确说清楚要做什么,不能含糊;
- M(Measurable,可衡量的):有明确的指标来判断是否达成;
- A(Achievable,可实现的):目标不能遥不可及,也不能太简单;
- R(Relevant,相关的):跟整体任务有关联,不是无关目标;
- T(Time-bound,有时限的):有明确的时间范围或截止日期。
比如"提高客户满意度"就不是个好目标------怎么算提高?提高多少?什么时候完成?
改成"在本季度结束前,将客户满意度评分从 4.2 提升到 4.5 以上"------这就是个 SMART 目标了。
三、监控的反馈闭环
光有目标还不够,还得有监控机制。监控不是"盯着看",而是一个反馈闭环:
- 观察:监控智能体的行动、环境状态、工具输出;
- 评估:把当前状态跟目标对比,看看进度如何;
- 调整:如果走偏了,就修订计划、换条路、或者升级问题;
- 继续:回到第一步,继续观察。
这个闭环让智能体从"执行一次就完事"变成"持续迭代优化"------就像人类做项目一样,定期检查进度,发现问题及时调整。

图 1:目标设定与监控------设定明确目标,持续跟踪进度,形成反馈闭环。
四、六大应用场景
目标设定与监控是自主智能体的基础能力,应用非常广泛:
- 客户支持自动化:目标是"解决客户的账单查询"。监控对话过程、检查数据库操作结果、通过客户反馈判断是否成功。没解决就升级。
- 个性化学习系统:目标是"提高学生对代数的理解"。监控练习正确率和完成时间,学生遇到困难就调整教学材料和方法。
- 项目管理助手:目标是"确保项目里程碑 X 在 Y 日期前完成"。监控任务状态、团队沟通、资源可用性,有风险就标记延迟、建议纠正措施。
- 自动交易机器人:目标是"在风险承受范围内最大化投资组合收益"。持续监控市场数据、组合价值、风险指标,条件符合就交易,突破风险阈值就调整策略。
- 机器人和自动驾驶:目标是"安全地把乘客从 A 送到 B"。不断监控环境、自身状态、路线进度,动态调整驾驶行为。
- 内容审核:目标是"识别并删除平台上的有害内容"。监控传入内容,跟踪误报/漏报率,模糊案例升级给人工。
五、实操示例:迭代式代码生成智能体
书中给了一个很有意思的代码示例------一个会"自我迭代"的 AI 程序员。它的工作方式是:
- 拿到一个编码任务 + 一份质量目标清单(比如"代码简单、功能正确、处理边缘情况");
- 生成第一版代码;
- 自己当审查员,对照目标清单审查代码;
- 判断目标有没有全部达成------达成了就结束,没达成就根据反馈修改代码;
- 重复 2-4,直到目标达成或达到最大迭代次数。
核心逻辑是这样的:
python
def run_code_agent(use_case: str, goals_input: str, max_iterations: int = 5):
goals = [g.strip() for g in goals_input.split(",")]
previous_code = ""
feedback = ""
for i in range(max_iterations):
# 1. 生成代码(带上一轮的代码和反馈)
prompt = generate_prompt(use_case, goals, previous_code, feedback)
code = llm.invoke(prompt)
# 2. 自我审查,获取反馈
feedback = get_code_feedback(code, goals)
# 3. 判断目标是否达成
if goals_met(feedback.content, goals):
print("✅ 目标已达成,停止迭代。")
break
previous_code = code
return save_code_to_file(code, use_case)
这个例子很巧妙地展示了目标设定与监控的核心思想:
- 目标 = 质量清单(代码简单、功能正确、处理边缘情况......)
- 监控 = 自我审查 + 目标达成判断
- 反馈闭环 = 生成 → 审查 → 修改 → 再生成
书中也诚实地指出了这种方法的局限:
- LLM 可能错误地评估自己的表现("我觉得我写对了",但其实有 bug);
- 同一个 LLM 既当运动员又当裁判员,很难发现自己方向错了;
- 简单的监控机制有无限循环的风险;
- 生成的代码还是得人来跑、来测。
怎么改进?书中给了一个方向:用多智能体系统把角色分开------程序员智能体负责写,代码审查员智能体负责挑错,测试员智能体负责写测试,文档员智能体负责写文档。让独立的审查员来做判断,客观性会好很多。
六、速览
- 问题背景:AI 智能体通常缺乏明确的方向感,只能做简单的反应式任务,没法独立处理复杂的多步骤问题。它们也没有内在的机制来判断自己的行动是否成功。没有目标和监控,智能体的自主性就很有限,在动态的现实世界场景中难以真正有效。
- 解决方案:目标设定与监控模式给智能体系统嵌入了"目的感"和"自我评估"能力。明确定义具体、可衡量的目标,同时建立监控机制持续跟踪进度和环境状态。这形成了一个关键的反馈闭环------智能体能评估表现、纠正路线、调整计划,从简单的反应式系统变成主动的、目标导向的系统。
- 实践建议:当 AI 智能体需要自主执行多步骤任务、适应动态条件、在没有持续人工干预的情况下可靠地实现特定高层目标时,使用此模式。
七、可视化总结

图 2:目标设计模式------设定目标 → 执行行动 → 监控进度 → 调整策略。
关键要点
- 目标设定与监控给智能体配备了目的感和跟踪进度的机制;
- 目标应该是具体的、可衡量的、可实现的、相关的、有时限的(SMART);
- 明确定义指标和成功标准对有效监控至关重要;
- 监控涉及观察智能体行动、环境状态和工具输出;
- 监控的反馈闭环让智能体能够适应、修订计划或升级问题;
- 在 Google ADK 中,目标通常通过智能体指令传达,监控通过状态管理和工具交互完成。
结语与个人思考
目标设定与监控,听起来是个很"工程化"的话题------不就是给智能体定 KPI 嘛。但我觉得,这个模式背后其实触及了一个更深的问题:怎么让智能体的行为是"有目的"的,而不是"随机游走"的?
人类的行为是高度目标导向的。我们做事情之前会想"我要达到什么结果",做的过程中会时不时检查"我做对了吗",做完了会复盘"我达到目标了吗"。这种能力看起来理所当然,但对 AI 来说其实是高阶能力。
目标设定与监控模式,本质上是把人类的这种"目标-执行-检查-调整"的行为模式,用工程化的方式搬进了智能体系统。它不需要模型本身有什么"主观能动性",而是通过结构化的流程设计,让智能体表现得像有目标、会反思、能调整。
但这个模式也有它的边界:
第一个边界是目标怎么定义。如果目标定义得不好------太模糊、太复杂、有歧义------智能体的监控和调整就失去了基准。现实中很多任务的目标本身就是模糊的(比如"写一篇好文章"),怎么把它转化为可衡量的指标,是个不小的挑战。
第二个边界是谁来当裁判。让智能体自己判断自己有没有达成目标,就像让学生自己改卷子------它可能真心觉得自己答对了,但其实错了。所以越重要的场景,越需要独立的评估者------可以是另一个智能体,可以是确定性的检查逻辑,也可以是人。
第三个边界是监控的粒度。监控太频繁,效率低、成本高;监控太稀疏,发现问题时已经跑偏太远了。怎么找到合适的检查频率,怎么在重要节点设置里程碑,也是需要根据具体任务权衡的。
最后,我觉得目标设定与监控最有价值的地方,不在于它让智能体"做得更好",而在于它让智能体的行为可预期、可管理。有了明确的目标和监控,你就知道智能体在干什么、干得怎么样、什么时候需要介入。这种可控性,对于把 AI 智能体真正用到生产环境中,可能比"智能"本身更重要。
下一步,建议阅读第 12 章 异常处理与恢复(Exception Handling and Recovery)------看看智能体出错时怎么办,怎么从失败中站起来。
本文基于开源书籍《Agentic Design Patterns》(https://github.com/xindoo/agentic-design-patterns ,在线阅读 https://adp.xindoo.xyz/ )整理,供学习交流,版权归原作者所有。