前两篇拆的成品都有一个共同点:关着门。能看、能配、能观察,但看不到里面——它为什么这一步选这个工具、为什么那里停下来问你,大多只能推测。
开源这一支正好反过来:门是开的。代码摊在桌上,逻辑任你翻;翻完不满意,还能自己动手改。这一篇挑两个代表当标本:一个走极简路线(Pi),一个把插件主义推到极致(DeepSeek Harness)。路线不同,但拆开的动作一样——先看骨架,再看哲学,最后看你自己能接上哪只手。
为什么要拆开源
读开源 Agent,至少有三重价值。
一是看得见。真实产品的“怎么做”,比任何教程都具体:循环怎么写、工具怎么注册、权限拦在哪一层、上下文满了怎么收。这些问题在闭源产品里往往只能猜,在开源项目里可以直接读。
二是改得动。想换模型、想加私有工具、想把权限管得更死——改就是了。开源把“产品”降级成“素材”,它的上限由用的人决定。
三是学得快。这个领域的方法论更新极快,夸张点说,读一个做得好的开源 Agent,信息密度比读十篇介绍文章还高。它不是论文,是能跑的说法。

共性骨架:四块积木
不管哪一家开源 Agent,拆到最后,骨架都是这四块:
- 模型:负责“想”的引擎。读什么、改什么、下一步做什么,全由它提议
- 工具注册表:负责“能做”的清单。每个工具是一小段代码加一段说明,注册进表里,模型才知道世界上有哪些动作可选
- 循环:负责“流程”的调度。把模型的提议翻译成真实动作,把结果喂回去,并决定什么时候停
- 记忆:负责“记性”的底子。会话终究会超出上下文窗口,所以对话要存下来、压成摘要、需要时再调回来
四块里,模型是唯一可以随时换掉的一块——这正是开源 Agent 的题眼:引擎插槽标准化,想换谁换谁。
各家真正的差别,不在有没有这四块,而在后两块里塞了多少东西:记忆做得深不深、循环能中断到多细、工具允许长到多长。骨架都长一个样,肉则长得千奇百怪。
两种哲学:最小内核与一切皆插件
骨架相同,装配理念可以完全相反。看两个样本。
Pi 的取向是把内核压到最小:默认只带几件最基本的工具(读、写、改、跑命令),其余能力全交给“扩展”——写一个扩展,就能注册新工具、新命令、新的行为钩子;再往上还有技能、提示词模板这类更轻的形式。它的取舍很直白:宁可你嫌它素,也不给你一堆用不上的默认功能。
DeepSeek Harness 几乎反着来:一切皆插件。工具、运行模式、能力模块,全被做成插件,内核本身更像一个插件容器——装什么、减什么,全看你怎么组合。

两条路没有绝对的高下,只有代价的交换:
- 最小内核:装起来就是轻的,学得快,但想要什么功能都得自己装、自己配
- 插件主义:能力随手可插、组合自由,但上手第一件事可能是读一点文档,想清楚“我到底要哪几件”
对普通用户,这个区别会翻译成一句很实际的话:你更愿意“开箱就用”,还是愿意花一个下午,把它拼成只属于你的形状?
与闭源产品的差异
把开源和闭源摆在一起,差异不在“谁更聪明”,而在几条很具体的边界上:
- 模型:开源通常自带模型插槽,想接哪家接哪家,钥匙是你自己的;闭源产品往往和自家模型绑得更深,省心,但不一定自由
- 权限:这是最要留神的一条。不少开源 Agent 默认没有内建的权限系统——跑起来就是你启动它时的用户权限。护栏不是没有,但通常要你自己加。闭源产品在这件事上默认收得更紧,因为它要照顾不会配置权限的大多数人
- 打磨:报错写得清不清楚、文档全不全、升级会不会踢你一脚——闭源在这些细节上的平均水准更高,那是专门团队天天磨出来的
- 节奏:闭源跟着厂商排期走,改动统一但不由你;开源跟着社区走,快的很快,凉的也可能真的凉
一句话:闭源买的是省心,开源换的是自由。自由是真的自由,坑也是真的坑。
普通人怎么改装
“改装”两个字听着唬人,实际从低到高是四级台阶,每一级只比上一级多花一点力气:
- 换模型。最省事的一步:把它接到你顺手或性价比更高的模型上。很多人的第一次改装体验,就发生在这里
- 写说明书。项目约定、你的偏好、常用流程,写进配置文件或技能文件。不用写代码,效果立竿见影——这是给 Agent 立规矩的一步
- 加一个工具。这是从“用”跨到“造”的一步:写一小段函数,配一段描述(什么情况该用、参数什么含义),注册进工具表。门槛比你想的低——多数时候,一个工具就是一个函数加一段说明
- 组合成流程。把固定套路写成模板或命令,让“每次都要交代一遍的事”缩成一句话
四级台阶的共同点:每一步都能立刻验证,不用等大改造。开源 Agent 真正的友好,是它允许你在任何一级停下——停在一级,它是可换引擎的成品;停到三级,它已经开始长得像你自己的东西。
别神化开源
夸完要泼冷水:开源的优势,全都带着对应的代价。
- 默认权限松:这是双刃剑。开箱即用的便利背后,是要自己为安全负责
- 配置自理:装环境、配钥匙、调参数都是自己的事。出了问题,“官方支持”四个字在这里不存在——你能靠的只有文档、社区和源码
- 质量参差:同一条街上,有维护得像样的项目,也有一年没动的仓库。挑工具的眼光,在这里也是能力
- 各自为政:每个项目有自己的扩展格式,换一个项目就得重新摸一遍脾气。标准正在出现,但离“插上就用”还远
一句老话在这里很贴切:自由不是免费的。开源把控制权还给你,也把责任一并还了回来。
系列这一段到站
拆解三篇,到这里收束。回头看,几家外壳里拆出来的结论惊人地一致:
- 工具要小而准,名字要直白,说明要写清楚
- 循环要稳,状态要可见,错误信息要能让模型自救
- 权限是设计出来的,不是祈祷出来的
- 上下文要按需、要压缩、要能把侦察外包出去
闭源与开源的差别,更多是“谁来为这些结论落地”:厂商替你落地,或者你自己动手。结构是共享的,分寸是各自的。

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