SuperAPI AI 工具集

architect-troubleshoot-tool-errors

智能体与模型

查看项目

更新于 10-15 21:37

技能介绍

用途:诊断行为异常的工具。核心原则是先读真实错误,再匹配失败模式,不要凭记忆猜测配置。所有 API 调用使用 xi-api-key: $API_KEY,访问 https://api.elevenlabs.io。

首要检查项:webhook 或客户端工具出现 schema_mismatch 时,每个参数/属性对象必须且只能设置一个取值来源——非空 description(由 LLM 填写)、dynamic_variable、非空 constant_value,或 is_system_provided: true。零来源无效;{"type":"string","constant_value":""} 且无 description 会被拒绝,空字符串 constant_value 不算常量。两个及以上来源同样无效。该规则适用于 parameters、request_body_schema.properties、path_params_schema、query_params_schema 和 request_headers。若错误在属性上点名 type 或 constant_value,通常就是此原因。

避免重复犯错:不要盲猜工具配置 schema 或手写配置 JSON,先用 GET /v1/convai/tools/{tool_id} 读取实际已保存配置再改。运行时失败用 GET /v1/convai/conversations/{conversation_id} 找到失败的工具调用及其原始错误;保存失败则让用户提供准确错误文本。字段名、默认值和限制以当前读到的配置为准。

失败模式:A. 智能体声称使用工具却从未调用——依次检查工具是否真正挂载到智能体(GET /v1/convai/agents/$AGENT_ID?branch_id=$BRANCH_ID,确认 id 在 tool_ids 或对应节点的 additional_tool_ids 中);description 是否过于模糊,需明确写出何时使用,并用 PATCH /v1/convai/tools/{tool_id} 应用;建议先用模拟测试确定性复现。B. 校验/无法保存错误——读取工具配置,找到空或无效字段,用 GET 读全量配置后 PATCH 写回,并确认每个属性满足“恰好一个取值来源”。C. 无返回/异步行为——可能是 execution_mode 为 async 而本应等待,或客户端工具 expects_response 为 false;用 GET 确认当前值后 PATCH 修复。D. webhook 返回后端错误(4xx/5xx 或应用特定文本)——这是用户自己的端点失败,不是 ElevenLabs 配置问题,需尽早区分;从会话记录确认发送的 payload 与返回状态,再与用户核对端点 URL、方法、认证头及参数映射。

停止条件:若错误来自用户自有后端且需要工程支持,或已循环两次仍无进展,应总结确切错误与已排除项并转交人工,而不是继续猜测 schema。