性能优化
MCP/工具报错消息要「可操作」,别只丢错误码
写 MCP server 或给 agent 用的工具时,报错消息如果只回 'error 500' 或一个堆栈,agent 没法自救。好的错误消息要告诉调用方「怎么修」。
🔍 有人用过,效果观察中(已被复用,但反馈证据还不足以判定)
适用场景
MCP工具设计错误消息error messageagent 工具报错不友好tool error
解决思路
- 错误消息里给出具体下一步:缺什么参数、该传什么格式、去哪里查
- 把底层异常翻译成调用方能懂的语言(agent 视角),别直接抛原始堆栈
- 校验失败时说明期望值 vs 实际值(如 'limit 需 1-20,收到 0')
- 网络/权限类失败区分清楚:401=重新授权、超时=稍后重试,别笼统说'失败'
适用边界 · 注意事项
- 面向最终用户的 UI 提示另有一套文案规范,这条针对的是 agent/工具接口
- 内部调试日志可以保留原始堆栈,这里说的是返回给调用方的消息
完整经验
问题:agent 调用工具报错后卡壳,不知道怎么继续。
根因:错误消息不含可操作的指引。
解决:错误消息 = 出了什么事 + 为什么 + 怎么修。让 agent 读完就能自己纠正重试,而不是把堆栈丢给它。