从套壳MCP到研究决策系统:工具拆分与配置库的演化之路
这两年我接触到不少“名字很大、内核很薄”的架构一半以上的讨论到最后都会落到同一句抱怨这不就是一个套壳吗。但有意思的是有些套壳项目活着活着就长成了最初完全没计划过的形态。今天聊的这个MCP项目就是从这种状态里长出来的它在外层仍然是一个标准协议接入层的壳但里面已经装下一套偏研究决策的判断链路甚至开始反向影响我怎么拆解问题。如果你也在做类似的事情——接一个LLM接口就敢叫智能体、包一层搜索就叫决策系统、在MCP里塞两个工具就觉得自己在搭产品底座——那这篇文章可能比你看十篇架构选型还有用。我会尽量把一个典型“套壳MCP”是怎么一步步长成研究决策系统的完整逻辑拆给你看包括中间的判断依据、取舍逻辑以及那些只看代码永远学不到的经验。1. 为什么套壳的第一步往往是从“工具集合”开始的先回到最早的形态。MCP这套协议最大的价值是让模型和外部工具之间有一条标准化的通路。你不需要为每个数据源单独写一套函数调用逻辑模型也不用知道远端到底跑的是Python脚本、SQL查询还是HTTP接口。对大多数团队来说第一版通常就是把“能调的工具”先接进来查数据库的、抓网页的、读文件的、算指标的往server里一挂透传出去这就算能用。但这里有个很容易被忽略的细节MCP的工具定义里包含参数说明和描述信息这些信息不是给人看的是给模型做推理时看的。模型在读到一个工具列表的时候会根据你的description决定“当前这个问题该不该调用这个工具”。所以套壳的第一阶段真正的重点不是写多少工具而是怎么把工具的描述写得像一份“判断手册”。我第一版犯过的错误是把所有工具摊平数据库、接口、文件、搜索全部平铺在一层几个工具互相之间没有前置关系。结果是模型经常在不确定的时候乱调或者明明应该先引用一份资料再去查数它反而先去查了一个根本不存在的表。后来我才意识到MCP这个壳本来就不只是让你“把能力暴露出去”它天然要求你重新组织“模型看到的世界长什么样”。所以第一阶段的经验可以浓缩成三条工具数量不能多到让模型选择困难工具描述里必须写明“什么时候用、千万不能什么时候用”工具的输入参数最好能约束模型的自由发挥空间不要让模型自己发明字段名。这套思路做下来壳还是那个壳但模型内部的决策质量已经比裸调API高了不少套壳的价值第一次出现了。很多人会问这也算“研究决策系统”不算。当时的它说白了就是一个“智能工具箱”模型还是一个临时替身真正的决策依旧发生在人的脑子里。但有意思的是正是这个阶段积累的“工具如何被模型理解”的经验后来成了整个系统长成决策结构的底层土壤。2. 从“再导航”到“判别”决策原子能力被替换的真相第二阶段是量变到质变的关键。一个研究决策系统的内核其实不是某个神奇的算法而是几个很基础的动作拆解问题、搜集证据、筛选信息源、比对结论、判断置信度。这些动作放在人身上很自然但放在MCP这种协议壳里就变成了一个又一个工具函数。我印象最深的一次重构是把之前一个叫“搜索并返回网页内容”的工具拆成了两个一个负责“召回候选信息源”另一个负责“对给定信息源做结构化阅读并提取论点”。这个改变看起来只是把工具拆细了但它实际上改变了模型的决策路径。拆之前模型拿到一个问题第一反应是“去搜”然后从网页里抓一段看起来相关的内容拼进回答。这本质上叫作“再导航”模型只是在复述它能找到的东西而不是在判断哪些信息该被采信。拆之后模型必须先产出候选源列表再对每个源做阅读并且阅读工具会强制它输出“核心观点、支撑材料、可能的偏向、与其他来源的矛盾点”。这个时候工具不再只是一个数据通道它开始承担“判别”的职责。整个系统的性格一下子就变了。它不再像聊天机器人那样有问必答而是更像一个研究助理——先告诉我“这个问题可以拆成哪几个子问题”再逐个子问题搜索、阅读、对比最后汇总成一个带置信度标注的答案。模型的自由度反而被更严格地约束住了结果却比自由发挥稳定得多。我复盘时发现核心触发点不是某个高深的算法而是我把“检索”和“判断”这两件事从工具层面就切开了。模型调A工具的时候只负责“找”调B工具的时候才负责“判断”。如果你想把自己的套壳也往“决策系统”方向推这个拆分是性价比最高的一步。先别急着上多智能体、图谱、知识库直接把现有工具按“动作性质”重新分组效果立竿见影。3. 会“进化”的壳当前端只有复用层时系统是如何下沉的再往下走系统的形态开始溢出MCP本身了。当工具描述越来越细、工具与工具之间的调用越来越有顺序之后我发现有几类问题开始反复出现同样的拆解逻辑在多轮对话里反复写几个不同的查询任务共享同一套筛选标准不同子问题之间出现了明显的依赖关系。这些本来都是“人脑里的临时判断”但因为MCP工具需要显式定义它们慢慢被固化成了一组可复用的中间层。这个中间的复用层是系统从“套壳”走向“体系”的关键一步。我管它叫“判断缓存”虽然它不是传统意义上的缓存。这套决策模块出现之后MCP在系统里的角色就退回到了接入层。外部模型只负责做最上层的语义理解MCP负责把理解后的动作分发给底下各类子模块。套壳还是套壳吗从协议上看是但从系统结构上看它已经变成了一个“带策略壳的决策管道”。3.1 决策模块的抽象方法从自然语言规则到半结构化配置我最早做决策模块的时候采取的方案很笨——把研究步骤直接写成文档让系统每次从文档里读。后来发现模型读长文档容易“选择性失忆”。真正好用的方案是把每一个研究动作定义成结构化的配置文件里面包含触发条件、执行动作、判断依据、输出格式。你可以把它理解成“给模型写了一套工作SOP但每条SOP都能被单独调用和组合”。关键参数包括trigger什么情况下进入这个决策分支input_source从哪类信息源取数eval_rule用什么标准做判断output_schema强制规定输出结构防止模型自由发挥。做了抽象之后新研究问题进来只需要写新的配置不用再改模型提示词也不用再动MCP工具层。大量的“研究经验”开始沉淀进这个配置库模型反而变成了一个越来越薄的解释器。这套体系在决策稳定性上完胜单纯靠提示词的项目结构上也终于担得起“研究决策系统”这几个字。3.2 分层路由MCP在体系里“退居幕后”的时机判断系统长到这个阶段一次调用会经历入口模型语义识别 → 决策模块匹配 → 子工具调度 → 数据源回传 → 综合评分 → 输出结构化结论。MCP在这个链路里只承担“子工具调度数据源回传”两环。这是好事说明壳已经完成了它的历史任务。我判断“该让MCP退居幕后”的标志有三个工具数量超过15个且相互之间存在明显先后关系同一个工具开始出现在多个不同任务链中你开始需要记录“某次决策为什么这么走”的时候。满足任意两条就必须在MCP之上加自己的编排层否则壳会越撑越累。加了之后MCP还是那个MCP但决策系统开始拥有自己的“脊梁”。4. 判断力是怎么长出来的配置库、置信度评分和失败回流如果说前面说的都是结构上的变化那么第四阶段就是“判断力”本身开始变成系统资产。这个阶段的工作量最大也最容易被低估。4.1 配置库你的项目里最值钱的其实是一堆规则文件决策系统的核心资产不是模型权重也不是代码而是那几百条决策规则配置。它们记录了什么场景下该优先看什么指标、什么信号出现时应该提高置信度、哪些信息源互相矛盾时应该以谁为准。我举个例子。早期系统在分析某个技术方向时会把“支持者多”当作强信号后来发现不少早期技术反而是“核心支持者少但极度聚焦”才真正值得注意。于是配置库里多了一条规则当证据来源集中在少数高相关度的专业站点时置信度权重提高当证据大量来自泛流量平台时置信度降档。这种规则不是从论文里来的是从一次次失败回流里逼出来的。配置库的维护方式比较笨但有效每次项目结束后我会把系统在哪些环节判断失误记录下来转写成一条新的规则或修改旧规则的权重。半年下来规则库会从几十条涨到几百条。这个时候你再回头看那个MCP套壳会发现它聪明的原因根本不是模型变强了而是规则变厚了。4.2 置信度评分让系统敢说“我不确定”比让它硬给答案难多了大多数问答系统的问题不是答错而是永远以一种“自信满满”的语气输出。研究决策系统最需要的能力恰恰是表达不确定性。我在MCP工具层里加了一个评分函数要求任何结论输出都必须附带来源数量、来源一致性、时效衰减三个字段并合成一个0到1的置信度分数。这套机制刚上线的时候最直观的变化不是变准了而是系统开始懂得说“根据现有材料此结论的置信度只有0.42建议补充某类数据后再做判断”。这个能力反而让使用它的人更信任它。因为真实的研究过程本来就是“信息不全、判断留有余地”的过程一个永远言之凿凿的系统本质上是在用幻觉换效率。置信度评分的实现并不复杂核心是别把它做成事后附加字段而是让它从工具描述阶段就参与规划。模型在调用工具时就会看到“该工具的输出会被用于置信度计算”这会让它在选择数据源时下意识更关注来源质量。这是我在实际项目中慢慢体会到的联动效应。4.3 失败回流每次错误决策都是新规则的起点最后一个关键机制是失败回流。我每次做完一个分析项目都会把系统给出的最终结论和人工确定的结论做一次差值分析。不是简单对比“对不对”而是定位“在哪一步决策路径上产生了偏差”是工具没找到好源是配置库里的规则权重不对还是MCP的某个工具描述有歧义导致模型调用错了定位到原因后我会把它拆成两类一类是配置该更新的直接进配置库另一类是结构该调整的比如某个工具本身就设计得有问题那就回到工具层打补丁。这个闭环跑起来之后系统就不再是一个静态套壳它会像人一样随着踩坑变多而迭代判断方式。现在回看整个演化路径MCP在我这个项目里的角色确实从头到尾都是“壳”。但它是一个把判断过程显性化、可配置化、可回流的壳。套壳不是坏事坏的是壳里面始终是空的。当你开始往壳里填充决策规则、置信度机制、失败回流的时候它就已经不能被“套壳”两个字简单概括了。5. 复盘视角这个系统长成之后我看到了哪些代价前面讲的都是“长成”的过程但如果你以为这是一篇鼓吹套壳伟大的文章那就误会了。系统长到第四阶段我开始认真盘算它的代价。最大的一个感受是它确实变强了但也明显变重了。5.1 收益与代价的账得算清楚我把这个项目上最主要的几条得失列成了对比方便你判断自己的项目是否适合走同一条路维度得到的付出的决策质量结论稳定、置信度明确、可复盘比单纯调用模型慢链路环节多判断经验规则配置库越滚越厚不再依赖个人经验维护成本高每条规则都要人工校准系统扩展新增研究方向只需写配置不用动核心代码规则间的冲突需要定期梳理团队协作新成员可以看懂“系统为什么这么判断”入门门槛比普通套壳高不少灵活性模型层换掉也不影响决策逻辑MCP协议本身成了硬约束升级协议要连带测试这笔账算完之后我的个人建议是如果你只是做两三个场景的Demo没必要把配置库和置信度机制都搬进去但如果你要长期维护一个领域的分析能力前期多花些力气把“判断”沉淀成配置绝对不亏。5.2 三条取舍原则写给正在套壳路上的人如果你看完前面这些决定也要把自己手头的MCP套壳往决策系统方向推我把这三条原则留给你权当避坑参考。第一工具拆分的粒度永远跟着“判断动作”走不跟着数据源走。一个工具该不该拆开问自己一个问题就可以了模型在调用它时是在做同一个判断还是做了两个如果模型调用完它之后还需要再“想一想才能定”这个工具就是没有拆到位它把本该在系统里显式完成的判断留给了模型的隐性推理。第二配置规则宁可先窄后宽。我早期喜欢把规则写得很宏观比如“重视权威信息源”但模型在执行的时候根本不知道什么叫权威。后来改成“当信息源域名来自该领域三个核心站点时来源质量加一分”规则是笨了点但模型真的会执行。窄规则看起来蠢实际比宽规则有用十倍。第三系统每长出一层都要反问自己这一层是让判断更稳定还是只是让架构看起来更完整如果你答不上来八成又在为了架构而架构。我见过不少项目在MCP之上又套了一层消息总线和几个抽象类结果没有一条决策质量变好。架构是服务于判断的不是反过来。5.3 最后的一点体会我自己在这个项目里最大的收获不是“把套壳做成了系统”而是搞清楚了一件事任何研究决策能力的本质都是把隐性经验变成显性规则。MCP只是让这条显性化的路线顺了很多。它不提供神奇的智能它只提供一个能让你反复打磨判断结构的容器。真正的功力是你在一次次失败回流中慢慢沉淀下来的那些规则。那些东西可能才是这个系统长成之后最值钱的部分。