MCP 工具别返回长文
Street_Inevitable_77 · reddit · 2026-07-14
作者分享了自己做 MCP server 的一个关键改动:**让工具只返回结构化数据,不再返回“好看的人类摘要”**。他原本以为工具直接写答案会更方便,但实际效果更差。 主要收获: - **一致性更高**:工具不写句子后,模型能根据用户问题自由组织表达,而不是永远沿用工具作者的措辞。 - **可组合性更强**:返回数字、字段、状态码更适合后续步骤;一旦返回长段文本,模型还得先把英语再“读回”结构化信息。 - **调试更简单**:结构化输出要么符合 schema,要么不符合;而自然语言看起来没问题,不代表模型不会误读。 - **成本更低**:用 prose 传递数字最浪费 token。 作者的原则是:**工具只返回它算出来的结果,怎么讲给用户听交给模型或客户端**。唯一真正棘手的是错误信息:纯错误码太冷,纯自然语言又会把 prose 引回工具层,所以他目前倾向于“结构化错误 + 机器可读原因”,再让模型负责叙述。