i陆三金 25-08-05 22:25
微博认证:AI博主

Anthropic 团队 “Prompting for Agents” 演讲视频

由 Anthropic 应用 AI 团队的 Hannah Moran 和 Jeremy Hadfield 主讲,深入探讨了如何为 AI Agent 设计和优化提示词。

第一部分:什么是 Agent 以及何时使用它们? (主讲人:Hannah Moran)

1. 回顾 Prompt 工程基础

- Prompt 工程被定义为 “用自然语言编程”,是一种 “概念工程” (Conceptual Engineering),核心在于定义模型的预期行为和任务成功的标准。

- 传统的 Prompt 通常结构严谨,包含角色定义、任务指令、示例等部分。但对于 Agent,这种固定的结构可能不再适用。

2. 定义 Agent

Anthropic 将 Agent 定义为 “在循环中使用工具的模型 (models using tools in a loop)”。

这意味着 Agent 在一个循环中持续工作:
- 环境: Agent 工作和交互的空间。
- 工具: Agent 可以调用的函数或 API,如数据库查询、API 调用、发送邮件等。
- 系统提示: 给出 Agent 的总体目标、约束和行动指南。
- 循环过程: Agent 根据系统提示和当前环境状态,决定执行一个动作(通常是调用工具),然后从环境中获得反馈,更新状态,并决定下一步行动,直到完成任务。

核心建议: 保持系统提示词的简洁,让模型有足够的自主性去完成工作。

3. 何时应该构建 Agent?

Agent 并非万能钥匙,它最适合复杂且有价值的任务。

复杂度: 任务是否足够复杂,以至于你无法预先定义一个固定的步骤流程?
否 (流程清晰): 使用工作流 (Workflows)。
是 (路径不确定): 使用 Agent。

价值: 任务的价值是否足够高?
低价值 (如 <$0.1): 使用工作流。
高价值 (如 >$1): 值得投入资源构建 Agent。

可行性: 任务的所有子步骤是否都有对应的工具可以完成?
否: 缩小任务范围。
是: 可以使用 Agent。

错误成本: 任务出错的成本有多高?
高成本: 采用只读模式,或加入“人在环”(human-in-the-loop)进行监督。
低成本: 可以让 Agent 自主运行。

4. Agent 的优秀用例

- 编码: 从设计文档直接生成代码并提交 Pull Request (PR)。
- 搜索: 执行多步骤、模糊的搜索任务,节省大量研究时间。
- 计算机使用 : 自动导航图形界面,完成点击、输入等操作。
- 数据分析: 分析内容未知的复杂数据集,生成洞察和可视化。

第二部分:为 Agent 设计 Prompt 的关键原则和评估方法 (主讲人:Jeremy Hadfield)

1. 为 Agent 设计 Prompt 的关键原则

1.1. 像你的 Agent 一样思考: 这是最重要的原则。设身处地地想,如果自己是 Agent,仅凭现有的工具和信息,能否理解并完成任务?

1.2. 给予 Agent 合理的启发式原则: 不要过度约束,而是提供高级指导。例如,“优先考虑最新的信息”、“避免执行不可逆的操作”、“对于简单问题,工具调用预算是 5 次”。这就像指导一个聪明但缺乏经验的实习生。

1.3. 工具选择是关键: 确保工具名称和描述清晰、准确、无歧义,避免相似的工具让模型混淆。

1.4. 引导思考过程: 模型本身知道如何进行“思考”(如思维链),但你需要引导它 思考什么。例如,在 Prompt 中明确要求:“首先,规划你的研究步骤”、“在调用工具后,反思结果的质量”。

1.5. 注意意外的副作用: Agent 的行为更难预测,对 Prompt 的微小改动可能会产生意想不到的连锁反应,要做好准备。

1.6. 帮助 Agent 管理上下文窗口: 对于长任务,Agent 可能会耗尽上下文。可以采用以下策略:
- 压缩 (Compaction): 让 Agent 自行总结历史对话。
- 外部记忆: 使用工具将信息写入外部文件或数据库。
- 子 Agent : 将复杂任务分解,交给专门的子 Agent 处理。

1.7. 让 Claude 做自己: 不要过度限制。从简单的 Prompt 开始,观察其表现,只在发现特定失败模式时才增加约束和指导。

2. Agent 系统的评估

- 评估对于迭代至关重要,但对 Agent 来说更具挑战性。

- 起步时样本量要小: 如果 Prompt 的改动效果显著,只需少量测试用例就能验证。

- 使用真实任务: 用用户可能遇到的真实场景来测试。

- LLM 作为裁判 (LLM-as-judge) 非常强大: 给另一个 LLM 一个清晰的评分标准,让它来判断 Agent 的输出质量。这比简单的字符串匹配更可靠。

- 人类评估无可替代: 最终,仍需要真人测试来发现系统中的“毛刺”和不符合直觉的问题。

3. Agent 评估的示例类型

- 答案准确性: LLM 判断最终答案的正确性。

- 工具使用准确性: 评估 Agent 是否选择了正确的工具和参数。

- τ-bench: 评估 Agent 是否达到了正确的最终状态(例如,数据库中的航班信息是否真的被成功修改了)。

总结: 为 Agent 设计 Prompt 是一项迭代性、系统性的工作,它更侧重于概念定义、过程引导和环境设计,而不是编写僵化的指令。通过像 Agent 一样思考、提供高级原则、并建立有效的评估体系,可以构建出强大而可靠的 Agent 系统。 http://t.cn/A6F3Uhys

发布于 北京