代理在可以选择的情况下,更倾向于使用结构化查询而非自然语言。
3 分•作者: snoren•5 个月前
Cala 团队在 LinkedIn 上分享了一个值得深思的发现。他们发布了一个 MCP 服务器,该服务器为其知识图谱提供了三种访问模式:自然语言查询、结构化查询语言和直接实体/关系遍历。
他们原本期望智能体默认使用自然语言。但实际上,大多数智能体却自行切换到了结构化查询和图遍历。无需提示,也无需引导。
显而易见的解释是“智能体更喜欢效率”。但我认为这并不完全正确。它们更喜欢的是确定性。
自然语言查询引入了两个解释层:智能体生成散文形式的查询,系统解释该散文,然后返回一个智能体必须解析的结果。在任何时候,智能体都无法验证查询是否被正确理解。而使用结构化查询,合同是明确的。智能体确切地知道它请求了什么,并且可以验证它得到的结果。
这并非对效率的突发偏好。这是工具使用链式思考在做它应该做的事情:选择智能体能够最可靠地确认它得到了正确答案的路径,然后再进行下一步。
如果这一发现成立,将产生以下几个影响:
* NL 优先的工具界面可能在为错误的用户进行优化。人类操作员想要 NL,而智能体并不想要。
* 仅暴露 NL 端点的 MCP 服务器正在迫使智能体通过一个它们如果可以选择就会避免的非确定性瓶颈。
* 针对智能体的工具设计可能应该默认采用结构化访问,并将 NL 作为备用方案,而不是相反。
查看原文
Cala's team shared a finding on LinkedIn that's worth sitting with. They shipped an MCP server with three access patterns for their knowledge graph: natural language queries, a structured query language, and direct entity/relationship traversal.<p>They expected agents to default to natural language. Instead, most agents switched to structured queries and graph traversal on their own. No prompting, no nudging.<p>The obvious explanation is "agents prefer efficiency." I don't think that's quite right. What they prefer is determinism.<p>A natural language query introduces two interpretation layers: the agent generates a query in prose, a system interprets that prose, then returns a result the agent has to parse. At no point can the agent verify the query was understood correctly. With a structured query, the contract is explicit. The agent knows exactly what it asked for and can verify what it got back.<p>This isn't an emergent preference for efficiency. It's tool-use chain-of-thought doing what it's supposed to do: picking the path where the agent can most reliably confirm it got the right answer before moving to the next step.<p>A few implications if this holds up:<p>- NL-first tool interfaces might be optimizing for the wrong user. The human operator wants NL. The agent doesn't.
- MCP servers that only expose NL endpoints are forcing agents through a non-deterministic bottleneck they'd avoid if given the choice.
- Tool design for agents should probably default to structured access with NL as a fallback, not the other way around.