我构建了一个小型健康食品MCP服务器,主要教训是智能体需要枯燥的工具表面
摘要
作者构建了一个健康食品MCP服务器,并发现智能体使用多个狭窄、受限的工具比使用一个灵活的工具表现更好,强调需要一个枯燥的工具表面来减少大语言模型的幻觉。
我最近构建了一个小型健康食品MCP服务器。表面上听起来很简单:向智能体暴露食谱内容。但有趣的部分不是食品数据。有趣的部分是意识到MCP服务器需要提供多少结构,智能体才能变得有用。如果你只给LLM食谱文本,它可以总结,但它也会开始编造结构、混淆类别、猜测营养字段,或者返回看起来正确但难以复用的内容。所以我尝试让工具表面变得枯燥且受限:
* 列出高级热量类别
* 列出饮食/餐次/宏量营养素分组
* 列出可用食谱文件及预览
* 通过slug获取完整的结构化食谱
* 通过关键词搜索食谱文档
目标不是让智能体“更聪明”。目标是减少它需要猜测的内容。我注意到以下几点:
1. 小型工具比一个大型的“万能”工具更容易让模型正确使用。
2. 稳定的slug比让模型从自由文本中记住名称更有用。
3. 服务器应该拥有内容模型。智能体应主要负责选择、获取、比较和解释。
4. 技能/提示有帮助,但当MCP工具已经围绕任务设计时,它们的表现会好得多。
这让我认为MCP更多是关于为智能体设计一个干净的交互表面,而不是向LLM暴露API。好奇其他人是如何思考的:当你构建MCP服务器时,你更喜欢许多狭窄的工具,还是更少但参数更灵活的大工具?
相似文章
我们为SaaS构建了一个MCP服务器(约150个工具)——现在Claude运行我们的项目管理。经验教训。
SaaS公司TRCR构建了一个MCP服务器,为AI代理提供约150个工具,并分享了与Claude内部试用的六个关键教训:代理暴露了API缺陷,工具描述如同产品文案,自包含上下文至关重要,OAuth 2.1虽痛苦但值得,将代理与账单数据结合威力强大,内部试用改变了产品路线图。
我将协调过程从客户端移到了MCP服务器,并将一个多智能体系统隐藏在*单一工具*后面。内部权衡。
作者分享了一种将协调过程从客户端转移到MCP服务器的技术,将多智能体系统隐藏在单一工具后面,并讨论了相关的权衡。
利用智能体编写高效的工具——借助智能体本身
Anthropic 分享了为 AI 智能体设计、评估和优化工具的工程最佳实践,特别介绍了如何利用模型上下文协议(MCP)和 Claude Code 来提升智能体的性能。
@alex_prompter: 我的智能体每次我给它们更多工具时,它们都变得更笨了。原因是机械性的。你连接的每个 MCP 服务器…
Ratel 是一个开源工具,通过使用 BM25 索引仅加载所需的工具(而不是所有可用工具),将输入令牌减少 79%,并提高了 AI 智能体的工具选择准确性。
我让智能体跑起来了,然后发现无聊的服务器杂事才是真正的问题
一位开发者反思将 AI 智能体工作流迁移到服务器的经历,发现 systemd、日志、幂等性和故障告警这些枯燥的基础设施问题比智能体本身更重要。