摘要音频
本节课没有语音摘要。
学习笔记
🤖 工具调用与结果反馈 (Tool Use and Result Feedback)
一、工具执行阶段 (Tool Execution Phase)
- 获取工具参数: 从 Claude 返回的响应中,定位 tool use block。
- 提取输入: 访问该块内的 input 字段,它是一个包含工具所需参数的字典。
- 函数调用: 将提取的字典作为关键字参数传递给实际的工具函数(例如:function_name(**input_dictionary))。
二、工具结果反馈机制 (Tool Result Feedback Mechanism)
- 目的: 将工具函数执行的实际结果反馈给 Claude,以便其生成最终回复。
- 结构: 结果必须封装在一个 user message 中,该消息包含 tool result block。
- 关键属性:
- tool_use_id:核心匹配机制。它必须与 Claude 原始请求中的 tool use block 的 ID 完全一致。
- content:工具函数运行的实际输出(通常需要转换为字符串或 JSON 格式)。
- is_error (可选):如果工具执行失败,设置为 true。
三、完整对话流程 (Complete Conversation Workflow)
- 用户请求 → Claude: Claude 返回包含 tool use block 的 assistant message。
- 服务器执行: 服务器使用 tool use block 中的参数执行工具函数。
- 服务器反馈 → Claude: 发送一个包含完整对话历史的后续请求。
- 历史记录包括:原始用户消息 → Claude 的工具请求 → 新的 user message(包含 tool result block)。
- 最终响应: Claude 根据 tool result block 中的信息,生成最终的 assistant message(通常只包含 text block)。
四、重要注意事项 (Key Reminders)
- 历史记录完整性: 每次向 Claude 发送后续请求时,必须包含完整的对话历史。
- 工具模式保持: 即使在工具执行完成后,也必须在后续请求中包含原始的 工具 Schema 列表,以提醒 Claude 工具的存在。
- ID 的作用: tool_use_id 确保了当 Claude 连续调用多个工具时,工具结果能准确地匹配到对应的工具请求。
Takeaways
- 工具调用流程是:Claude返回工具请求 → 服务器执行 → 服务器将结果反馈给Claude。
- 工具结果必须封装在包含 tool result block 的 user message 中进行反馈。
- tool_use_id 是核心匹配机制,它必须与 Claude 原始请求中的 tool use block ID 完全一致。
- 每次向 Claude 发送后续请求时,必须包含完整的对话历史和原始的工具 Schema 列表。
抽认卡 8 张卡片
问题
点击显示 · ←/→
答案
点击翻回
知识检测 0 题
No quiz for this lesson yet.