返回博客
需要分几步使用的 MCP 服务器:迭代模式
集成3 分钟阅读

需要分几步使用的 MCP 服务器:迭代模式

问题

MCP(Model Context Protocol)是一个开放标准,用来把外部工具服务器接入助手:一个 GitHub 账户、一个数据库、一个绘图工具。在 LIA 中,你在设置里添加自己的服务器,它们的工具就会加入 LIA 的工具。

这些工具很多都很简单:一次搜索,一个回答。另一些则要分几步使用。在数据库上,必须先列出所有表,才能查询正确的那一张。一个绘图服务器有时要求先读它的文档,才能创建任何东西。可是在 Pipeline 模式下,规划器会在第一次调用之前定好所有参数。面对这些服务器,它就只能去猜。

我想要的

每个服务器的表单都能选择调用方式:直接使用工具、仅在 Pipeline 模式使用专用代理,或在两种模式中都保留专用代理。直接工具适合独立调用;需要先阅读文档和结果才能决定下一步的服务更适合专用代理。行为概览会说明两种模式下的具体效果。

具体怎么进行

你问:「我的数据库里有多少订单在等待处理?」。这个专门的助手会阅读服务器提供的文档,列出所有表,找到订单表,查询它,然后读取结果。如果某次调用失败,比如因为缺了一个参数,它会读错误信息并修正调用。整个过程限定在一定的步数和时间之内。预算用完时,会有最后一轮把它已经得到的内容写出来。它的结果随后回到主计划中,LIA 再为你写出回答。

  • 两个模型。显示交互式小组件的服务器使用一个能力更强的模型,其他服务器使用一个更快、更便宜的模型。管理员在模型配置中设置这两个模型。
  • 在 ReAct 模式中,可以让 LIA 直接使用工具,也可以保留专用代理。带有交互式组件的服务器会保留代理。

防护措施

  • 你的确认规则。账户、服务器和工具的选择决定 LIA 是否询问。只要某个工具需要批准,专用代理便会在任务前征求一次批准,然后完成该任务。“从不询问”是你明确授予某个工具的长期批准;工具声明变化后该选择暂停。例行任务须在表单中预先批准原本会停下等待确认的服务器。
  • 每个工具都保留它的来源。你的个人服务器和管理员的服务器彼此分开。一个工具始终归属于提供它的服务器和账户,一个相似的名字也不能让一个服务器的工具冒充另一个服务器的工具。
  • 受控的连接。个人服务器通过 HTTPS 访问,LIA 在连接之前会检查目标地址。你的凭据会先加密再保存。
  • 看得见的费用。助手对模型的调用会计入你这个请求的费用,和其他部分一样计算。

何时启用,以及它的局限

独立调用适合直接使用工具;需要根据文档或前一步结果决定下一步的服务适合专用代理。是否在 ReAct 中保留代理由你选择,带交互式组件的服务器除外。代理会多次调用模型,费用更高,也不能保证成功;管理员可以在实例范围内关闭专用代理。

延伸阅读:用 MCP 把你自己的工具接入 LIA;Pipeline 还是 ReAct:LIA 处理你请求的两种方式。

#mcp#react-agent#iterative#sub-agent#tool-server#extensibility