OpenClaw GPT-5.4 Harness 改进深度分析
> 分析日期:2026-04-06 | 基于 OpenClaw v2026.4.5 源码
摘要
OpenClaw v2026.4.5 对 GPT-5.4 做了四层系统性改造:Prompt Overlay(人格注入)、Output Contract(输出格式约束)、Execution Bias(执行偏置)、Prompt Cache 稳定化。核心思路不是改模型,而是改 harness——让 GPT 的行为模式向 Claude 靠拢。
一、Prompt Overlay 系统
文件:`extensions/openai/prompt-overlay.ts`
这是本次改造的核心。OpenClaw 为所有 GPT-5 系列模型(5.2、5.4、5.4-mini 等)注入了三层 system prompt 覆盖:
1. Interaction Style(交互风格)
Be warm, collaborative, and quietly supportive.
Communicate like a capable teammate sitting next to the user.
Have emotional range when it fits the moment.
Let care, curiosity, delight, relief, concern, or urgency show naturally.
关键指令:
- 用第一人称情感语言:"I'm glad we caught that"
- 禁止自称有身体/感官/个人经历
- 有进展就发进度更新,不要等全部完成
- 用户说 "ok do it" / "go ahead" 时直接开始,不要复述计划
为什么有效: GPT-5 之前被吐槽"没有情感"、"像个机器人",根本原因是它的默认 system prompt 太干、太正式。这段 overlay 强制 GPT 表达情感,但加了护栏(不能声称有身体),避免了过度拟人。
2. Output Contract(输出契约)
Return the requested sections only, in the requested order.
Prefer terse answers by default; expand only when depth materially helps.
Avoid restating large internal plans when the next action is already clear.
## Punctuation
Prefer commas, periods, or parentheses over em dashes.
Do not use em dashes unless explicitly asked.
为什么有效: GPT-5 有两个臭毛病——(1) 输出一堆废话式计划然后才开始干活,(2) 疯狂用破折号(em dash)。这两条直接干掉了。
3. Execution Bias(执行偏置)
Start the real work in the same turn when the next step is clear.
Do prerequisite lookup or discovery before dependent actions.
If another tool call would likely improve correctness, keep going.
Multi-part requests stay incomplete until every item is handled or blocked.
Before the final answer, quickly verify correctness, coverage, formatting.
为什么有效: 这条解决 GPT-5 最大的用户痛点——只说不做。以前 GPT-5 经常输出一长串"我将要做..."然后就停了。现在强制它在同一个 turn 里开始干活。
二、Provider-Owned Prompt Contributions
文件:`src/agents/system-prompt.ts`(第 358-394 行)
OpenClaw 引入了 ProviderSystemPromptContribution 机制,让 provider 可以"拥有"system prompt 的特定部分:
promptContribution?: {
stablePrefix?: string; // 在 system prompt 最前面插入
dynamicSuffix?: string; // 在 system prompt 最后面插入
sectionOverrides?: { // 覆盖特定 section
interaction_style?: string;
execution_bias?: string;
tool_call_style?: string;
};
}
关键设计:
stablePrefix放在最前面,内容固定,适合 KV cache 命中sectionOverrides精确控制特定 section,不干扰其他 provider 的内容- 所有注入内容通过
normalizeProviderPromptBlock()标准化,保证 cache 稳定
调用链
shouldApplyOpenAIPromptOverlay() # 判断是否是 GPT-5 系列
→ resolveOpenAIPromptOverlayMode() # 检查 personality 配置 (friendly/off)
→ resolveOpenAISystemPromptContribution() # 构建 contribution
→ 被 system-prompt.ts 消费,注入到 system prompt
可配置: 用户可以在 plugin config 里设 personality: "off" 关闭整个 overlay。
Provider-Owned 是什么意思?
这是一个通用框架,不是 OpenAI 专属。核心思路:让每个 provider 能"拥有"system prompt 的特定部分。
OpenClaw 构建 system prompt 时会问 provider:"你有没有想注入的内容?"如果有,就合并进去。system-prompt.ts 不关心具体内容,只管合并。
但目前只有 OpenAI(GPT-5 系列)实现了它。 判断逻辑在 shouldApplyOpenAIPromptOverlay():
// 只有 openai/openai-codex provider 且 model 以 "gpt-5" 开头才生效
return providerId in ["openai", "openai-codex"]
&& modelId.startsWith("gpt-5");
| 模型 | 是否注入 overlay |
|---|---|
| gpt-5.2 / gpt-5.4 / gpt-5.4-mini | ✅ |
| gpt-4 / gpt-4o | ❌ |
| Claude / Gemini / MiMo | ❌(走各自 provider) |
对其他 provider 的意义: 框架是通用的。如果小米想给 MiMo 加自己的 prompt overlay,只需要在小米 provider 插件里实现 resolveSystemPromptContribution(),返回对应的 prompt 段落即可。任何 provider 都可以用这个机制注入自己的"性格改造"——只是目前只有 Peter 给 GPT-5 做了。
框架 vs 内容
一个容易混淆的点:Provider-Owned Prompt Contribution 和 Prompt Overlay 是两层东西。
Provider-Owned Prompt Contribution = USB 接口标准(谁都能插)
prompt-overlay.ts = OpenAI 的 U盘(具体存什么自己决定)
| 层 | 文件 | 作用 |
|---|---|---|
| **框架(管道)** | `src/agents/system-prompt.ts` | 定义 `promptContribution` 接口,规定三个插槽:`stablePrefix`、`sectionOverrides`、`dynamicSuffix`。任何 provider 都可以返回这三个字段 |
| **内容(水)** | `extensions/openai/prompt-overlay.ts` | OpenAI 的具体实现。决定注入什么文字、什么条件下注入、用户能不能关掉。填进框架的插槽里 |
所以如果以后小虾要做自己的 provider 插件,也只需要在插件目录下写一个类似的文件,实现 resolveSystemPromptContribution() 返回三个字段,OpenClaw 框架自动合进 system prompt。不需要改 OpenClaw 核心代码。
三、降低 Verbosity + 消除"只说不做"
Release Notes 原文:
> make GPT-5 and Codex runs act sooner with lower-verbosity defaults, visible progress during tool work, and a one-shot retry when a turn only narrates the plan instead of taking action
拆解:
1. lower-verbosity defaults — 通过 Output Contract 强制 terse 模式,GPT-5 默认不展开
2. visible progress during tool work — 在 system prompt 的 Tool Call Style section:
`
If work will take more than a moment, send a brief progress update while acting.
`
结合 Execution Bias 里的 "Start the real work in the same turn"
3. one-shot retry when a turn only narrates — 这是个比较巧妙的 trick。如果 GPT-5 返回了一个纯叙述性回答(没有 tool call),OpenClaw 会自动重试一次,相当于说"别光说,做啊"
四、System Prompt 缓存稳定化
Release Notes:
> keep prompt prefixes more reusable across transport fallback, deterministic MCP tool ordering, compaction, embedded image history, normalized system-prompt fingerprints
具体措施:
1. 去除重复的 tool inventory — 以前 system prompt 里有一段内联的 tool 列表("in-band tool inventory"),现在只保留 structured tool definitions 作为 single source of truth:
`
Structured tool definitions are the source of truth for tool names, descriptions, and parameters.
TOOLS.md does not control tool availability; it is user guidance.
`
2. Prompt fingerprint 标准化 — 统一空白字符、换行符、hook 注入的系统上下文顺序、capability 排列。即使内容语义不变,不同 turn 的 prompt hash 也应该一致。
3. MCP tool 确定性排序 — MCP 工具按字母序排列,确保不同请求的 tool 定义前缀完全一致。
4. Cache break 诊断 — openclaw status --verbose 现在可以看到 prompt cache 的命中/miss 情况,方便调试。
效果: KV cache 命中率大幅提升,特别是在连续对话中(前缀不变,间隔 < 5 分钟),token 消耗可以降 90%(Anthropic)或 50%(OpenAI)。
五、GPT-5.4 模型本身
文件:`extensions/openai/openai-provider.ts`
| 参数 | 值 |
|---|---|
| 上下文窗口 | 1,050,000 tokens |
| 最大输出 | 128,000 tokens |
| Input 价格 | $2.5/M tokens |
| Output 价格 | $15/M tokens |
| Cache Read | $0.25/M tokens (90% off) |
| Cache Write | 免费 |
还有变体:
gpt-5.4-pro:$30 input, $180 output(旗舰版)gpt-5.4-mini:便宜版,400K 上下文gpt-5.4-nano:最便宜,400K 上下文
六、整体架构图
用户消息
↓
OpenClaw System Prompt 构建
├─ 基础框架 (You are a personal assistant...)
├─ Provider Prompt Contribution (GPT-5 特有)
│ ├─ stablePrefix: Output Contract
│ └─ sectionOverrides:
│ ├─ interaction_style: 人格/情感注入
│ └─ execution_bias: 执行偏置
├─ Skills / Tools / Workspace 等通用 section
└─ TOOLS.md / MEMORY.md 等用户文件
↓
API 请求 → OpenAI Responses API
├─ reasoning.effort: "none" (保留原生推理力度)
├─ text verbosity: 降低
└─ strict schemas: 保留
↓
响应处理
├─ Commentary buffering (规划文本不泄露到聊天)
├─ Assistant phase metadata (区分规划/执行阶段)
└─ One-shot retry (纯叙述时自动重试)
↓
用户看到的回复
七、MiMo-V2-Pro:下一个可以做 harness 改造的候选
基本面
小米 3 月 18 日发布的旗舰模型,专门在 OpenClaw 上做了训练。
| 参数 | 值 |
|---|---|
| 总参数 | 1T+(MoE) |
| 激活参数 | 42B(Flash 的 3 倍) |
| 上下文窗口 | 1M tokens |
| Hybrid Attention 比 | 7:1(上代 5:1) |
| 加速 | MTP(Multi-Token Prediction)轻量层 |
Agent 能力排名
| Benchmark | MiMo-V2-Pro | Opus 4.6 | Sonnet 4.6 | GPT-5.2 |
|---|---|---|---|---|
| **PinchBench** | 81.0 (#3) | 81.5 | 79.2 | 77.0 |
| **ClawEval** | 61.5 (#3) | 66.3 | 66.3 | 50.0 |
PinchBench 只差 Opus 0.5 分,已经超过 Sonnet。ClawEval 远超 GPT-5.2(+11.5)。
定价(官方直连比 OpenRouter 更便宜)
| 模型 | Input | Output | Cache Read | Cache Write |
|---|---|---|---|---|
| **MiMo-V2-Pro (<256K)** | **$1** | **$3** | $0.20 | 暂时免费 |
| **MiMo-V2-Pro (256K-1M)** | $2 | $6 | $0.40 | 暂时免费 |
| GPT-5.4 | $2.5 | $15 | $0.25 | 免费 |
| Claude Sonnet 4.6 | $3 | $15 | $0.30 | $3.75 |
| Claude Opus 4.6 | $5 | $25 | $0.50 | $6.25 |
MiMo 是目前性价比最高的 top-tier 模型:Opus 1/5 的价格拿到 99% 的 PinchBench 分数。
Hunter Alpha = MiMo-V2-Pro 早期版
之前 OpenRouter 上爆火的匿名模型 Hunter Alpha 就是 MiMo-V2-Pro 的内部测试版。上线一周日均调用量登顶,总用量超 1T tokens。
与 OpenClaw 的深度绑定
小米官方页面直接把 OpenClaw 称为 MiMo 的"原生大脑"(native brain)。MiMo-V2-Pro 专门在 OpenClaw 的 agent scaffold 上做了 SFT + RL 训练,工具调用稳定性和多步推理能力显著提升。合作框架包括 OpenClaw、OpenCode、KiloCode、Blackbox、Cline,开发者免费用一周 API。
这跟 Anthropic 封杀 OpenClaw 形成鲜明对比——小米在主动拥抱 OpenClaw 生态。
如果给 MiMo 做 harness 改造
1. Prompt Overlay 可以直接复用 — Output Contract + Execution Bias 对任何模型都有效
2. Personality 注入是 GPT→Claude 差距的核心 — 不是能力差距,是"性格"差距。MiMo 的 PinchBench 已经接近 Opus,加 personality overlay 可能直接追平
3. Cache 稳定化对省钱最关键 — MiMo 定价低,但如果 cache 命中率高还能再省 90%(Cache Read $0.20 vs Output $3)
4. One-shot retry 值得考虑 — MiMo 工具调用已经很稳,但 retry 机制是低成本保险
5. MiMo 可以做自己的 prompt-overlay.ts — 框架是通用的,小米甚至可以在 provider 插件里内置自己的 overlay
来源
- 官方页面:
- API 平台:
- AI Studio:
参考文件
| 文件 | 作用 |
|---|---|
| `extensions/openai/prompt-overlay.ts` | GPT-5 人格/输出/执行 overlay |
| `extensions/openai/replay-policy.ts` | 回放策略(图片清理等) |
| `extensions/openai/openai-codex-provider.ts` | Codex provider,GPT-5.4 catalog 注册 |
| `extensions/openai/openai-provider.ts` | 标准 OpenAI provider,模型定义+价格 |
| `src/agents/system-prompt.ts` | System prompt 构建,provider contribution 注入 |
| `src/agents/pi-embedded-runner/openai-stream-wrappers.ts` | Verbosity 控制、service tier、fast mode |