# DeepSeek Harness 实测：架构与结果速查

- 原文：[[叶小钗-DeepSeek-Harness-实测]]
- 定位：对 DeepSeek Harness 的插件架构、执行链路、日志和工具治理的二手拆解，附一个非受控 Coding Agent 对比案例。

## 五个核心观点

1. **插件化不是只给外围扩展点**：模型、文件系统、会话、沙箱、工具和 agent loop 均可作为插件，由 Profile、Bundle 和 Cordis Loader 组装。
2. **服务契约隔离运行环境**：Service Definition 固定接口，Provider 隐藏本地、沙箱和远程差异，Consumer 无需按环境分叉。
3. **Inbox 显式调度消息时机**：`followup`、`steer`、`inject` 区分新 turn、下一 step 和后台注入，避免把调度交给不透明的语义推断。
4. **日志是模型历史的可重建事实源**：Session 追加记录消息、回复、工具结果与请求构成；投影和缓存仅派生当前上下文。
5. **工具安全应有统一管线**：策略、审批、超时、重试、后处理、事件和记录归于共享注册表，具体工具只承担其业务能力。

## 知识节点速查

- **插件树**：Bundle 和 Profile 将插件组合交给 Loader 激活，组件按依赖而非配置顺序运行。
- **服务依赖**：插件声明所需和提供的服务，依赖改变会触发清理与重新激活。
- **能力接缝**：用稳定接口、可替换实现和上层消费者隔离环境差异。
- **Step-Turn**：step 是一次模型请求及工具调用；turn 是处理一项任务的完整循环。
- **消息调度**：发送方通过 `followup`、`steer`、`inject` 指定消息进入当前还是下一回合。
- **会话重建**：模型输入应从追加日志重建，投影与缓存不取代事实记录。
- **单调守卫**：安全策略一旦拒绝，后续宽松策略不能将其重新放行。
- **可复现评测**：单次、单任务、未给出轨迹的试用结果不能替代受控对比。

## 七个分析角度与开头钩子

### 插件化架构
- “如果 Agent 的主循环也只是插件，核心还剩什么？”
- “一切皆插件的难点不在注册，而在依赖和卸载。”
- “Bundle 与 Profile 是把可选能力变成可运行系统的最后一步。”

### 服务契约
- “换文件系统，为什么模型工具不该改一行代码？”
- “真正的可替换，先要把 Provider 的环境细节藏在接口后面。”
- “Consumer 不认识真实路径，才能同时支持本地与远程环境。”

### Agent Loop
- “一次模型调用不是一次任务完成，step 与 turn 才是两个不同的计量单位。”
- “主循环可以是系统中心，但不必是不可替换的核心。”
- “压缩上下文的检查点，应落在每个 step 之前。”

### 消息调度
- “执行中说‘先别改配置’，不该和一个新问题进同一队列。”
- “用户补充、后台注入与新任务，应该由发送方说明时机。”
- “Inbox 的价值不是存消息，而是保留调度语义。”

### 会话日志
- “模型看到过什么，应该能从日志重建，而不是从内存猜回来。”
- “压缩历史不等于改写历史。”
- “能回放、恢复和分支的会话，先要有追加式事实记录。”

### 工具治理
- “工具调用的风险，通常不在工具函数，而在谁能放行它。”
- “审批、超时和记录不能散落在每一个工具里。”
- “先拒绝的守卫不能被后面的宽松插件推翻。”

### 评测边界
- “9 分钟和 20 分钟，为什么不能直接变成模型排名？”
- “没有基线、轨迹和验收标准的 Demo，只能说明一次观察。”
- “比较 Coding Agent，先把任务、环境和验收锁住。”

## 证据边界

- 本文为公众号对源码与架构的解读，未独立核验 DeepSeek Harness、Cordis 或 E2B 的具体版本实现。
- Codex、V4 Flash 与 V4 Pro 的耗时、额度、费用和结果来自作者单次自述，不构成可复现实验。
- “developer preview” 与兼容性判断应在实际采用前回到项目当前官方资料核验。

标签： #主题/AI-Agent #主题/Harness #主题/插件运行时 #主题/Agent-Loop #主题/工具治理 #节点/服务依赖 #节点/消息调度 #节点/会话重建 #场景/公众号长文
