前两篇拆的成品都有一个共同点:关着门。能看、能配、能观察,但看不到里面——它为什么这一步选这个工具、为什么那里停下来问你,大多只能推测。

开源这一支正好反过来:门是开的。代码摊在桌上,逻辑任你翻;翻完不满意,还能自己动手改。这一篇挑两个代表当标本:一个走极简路线(Pi),一个把插件主义推到极致(DeepSeek Harness)。路线不同,但拆开的动作一样——先看骨架,再看哲学,最后看你自己能接上哪只手。

为什么要拆开源

读开源 Agent,至少有三重价值。

一是看得见。真实产品的“怎么做”,比任何教程都具体:循环怎么写、工具怎么注册、权限拦在哪一层、上下文满了怎么收。这些问题在闭源产品里往往只能猜,在开源项目里可以直接读。

二是改得动。想换模型、想加私有工具、想把权限管得更死——改就是了。开源把“产品”降级成“素材”,它的上限由用的人决定。

三是学得快。这个领域的方法论更新极快,夸张点说,读一个做得好的开源 Agent,信息密度比读十篇介绍文章还高。它不是论文,是能跑的说法。

拆开来,不过几块

共性骨架:四块积木

不管哪一家开源 Agent,拆到最后,骨架都是这四块:

四块里,模型是唯一可以随时换掉的一块——这正是开源 Agent 的题眼:引擎插槽标准化,想换谁换谁。

各家真正的差别,不在有没有这四块,而在后两块里塞了多少东西:记忆做得深不深、循环能中断到多细、工具允许长到多长。骨架都长一个样,肉则长得千奇百怪。

两种哲学:最小内核与一切皆插件

骨架相同,装配理念可以完全相反。看两个样本。

Pi 的取向是把内核压到最小:默认只带几件最基本的工具(读、写、改、跑命令),其余能力全交给“扩展”——写一个扩展,就能注册新工具、新命令、新的行为钩子;再往上还有技能、提示词模板这类更轻的形式。它的取舍很直白:宁可你嫌它素,也不给你一堆用不上的默认功能。

DeepSeek Harness 几乎反着来:一切皆插件。工具、运行模式、能力模块,全被做成插件,内核本身更像一个插件容器——装什么、减什么,全看你怎么组合。

内核小,层层展开

两条路没有绝对的高下,只有代价的交换:

对普通用户,这个区别会翻译成一句很实际的话:你更愿意“开箱就用”,还是愿意花一个下午,把它拼成只属于你的形状?

与闭源产品的差异

把开源和闭源摆在一起,差异不在“谁更聪明”,而在几条很具体的边界上:

一句话:闭源买的是省心,开源换的是自由。自由是真的自由,坑也是真的坑。

普通人怎么改装

“改装”两个字听着唬人,实际从低到高是四级台阶,每一级只比上一级多花一点力气:

  1. 换模型。最省事的一步:把它接到你顺手或性价比更高的模型上。很多人的第一次改装体验,就发生在这里
  2. 写说明书。项目约定、你的偏好、常用流程,写进配置文件或技能文件。不用写代码,效果立竿见影——这是给 Agent 立规矩的一步
  3. 加一个工具。这是从“用”跨到“造”的一步:写一小段函数,配一段描述(什么情况该用、参数什么含义),注册进工具表。门槛比你想的低——多数时候,一个工具就是一个函数加一段说明
  4. 组合成流程。把固定套路写成模板或命令,让“每次都要交代一遍的事”缩成一句话

四级台阶的共同点:每一步都能立刻验证,不用等大改造。开源 Agent 真正的友好,是它允许你在任何一级停下——停在一级,它是可换引擎的成品;停到三级,它已经开始长得像你自己的东西。

别神化开源

夸完要泼冷水:开源的优势,全都带着对应的代价。

一句老话在这里很贴切:自由不是免费的。开源把控制权还给你,也把责任一并还了回来。

系列这一段到站

拆解三篇,到这里收束。回头看,几家外壳里拆出来的结论惊人地一致:

闭源与开源的差别,更多是“谁来为这些结论落地”:厂商替你落地,或者你自己动手。结构是共享的,分寸是各自的。

接下来的路,自己走

骨架、循环、工具、权限、上下文——配方已经摊开在你面前。往后不再有“黑盒”两个字可以当借口:它可以不完美,但你不该再说不清它哪里不完美。