dify-plugin-agent-mcp_sse
dify-plugin-agent-mcp_sse copied to clipboard
React MCP 探索策略的不可靠性
Please confirm before submission 在提交之前,请确认
- [x] I have searched for existing issues search for existing issues, including closed ones. 我已经搜索了现有问题搜索现有问题,包括已关闭的问题。"
Dify version Dify版本
官方网页版本
Plugin version 插件版本
0.2.1
Function Calling or ReAct
ReAct
HTTP with SSE or Streamable HTTP
HTTP with SSE
LLM Model LLM模型
Deepseek-V3,claude 4-sonnet
Problem description 问题描述
在MCP的使用策略当中,在React模式下应当包含有广度优先策略和深度优先策略。 根据目前实际使用情况,React模式下更多偏向无策略。 当尝试指定提示词广度优先策略时,该组件下并不能够穷尽寻求MCP服务。
广度优先策略:指的是在输入中提取有限实体要素的情况下,对MCP服务进行请求,获取基准信息以便于后续使用; 深度优先策略:根据输入的任务规范提取详尽实体与MCP交互。
假定一个MCP为:查询机场航班数据,基准输入为时间范围、机场ICAO,深度输入另含机型、航班号、机号、机号等组合策略。 广度:仅输入基准查询条件,覆盖更多数据源为主; 深度:组合丰富的策略策略。
当前情况,存在15个MCP(其中基准8个,深度7个): 在任意状态下,Function Call 策略会由模型输出强制覆盖所有mcp(包括当前掌握信息不满足入参条件的MCP),且极小概率执行第二轮、第三轮查询。 React策略 总在第五轮时结束(上下文长度为16.79K)
同样的提示词在 Cherry studio中被以线性流程完成完整查询。
综上,我提交的并非一个代码bug,而是一个策略bug。 解决方案:在React下追加广度优先配置和深度优先配置可选项。默认为深度优先,当输入参数不足时切换广度优先寻找合适入参。
另请参考:Claude-4-Sonnet是否需要更多适配?在多轮测试中表现不佳。