用途:tool-tracer 是一个管理员/调试类技能。它在正常执行用户任务后,生成结构化的 JSON 运行摘要 tool_trace.json,记录本次运行中每个工具、动作、连接器、知识查询和子技能调用的输入、输出、错误码、重试与顺序,便于管理员排查线上交互,无需在测试面板中复现。
触发条件:仅当用户消息包含精确命令 /special-debug tool-trace 时激活,命令可位于任务之前或之后,例如 /special-debug tool-trace 查询订单 4471 并给客户发邮件。若没有该命令,即使出现“trace this”“log this run”等口语化说法也不适用。
两种捕获模式:默认脱敏模式,将疑似密钥、令牌、凭据或 PII/PHI 的值替换为带类型的占位符(如 redacted:token),便于安全分享;授权管理员可追加 --full(/special-debug tool-trace --full …)逐字记录所有值。技能本身无法强制访问控制,需由部署者限制 --full 的使用者。
使用方式:第一步照常执行用户请求,不因追踪而改变推理或工具使用;第二步在任务完成或失败后汇总本次运行的全部工具调用;第三步用文件写入工具写出 tool_trace.json,默认路径 /app/created/tool_trace.json,若不可用则保存到运行时的用户下载位置。
输出结构:包含 trace_metadata(任务描述、代理名称、UTC 时间戳、总调用数、模式、状态)、tool_calls 数组(步骤、工具名、目的、输入、输出摘要、原始输出、状态、错误信息)和 final_answer_summary。
规则与限制:只记录本次运行上下文中实际发生的内容,不得编造;保持调用顺序;默认脱敏,仅 --full 记录原文;失败调用也需记录并填 error_message;output_raw 超过约 2000 字符时标记为截断;保存 trace 文件的写入调用本身不计入 tool_calls 和总数;无法可靠恢复的字段填 null 或 unavailable。若任务无需外部工具调用,仍生成 total_tool_calls 为 0 的 trace 文件。其他技能被调用时以 tool_name: "skill:技能名" 记录。
适用场景:线上渠道交互的事后排查、管理员审计与问题定位。限制:需显式命令触发;--full 可能泄露密钥或 PHI,应仅限受信管理员使用,不建议在面向不可信终端用户的代理上开放。