Skip to content

06. Agent 与工具调用 ​

1. Agent 是什么 ​

Agent 是一个由模型驱动、能读取状态并调用工具的循环:观察 → 判断 → 调用 → 获取结果 → 继续或结束。它不是“更聪明的聊天框”,而是一种带权限和失败路径的工作流。

2. 工具契约 ​

每个工具都应声明名称、参数 schema、权限、超时、幂等性、错误格式和审计字段。服务端重新校验参数,不信任模型生成的 JSON。读工具与写工具分离,高风险写操作需要人工确认。

3. 确定性优先 ​

固定步骤、有限分支的任务用普通工作流;只有需要动态选择工具、澄清或多步检索时才引入 Agent。设置最大步数、总耗时、token 预算和循环检测。工具失败要让模型知道失败原因,不能伪造成功结果。

4. 记忆与上下文 ​

短期记忆保存当前任务;长期记忆必须有来源、权限、更新时间和删除策略。把所有历史对话塞入 prompt 会增加成本和隐私风险,应该摘要、检索和分层保存。

5. 安全 ​

提示注入可能来自用户,也可能来自网页、PDF 和工具结果。外部内容只能作为数据,不能升级为系统指令。工具 URL、文件路径、SQL、命令和权限都要白名单和服务端校验。

学习任务 ​

  • 写一个只读天气或知识库 Agent,最大步数设为 3。
  • 给写入工具加入人工确认和幂等 key。
  • 构造一条来自检索文档的提示注入,验证系统指令不被覆盖。

参考:OpenAI Agents SDK、LangGraph、MCP。

评论

正在加载评论…