提示词教程

Agent化提示词教程:把复杂任务拆给AI分步执行

发布时间:2026年08月11日 11:00:00

讲解如何为AI Agent设计提示词:任务分解、工具调用约束、中间状态管理与自我校验。覆盖ReAct式提示、子任务编排、错误回滚等实战技巧,帮助读者从「单次问答」迈向「多步自主执行」。


学习目标

完成本教程后,你将能够:

  • 理解Agent提示词与单次提示词的区别:从「一问一答」到「目标驱动的多步执行」
  • 设计任务分解提示词:把模糊目标拆成可验证的子步骤
  • 约束工具调用:防止模型乱用工具或陷入死循环
  • 加入自我校验与回滚:提升Agent的可靠性
  • 评估Agent提示词的成败:用可观测的中间产物调试

一、Agent提示词的核心要素

单次提示词只给「指令」,Agent提示词还要给「执行纪律」:

【目标】
{用户最终想要的结果}

【可用工具】
- search:联网检索
- code:执行Python代码
- file:读写本地文件
(明确列出,未列出的禁止调用)

【执行流程】
1. 将目标拆为≤5个子任务,逐个完成
2. 每完成一个子任务,输出【进度】小结
3. 遇到工具失败,重试一次;仍失败则换路径并说明
4. 全部完成后输出【最终交付】

【约束】
- 不跳过子任务
- 不编造工具返回结果
- 每步说明「为什么这么做」

二、ReAct式提示模板

ReAct(推理+行动)让模型交替「思考」与「行动」:

你是一个研究助手,使用「思考-行动-观察」循环完成任务。

格式严格要求:
思考:{下一步计划与理由}
行动:{工具名(参数)}
观察:{工具返回}
(重复直到完成)
最终答案:{结论}

任务:{用户目标}
工具:{列表}
停止条件:{何时算完成}

要点:强制模型在「行动」前先「思考」,可显著减少盲目调用。

三、子任务编排技巧

技巧1:验收标准前置

每个子任务都要有可判断的完成标准,避免「做了但没做对」。

子任务3:清洗数据
完成标准:输出CSV含列 [日期, 地区, 销量],无空行,行数=原始行数

技巧2:状态显式化

要求Agent维护一个「工作记忆」字段,便于你中途介入:

每步结尾更新:
【状态】已完成:1,2 | 进行中:3 | 待办:4,5
【阻塞】无 / {具体阻塞}

技巧3:错误回滚

若某子任务结果明显错误:
1. 标注错误原因
2. 回到上一个稳定检查点重做
3. 最多回滚2次,仍失败则向用户求助并附已得产物

四、常见误区

❌ 错误做法

  • 给一个宏大的开放目标就指望Agent全自动跑完(如「帮我做份行业报告」却不给范围)
  • 不限制工具,模型可能调用未授权接口
  • 没有停止条件,Agent无限循环直至超时
  • 忽略中间输出,无法定位哪一步出错

✅ 正确做法

  • 目标拆到「单步可验证」
  • 工具白名单 + 参数约束
  • 显式进度与回滚机制
  • 先小范围试跑,再放大任务

五、调试方法

当Agent提示词效果差时,按以下顺序排查:

  1. 看思考链:模型是否在错误步骤反复横跳?
  2. 看工具调用:是否调用了禁止工具、参数是否错误?
  3. 看验收标准:子任务完成标准是否模糊导致误判?
  4. 缩小范围:先用单个子任务验证提示词,再组合

实践作业

设计一个「竞品分析Agent」提示词:

  • 目标:对比3款产品的定价与功能
  • 工具:search、file
  • 要求输出:对比表 + 来源链接 + 进度日志
  • 加入回滚与停止条件,并在小样本中测试

来源:综合ReAct、Agent提示工程与主流Agent框架(如LangChain、AutoGPT类)实践