Claude With The Anthropic Api
← 所有课程
课程 36Claude With The Anthropic Api

Sending tool results

摘要音频

本节课没有语音摘要。

学习笔记

🤖 工具调用与结果反馈 (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 张卡片
问题
点击显示 · ←/→
答案
点击翻回
导出到 Anki (.tsv) ↓
知识检测 0 题

No quiz for this lesson yet.