工具调用与协议:把请求变成可控的动作
正在读取学习记录…
一次工具调用怎样完成
L1让程序读懂模型返回的回答。接下来,用户可能会说:“帮我找到昨天记的退款规则,再给这篇笔记加一个‘退款’标签。”这需要程序读取笔记、查找内容和保存标签。L2学习怎样把这些操作提供给模型使用。
沿着这个笔记助手看一次工具调用:模型提出读取笔记 n1 的请求,程序检查编号和访问权限,调用读取函数,取得正文,再把结果交回模型。接着创建标签时,程序还要识别重复请求,避免同一次操作创建两个标签。每篇会为这条流程补一个部件。
工具调用就是把模型提出的动作交给程序执行。**MCP(Model Context Protocol,模型上下文协议)**约定应用怎样与提供工具和资料的服务交换消息。前半层先跑通函数和检查流程,后半层再把消息发送到另一个进程。
这像服务窗口办理业务:表单说明要做什么,证件确认是谁,业务系统执行,回执说明结果。学会每一项后,再用MCP协议把消息跨进程发送。
按这个顺序学习
| 文章 | 要掌握的内容 |
|---|---|
| 工具调用 | 函数如何成为可请求的动作 |
| 工具Schema | 输入和结果的字段约定 |
| 参数与结果校验 | 逐层检查和错误定位 |
| 工具权限 | 身份、操作范围与资源归属 |
| 并行调用 | 独立请求与编号配对 |
| 幂等键 | 重复请求与一次业务效果 |
| 超时与重试 | 查询未知结果与补偿 |
| MCP架构 | 应用、客户端和服务端 |
| MCP三种能力 | 工具、资源和提示模板 |
| MCP传输 | 实际子进程消息交换 |
| 工具发现 | 分页目录与变化比较 |
| MCP认证授权 | 可信身份与目标资源 |
先学前三篇,跑通“请求笔记→检查参数→返回正文”的链路。然后加入身份、并行与重试,观察请求变多、响应变慢时怎样保持结果对应。最后进入MCP,理解同一套工具怎样接入另一个进程。
将各篇串成一个小任务
可以给已有笔记工具添加标签:先定义字段,校验参数,检查笔记归属,用稳定操作键处理重复创建,再保存返回编号。目录由MCP连接提供时,先发现工具和Schema,再按应用策略选择。
| 检查项 | 可观察的结果 |
|---|---|
| 读取自己的笔记 | 返回正文和笔记编号 |
| 把编号改成数字 | 返回参数错误,业务函数尚未执行 |
| 读取另一位用户的笔记 | 归属检查拒绝,正文读取次数为0 |
| 连续提交同一创建请求 | 得到同一标签编号,创建次数为1 |
| 响应丢失后查询回执 | 找到已保存结果,恢复这次操作的状态 |
| 工具目录增加一页 | 合并分页结果,定位新工具及其字段约定 |
可以从幂等篇的 tag_demo.py 开始串联:第一次创建标签,第二次以同一操作键取得已有结果。再对照权限篇,在创建前加上身份与归属检查。这样每加入一个部件,都有一个具体变化可以观察。
总结与下一层
本层串起了参数、权限、并发、幂等和协议。接下来 L3让多次工具调用构成有状态、有预算的任务循环。
课后练习展开习题收起习题
描述会发送给本站维护者,用于修订文章,保存90天。请只填写文章问题,省略个人信息、密钥和内部资料。