Agent 学习笔记 23:DeepSeek Harness:一切皆插件的开源 Agent 底座

Agent 底座很容易走向“大而全”:模型、工具、记忆、渠道和界面全部互相依赖。DeepSeek Harness 的插件化思路提醒我,扩展能力的关键不是不断改核心,而是让核心保持小,让变化通过清晰协议接入。

“一切皆插件”的前提是协议稳定

模型 Provider、工具、记忆后端、事件处理器和界面都可以插件化,但每类插件必须有明确生命周期、输入输出、错误语义和能力声明。只有目录很多而没有稳定接口,并不是真正的插件架构。

Core Runtime -> Plugin Registry -> Capability Match -> Isolated Invocation -> Event/Trace

注册表比硬编码更适合扩展

插件注册表记录名称、版本、权限、依赖与健康状态。Agent 根据能力选择候选,运行时再做配置和权限校验。这样新增实现不必修改核心路由,也方便按环境禁用某个 Provider。

事件与依赖要避免失控

插件间直接互调会形成隐蔽耦合。可以通过事件总线传递标准事件,并限制同步调用深度。依赖冲突、初始化失败和插件超时都要被核心捕获,不能让一个扩展拖垮整个 Runtime。

什么时候不该插件化

稳定、只有一种实现、对性能敏感的核心路径不必为了形式抽象。插件边界应放在变化频繁、需要第三方扩展或需要隔离的地方。每个扩展点都会增加测试和兼容成本。

这章给我的启发

插件化不是把代码拆成很多包,而是把变化变成可声明、可发现、可隔离的能力。核心越克制,Agent 系统越容易随着模型和工具生态变化而演进。

posted @ 2026-09-01 14:32  Hazy_star  阅读(19)  评论(0)    收藏  举报