本节摘要:本章的收束与全书路线的转折点。把前两节解剖的样本(Claude Code、Codex CLI、OpenClaw、OpenHands)排进一张"六组件 × 产品"对照矩阵,分拣出两类东西:共性骨架——循环、工具、权限、上下文、观测五件,在所有样本中一个不落;沙箱则规律性地出现在"允许执行任意代码"的形态里。以及分歧点——交互形态、隔离强度、审批粒度、上下文策略,各家按定位自由发挥。结论直接转化为本书路线:第 3~9 章按共性骨架逐组件深挖(必修课),分歧点在各章的"设计空间"小节展开(选择题),第 10 章按骨架把 mini-harness 拼出来(期末考试)。
阅读完本节,你应当能够:
依据前两节整理(资料属性见各节标注;— 表示该形态下非独立组件):
| 组件 | Claude Code | Codex CLI | OpenClaw | OpenHands |
|---|---|---|---|---|
| ① 主循环 | 会话式循环,多步工具调用 | 同左 | 常驻事件驱动循环 | 会话式 + 多 agent 编排 |
| ② 工具系统 | 结构化工具表 + Task 子智能体 | 精简核心集 | 本地文件/日程/浏览 + 插件技能 | 通用工具集 + 浏览器/终端 |
| ③ 权限门 | ask/allow/deny 三级,参数级 allowlist | 审批策略(与沙箱正交) | 本机权限 + 渠道侧确认 | 平台级策略(租户隔离) |
| ④ 沙箱 | —(终端环境,靠权限门) | 三档沙箱(read-only 等) | —(就在用户机器上跑) | 每会话隔离工作区(核心卖点) |
| ⑤ 上下文 | 系统提示词 + CLAUDE.md + compaction | 提示词 + 仓库引导文件 | 会话记忆 + 长期记忆文件 | 任务状态 + 环境快照 |
| ⑥ 观测 | 会话记录 / hooks 链路 | 开源可自审、日志 | 本地日志(主权内) | 平台面板与评测 |
逐列扫过去,一格不空的五行是:
共性骨架(所有 harness 的必答题) ┌────────────────────────────────────────────┐ │ ① 主循环:问模型 → 做动作 → 再问模型 │ │ ② 工具系统:让模型有手有脚 │ │ ③ 权限门: 哪些动作要问人 │ │ ⑤ 上下文: 每一步让模型看见什么 │ │ ⑥ 观测: 出了问题能回放,改了东西能量化 │ └────────────────────────────────────────────┘ 规律:④ 沙箱 ⟺ "允许执行任意代码"的形态 终端编码(Codex)、平台(OpenHands)→ 有 纯权限管控形态(Claude Code 当前)、本机自托管(OpenClaw)→ 靠权限门兜
这条规律的工程含义:沙箱是"当工具集包含任意执行(bash/代码解释器)时的必需组件"。第 4 章讲工具分类学时会看到,是否提供"任意执行"工具本身就是最重要的 harness 决策之一——它直接决定你要不要背上沙箱的复杂度(第 6 章)。
分歧不是混乱,而是同一问题域上的不同定位。四个主要分歧维度:
| 分歧维度 | 光谱 | 决定因素 |
|---|---|---|
| 交互形态 | 终端会话 ⟷ 常驻多渠道 | 用户在哪(IDE 里 / 聊天软件里) |
| 隔离强度 | 权限门兜底 ⟷ 强沙箱 | 是否允许任意执行;爆炸半径多大 |
| 审批粒度 | 会话级粗粒度 ⟷ 参数级细粒度 | 用户是谁(工程师能看懂命令 / 普通人只能看懂意图) |
| 上下文策略 | 现算现拼 ⟷ 记忆分层沉淀 | 任务是单发(修个 bug)还是长伴(个人助理) |
💡 分歧点的存在也解释了为什么"抄最佳实践"经常失败:别人在光谱另一端的选择,抄过来就是错的。先定位自己的产品在这四个维度上的坐标,再决定抄谁、怎么抄。
每个维度在第 3~9 章都有对应的"设计空间"讨论:交互形态与循环结构(第 3 章)、任意执行与沙箱(第 4/6 章)、审批粒度(第 5 章)、记忆分层(第 7 章)。共性骨架决定你"必须做",分歧点决定你"怎么做"——这就是把解剖结果转成本书路线的方式。
对照表收束认识篇,也铺开组件篇的路线:
第 3 章 主循环 ←─ 骨架①(所有样本的驱动结构) 第 4 章 工具系统 ←─ 骨架②(含"是否任意执行"的沙箱伏笔) 第 5 章 权限与审批门 ←─ 骨架③(分歧点"审批粒度"的主场) 第 6 章 沙箱隔离 ←─ 规律组件(任意执行 ⟹ 必需) 第 7 章 上下文工程 ←─ 骨架⑤(分歧点"记忆分层"的主场) 第 8 章 Hook 与反馈 ←─ 暗线(Claude Code hooks / OpenClaw 插件的同构抽象) 第 9 章 观测与评测 ←─ 骨架⑥(让你能证明自己改对了) 第 10 章 mini-harness ←─ 把骨架①②③⑤⑥ + 简化沙箱拼进约 500 行
💡 怎么用这张表:以后见到任何新智能体产品(几乎每周都有),先花十分钟填这张表——它的六格分别怎么填?空了哪格?分歧点落在光谱哪里?填完你对它的理解就超过了大多数评测文章。这是六组件框架作为"公共语言"的日常用法。
认识篇到此收束:定义、动力、全景图、真实样本、共性骨架全部就位。从下一章起进入组件篇——第一个登场的是骨架的脊柱:Agent 主循环。
延伸阅读:同站教程库《opencode》《smolagents》。