OpenClaw 的设计哲学是:不在运行时评估输出质量,而是在系统设计的各个层面预先保证质量。
一、质量保证的 7 个层面
OpenClaw 通过 7 个互补的层面来确保输出质量,全程不依赖运行时评估:
- 层面 1:模型选择 —— 从源头保证质量
- 层面 2:提示工程 —— 精心设计的系统提示
- 层面 3:工具系统 —— 让 AI 可以验证和修正自己
- 层面 4:推理 (Thinking) —— 让 AI 先思考再回答
- 层面 5:记忆系统 —— 记住上下文和偏好
- 层面 6:多轮对话 —— 用户反馈是最终裁判
- 层面 7:技能系统 —— 预定义的高质量工作流
二、详细拆解
层面 1:模型选择 —— 从源头保证质量
代码位置:src/agents/models-config.providers.ts
OpenClaw 对模型进行了精心筛选和配置,示例如下:
typescript
运行
{
id: "claude-opus-4-6",
provider: "anthropic",
contextWindow: 800000, // 大上下文
thinking: false, // 支持推理
description: "Best overall model"
}
质量保证手段:
- ✅ 默认使用顶级模型 —— Claude Opus、GPT-4o 等
- ✅ 模型回退链 —— 单模型失效自动切换备选
- ✅ 大上下文窗口 —— 减少上下文丢失
- ✅ 推理模型优先 —— 优先选用支持 thinking/reasoning 的模型
层面 2:提示工程 —— 精心设计的系统提示
代码位置:src/agents/system-prompt.ts(250+ 行)
这是 OpenClaw 最核心的质量保证手段,系统提示包含 7 大关键部分:
- 工具摘要 (Tool Summaries):工具用途、使用场景
- 工作区指南 (Workspace Guidance):文件浏览、代码编辑、Git 工作流
- 运行时信息 (Runtime Info):主机 / OS / 架构、模型 / 通道能力
- 记忆召回 (Memory Recall):记忆搜索规则、来源引用方式
- 消息传递 (Messaging):跨通道消息、回复标签规范
- 技能 (Skills):技能选择与使用逻辑
- 日期时间 (Date & Time):用户时区、当前时间
关键设计原则:
- ✅ 明确指令 —— 精细化操作要求,而非模糊指令
- ✅ 约束条件 —— 清晰界定可执行 / 禁止行为
- ✅ 完整上下文 —— 同步环境、工作区、能力信息
- ✅ 隐含示例 —— 通过工具摘要提供参考范式
层面 3:工具系统 —— 让 AI 可以验证和修正自己
代码位置:src/agents/openclaw-tools.ts、src/agents/tools/*.ts(60+ 工具)
核心设计:AI 无法自我评估,但可通过工具自主验证。
操作逻辑:读取文件确认状态 → 执行编辑 / 命令 → 再次读取验证结果
核心工具一览:
表格
| 工具 | 用途 | 质量保证作用 |
|---|---|---|
| read | 读取文件 | 验证修改前 / 后状态 |
| ls | 列出目录 | 确认文件存在 |
| grep | 搜索内容 | 精准定位相关代码 |
| exec | 执行命令 | 运行测试、校验代码 |
| web_fetch | 抓取网页 | 获取最新权威信息 |
| memory_search | 记忆搜索 | 调用历史决策 |
| sessions_history | 会话历史 | 回顾全对话上下文 |
实战示例用户:「重构这个函数,让它更快」AI 执行流程:
- read 函数,理解当前实现
- 编写测试,测量基准性能
- 执行函数重构
- 运行测试,验证性能提升
- 不达标则回退 / 重新优化
设计理念:工具即验证。
层面 4:推理 (Thinking) —— 让 AI 先思考再回答
代码位置:src/agents/pi-embedded-runner/thinking.ts
OpenClaw 支持多级推理,让 AI 输出前先完成思考:
typescript
运行
// 推理级别
type ThinkLevel =
| "off" // 无推理
| "minimal" // 最小推理
| "low" // 低
| "medium" // 中
| "high" // 高
| "xhigh" // 极高
| "adaptive"; // 自适应
质量保证作用:
- ✅ 减少幻觉 —— 先推理再输出,降低编造概率
- ✅ 自我检查 —— 思考中验证逻辑合理性
- ✅ 过程可追溯 —— 用户可见 AI 思考链路
- ✅ 复杂问题决策 —— 深度思考提升方案质量
推理示例:
plaintext
<thinking>
让我分析这个问题:
1. 用户想要重写这个函数
2. 首先我需要理解当前的实现
3. 让我先 read 文件...
4. 好的,我看到了问题所在
5. 我应该这样修改...
</thinking>
[最终答案]
层面 5:记忆系统 —— 记住上下文和偏好
代码位置:src/memory/、src/agents/tools/memory-tool.ts
OpenClaw 内置完整记忆系统,可永久记住:
- 历史决策、用户偏好
- 项目上下文、错误教训
系统提示记忆规则:
plaintext
## Memory Recall
Before answering anything about prior work: run memory_search on MEMORY.md + memory/*.md
Then use memory_get to pull only the needed lines.
质量保证作用:
- ✅ 一致性 —— 前后决策保持统一
- ✅ 避坑能力 —— 记住历史错误,避免重复踩坑
- ✅ 长期上下文 —— 理解项目整体目标
- ✅ 个性化 —— 自动适应用户偏好
层面 6:多轮对话 —— 用户反馈是最终裁判
代码位置:src/gateway/server-chat.ts
OpenClaw 不做质量评估,用户是唯一最终裁判:
- 用户提出需求
- AI 输出结果
- 用户指出问题 / 优化方向
- AI 基于反馈修正输出
质量保证机制:
- ✅ 完整会话历史 —— AI 可回溯全对话
- ✅ 工具化修正 —— 直接用 edit 工具修改输出
- ✅ 无终态对话 —— 持续迭代至用户满意
核心逻辑:无需运行时评估,用户不满意即可持续修正。
层面 7:技能系统 —— 预定义的高质量工作流
代码位置:src/agents/skills/、skills/ 目录
技能 = 预定义高质量提示 + 标准化工作流,针对常见任务提供固化最优解:
- 代码审查技能
- 测试编写技能
- 文档生成技能
- Git 工作流技能
质量保证:
- ✅ 经过验证 —— 技能均通过实战测试
- ✅ 结果一致 —— 同一技能输出质量稳定
- ✅ 可分享复用 —— 技能跨用户通用
- ✅ 可持续升级 —— 优化后全员受益
三、总结:OpenClaw 的质量哲学
传统思路 VS OpenClaw 思路
-
传统思路:LLM 输出 → 评估质量 → 不合格则重试
-
OpenClaw 思路:
- 选用最优模型
- 配置最优提示
- 提供验证工具
- 开启前置推理
- 记忆上下文
- 接收用户反馈修正
- 调用预定义技能→ 质量从源头保证,无需运行时评估
核心洞见对比
表格
| 问题 | 传统解决方案 | OpenClaw 解决方案 |
|---|---|---|
| AI 怎么知道自己对不对? | 让 AI 自我评估 | 给 read/exec 工具,自主验证 |
| 如何保证输出质量? | 评分、过滤 | 好模型 + 好提示 + 好工具 + 多轮对话 |
| 输出不好怎么办? | 拒绝输出 | 用户反馈 → AI 修正 → 持续对话 |
核心智慧
- 不做运行时质量评估(难度高、不可靠)
- 只做全链路前置质量保证(设计阶段锁定质量)
- 用户是最终裁判,多轮对话实现持续迭代优化