AgentDepthAgent 工程学习指南
输入概念或问题,检索正文和待编写目录。
第一次学习?从 L0 总览开始 →

工具调用与协议:把请求变成可控的动作

我的学习 →

正在读取学习记录…

一次工具调用怎样完成

L1让程序读懂模型返回的回答。接下来,用户可能会说:“帮我找到昨天记的退款规则,再给这篇笔记加一个‘退款’标签。”这需要程序读取笔记、查找内容和保存标签。L2学习怎样把这些操作提供给模型使用。

沿着这个笔记助手看一次工具调用:模型提出读取笔记 n1 的请求,程序检查编号和访问权限,调用读取函数,取得正文,再把结果交回模型。接着创建标签时,程序还要识别重复请求,避免同一次操作创建两个标签。每篇会为这条流程补一个部件。

工具调用就是把模型提出的动作交给程序执行。**MCP(Model Context Protocol,模型上下文协议)**约定应用怎样与提供工具和资料的服务交换消息。前半层先跑通函数和检查流程,后半层再把消息发送到另一个进程。

请求经过参数和权限检查,执行工具,校验结果后返回
沿同一次调用看输入、检查、执行和结果。

这像服务窗口办理业务:表单说明要做什么,证件确认是谁,业务系统执行,回执说明结果。学会每一项后,再用MCP协议把消息跨进程发送。

按这个顺序学习

文章要掌握的内容
工具调用函数如何成为可请求的动作
工具Schema输入和结果的字段约定
参数与结果校验逐层检查和错误定位
工具权限身份、操作范围与资源归属
并行调用独立请求与编号配对
幂等键重复请求与一次业务效果
超时与重试查询未知结果与补偿
MCP架构应用、客户端和服务端
MCP三种能力工具、资源和提示模板
MCP传输实际子进程消息交换
工具发现分页目录与变化比较
MCP认证授权可信身份与目标资源

先学前三篇,跑通“请求笔记→检查参数→返回正文”的链路。然后加入身份、并行与重试,观察请求变多、响应变慢时怎样保持结果对应。最后进入MCP,理解同一套工具怎样接入另一个进程。

将各篇串成一个小任务

可以给已有笔记工具添加标签:先定义字段,校验参数,检查笔记归属,用稳定操作键处理重复创建,再保存返回编号。目录由MCP连接提供时,先发现工具和Schema,再按应用策略选择。

检查项可观察的结果
读取自己的笔记返回正文和笔记编号
把编号改成数字返回参数错误,业务函数尚未执行
读取另一位用户的笔记归属检查拒绝,正文读取次数为0
连续提交同一创建请求得到同一标签编号,创建次数为1
响应丢失后查询回执找到已保存结果,恢复这次操作的状态
工具目录增加一页合并分页结果,定位新工具及其字段约定

可以从幂等篇的 tag_demo.py 开始串联:第一次创建标签,第二次以同一操作键取得已有结果。再对照权限篇,在创建前加上身份与归属检查。这样每加入一个部件,都有一个具体变化可以观察。

总结与下一层

本层串起了参数、权限、并发、幂等和协议。接下来 L3让多次工具调用构成有状态、有预算的任务循环。

完整知识目录 · 上一层L1

课后练习展开习题收起习题
  1. 运行幂等篇的 tag_demo.py,对照同一业务键的两次请求,说明为什么创建标签的计数只增加一次。
  2. 沿幂等篇给出的换键步骤再运行,观察第二次创建何时出现。
  3. 运行权限篇的固定跨用户请求,指出拒绝发生在正文读取之前还是之后。
图片查看器
100%

文章配图 · 按 Esc 关闭