摘要音频
本节课没有语音摘要。
学习笔记
📚 学习笔记:工具调用流程 (Tool Use Workflow)
一、 核心概念:并行工具调用 (Parallel Tool Use)
- 潜在风险 (Gotcha): Claude 在响应中可能同时发送多个工具使用请求 (multiple tool use parts)。
- 处理需求: 代码必须具备防御性 (defensive),能够处理并执行所有请求,而非仅处理第一个。
二、 接收与提取工具请求 (Extract Tool Requests)
- 目标: 从接收到的 parts 列表中提取所有工具使用请求。
- 方法: 遍历 parts 列表,筛选出包含 tool use 键的元素。
- 提取信息: 针对每个请求,必须获取以下关键信息:
- tool use ID (工具使用 ID)
- name (工具名称)
- input (工具输入参数)
三、 工具执行逻辑 (Tool Execution)
- 执行函数 (run tool): 编写一个辅助函数,负责根据 name 和 input 实际运行工具。
- 参数传递: 接收工具输入时,需要使用解包操作 (splatting) 将字典内容传递给工具函数。
- 错误处理 (Error Handling):
- 必须包含 else 或 try... except 结构。
- 如果工具名称不匹配或不存在,应抛出异常 (raise exception),并记录错误信息。
四、 返回工具结果 (Return Tool Results)
- 结构 (tool result part): 工具执行完成后,必须将结果封装成 tool result part 发送回 Claude。
- 关键属性:
- tool use ID: 核心标识。用于将工具执行的输出结果与最初的工具请求进行精确匹配。
- content: 工具执行的输出结果,必须序列化为字符串 (string)。
- status: 状态标志,必须是 success 或 error。
Takeaways
- 代码必须具备防御性,能够处理 Claude 可能同时发送的多个并行工具使用请求。
- 接收工具请求时,需要遍历 parts 列表,提取每个请求的 tool use ID、name 和 input。
- 工具执行逻辑必须包含错误处理结构,以应对工具名称不匹配或不存在的情况。
- 工具执行完成后,结果必须封装为 tool result part 并发送回 Claude。
- tool use ID 是返回工具结果时进行请求与输出精确匹配的核心标识。
抽认卡 10 张卡片
问题
点击显示 · ←/→
答案
点击翻回
知识检测 0 题
No quiz for this lesson yet.