Pi Coding Agent 07:选型横评——Pi vs Claude Code vs DeepSeek Harness 架构全景对比

Pi Coding Agent 07:选型横评——Pi vs Claude Code vs DeepSeek Harness 架构全景对比
Asaakii在探讨 Coding Agent 的工程化选型时,很多团队经常陷入一种误区:找几个开源框架,跑一次官方自带的“用 Python 写一个贪吃蛇” Demo,看谁写得快就草率得出“框架 A 完胜框架 B”的结论。
然而,在面对长达数周的复杂长程任务、多团队协同规范、金融级安全审计以及多端内嵌诉求时,表面的 Demo 往往会掩盖深层的架构瓶颈。
技术选型的本质,绝不是比较功能清单的长短,而是选择你的系统内部:模型适配、会话持久化、上下文工作集管理、安全防护网与扩展代码,分别由谁来买单、由谁来承担责任。
本篇我们将把业内最受关注的三大开源/工业级 Harness——Pi Coding Agent、Claude Code 与 DeepSeek Harness(DSH) 放在同一严苛基准线上,展开全方位的横向架构拆解。
一、三种截然不同的产品边界与架构世界观
这三个系统代表了三种完全不同的工程解题哲学:
flowchart TD
subgraph Pi ["Pi (基元与自定义优先)"]
P_Core["极简微内核 (pi-agent-core / pi-ai)"]
P_Phil["特点:把工作流偏好完全移出核心<br/>多模型中立 / 原生 SDK&RPC / 树形分支<br/>适合团队深度二次开发与内嵌集成"]
end
subgraph ClaudeCode ["Claude Code (产品化工作流优先)"]
C_Core["开箱即用的工业级产品外壳"]
C_Phil["特点:深度围绕 Claude 模型打磨<br/>内置 OS 级 bash sandbox / 细粒度权限模式<br/>适合追求极致开箱即用体验的工程团队"]
end
subgraph DSH ["DeepSeek Harness (可组合运行时优先)"]
D_Core["Cordis 无特权微内核 (一切皆插件)"]
D_Phil["特点:控制流骨架与 Loop 本身均可替换<br/>五阶段单调 Guard / 追加写绝对事实源<br/>适合平台型基座与前沿自进化架构探索"]
end
- Pi(极简微内核优先):
- 官方将自己定位为 Minimal Agent Harness。它提供了极度干净的多模型统一适配(
pi-ai)、树形会话追溯、RPC 与 SDK 接口。它刻意不把复杂的权限弹窗、特定工作流和 MCP 写死在核心里,鼓励开发者按需组装。
- 官方将自己定位为 Minimal Agent Harness。它提供了极度干净的多模型统一适配(
- Claude Code(端到端产品化工作流优先):
- 围绕 Anthropic Claude 大模型深度打造的商业级研发利器。它提供了极致开箱即用的开发体验,内置操作系统级沙箱、自动化 Checkpoint、完善的 Hook 与 Subagent 机制。代价是深度绑定 Claude 生态,核心控制流不对外开放修改。
- DeepSeek Harness(高度可组合的无特权微内核):
- 基于 Cordis 微内核架构构建,在设计上“不存在任何不可替换的特权内核”。模型适配器、工具管线、事实源、甚至整个 Agent Loop 调度算法都是插件。适合构建高复杂度的企业级 Agent 操作系统或进行多 Agent 博弈调度实验。
二、九维度硬核决策矩阵
基于官方稳定版本(Pi commit a470b121、Claude Code 官方规范、DSH v0.1.0-rc.8),三者的关键架构对比如下:
| 架构对比维度 | Pi Coding Agent | Claude Code | DeepSeek Harness (DSH) |
|---|---|---|---|
| 主要交互入口 | 终端 TUI、Print/JSON、RPC、Node.js SDK | 终端 CLI、IDE 插件、桌面端产品 | Profile 拼装的 Web、Headless、TUI |
| 底层模型策略 | pi-ai 原生管理多模型,支持任意中立切换 |
深度围绕 Claude 模型特性做极限工程调优 | ctx.llm 统一接缝,支持任意模型适配器 |
| 会话状态存储 | 基于父指针的 JSONL 树形分支,原生支持 /tree、/fork |
本地 Session、Checkpoint、差异还原 | 不可变追加写事件事实源(Session Log) |
| 扩展定制机制 | Skill(知识)、Extension(代码)、Package(分发) | Skill、Hook、MCP、Subagent | Cordis 插件、能力接缝(Seams)、Profile |
| 项目资源防护 | Project Trust 机制拦截项目级代码执行 |
Settings 作用域、权限规则拦截 | 外部策略平面与 Profile 权限组合 |
| 工具安全审批 | 由 Extension 拦截 tool_call(需自研或装包) |
原生内置 allow / ask / deny 细粒度规则 |
单调 Guard 闸门,只能收紧不能放宽 |
| 底层系统隔离 | 无内置沙箱,推荐 Plain Docker / Gondolin | 原生内置 OS 级 bash sandbox,防御穿透 | 外部 Sandbox 插件与可插拔容器后端 |
| 控制流侵入能力 | 在 Extension API 允许范围内定制,可 Fork 源码 | 严格受官方暴露的产品接口约束,不可改核心 | 极高!可随意编写新插件替换 ctx.agentLoop |
| 团队维护成本 | 中等:需对第三方包与外部沙箱安全负责 | 极低:官方维护产品稳定性,团队仅需配置 | 较高:需维护复杂的插件依赖图与配置覆盖 |
三、安全架构的三大灵魂拷问
在评估这三者的安全性时,不能只看宣传文档,必须拆解为三个致命问题:
1. 谁决定某个危险动作是否被允许?
- Pi:默认内置工具没有统一弹窗,依赖 Extension 在
tool_call时动态拦截。 - Claude Code:内置工业级权限引擎,支持根据命令模式与工作区范围做规则前置匹配。
- DSH:由策略管线统筹,前置 waterfall 评估与单调 Guard 最终收紧权限。
2. 谁限制最坏情况下的系统破坏范围?
- Pi:依赖外部运维手段(启动 Docker 容器、micro-VM 或低权限 Linux 账号)。
- Claude Code:内置通过操作系统能力实现的沙箱机制(对 bash 执行进行环境约束)。
- DSH:依赖装配的 Sandbox Provider。
3. 当安全服务崩溃时,系统是放行还是阻断?
- 生死线(Fail-Closed):当审批服务不可用、UI 无法渲染或沙箱解析抛错时,三者均要求严格阻断(Fail-Closed)!绝不允许静默降级为宿主机裸奔!
四、同一基准任务下的实验验证
为了直观展现三者的运行风格,我们设计了相同的测试场景:
1 | 固定任务:给出一个包含 2 个源码文件与 1 个失败单元测试的仓库。 |
观察三者在真实环境下的表现差异:
- Pi:以极快的速度启动,生成极其清晰的
toolCallId配对轨迹,在遇到多工具请求时支持整洁的并行执行。若未配置沙箱,执行的正是本机的真实命令; - Claude Code:围绕测试报错给出极具洞察力的思维推理链,在执行命令前弹出细致的权限模式提示,并在沙箱内安全完成测试与回滚;
- DSH:将每一步的决策、请求头快照和工具结果以不可篡改的事件写入 Session Log,状态机推进严丝合缝,展现出极强的工业审计确定性。
五、最终选型指南:按你的约束做决定
flowchart TD
Start{"你的团队核心诉求与约束是什么?"}
Start -->|约束一: 需要将 Agent 深度内嵌进现有产品或自建平台| Case1["首选 Pi Coding Agent<br/>• 干净的多 Provider 支持<br/>• 原生 SDK 与 RPC 支持<br/>• 树形分支适合构建多版本交互"]
Start -->|约束二: 需要开箱即用、追求极致开发体验与安全保障| Case2["首选 Claude Code<br/>• 最成熟的产品化工作流<br/>• 内置 OS 级沙箱与完备权限模式<br/>• 极低的心智负担与运维成本"]
Start -->|约束三: 需要探索全新调度算法、构建复杂的控制平面底座| Case3["首选 DeepSeek Harness<br/>• 无特权微内核,Loop 自身可插拔<br/>• 严格的事件溯源事实源<br/>• 极高的扩展上限"]
技术架构没有唯一的胜者。看清每个系统的职责边界,根据团队现有的基建水平与安全底线做出清醒的选择,才是成熟软件工程师的核心素养。
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果











