OpenClaw 如何做到结果不做自动质量评估,为什么结果还不错?

7 阅读6分钟

OpenClaw 的设计哲学是:不在运行时评估输出质量,而是在系统设计的各个层面预先保证质量


一、质量保证的 7 个层面

OpenClaw 通过 7 个互补的层面来确保输出质量,全程不依赖运行时评估

  1. 层面 1:模型选择 —— 从源头保证质量
  2. 层面 2:提示工程 —— 精心设计的系统提示
  3. 层面 3:工具系统 —— 让 AI 可以验证和修正自己
  4. 层面 4:推理 (Thinking) —— 让 AI 先思考再回答
  5. 层面 5:记忆系统 —— 记住上下文和偏好
  6. 层面 6:多轮对话 —— 用户反馈是最终裁判
  7. 层面 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 大关键部分:

  1. 工具摘要 (Tool Summaries):工具用途、使用场景
  2. 工作区指南 (Workspace Guidance):文件浏览、代码编辑、Git 工作流
  3. 运行时信息 (Runtime Info):主机 / OS / 架构、模型 / 通道能力
  4. 记忆召回 (Memory Recall):记忆搜索规则、来源引用方式
  5. 消息传递 (Messaging):跨通道消息、回复标签规范
  6. 技能 (Skills):技能选择与使用逻辑
  7. 日期时间 (Date & Time):用户时区、当前时间

关键设计原则

  • ✅ 明确指令 —— 精细化操作要求,而非模糊指令
  • ✅ 约束条件 —— 清晰界定可执行 / 禁止行为
  • ✅ 完整上下文 —— 同步环境、工作区、能力信息
  • ✅ 隐含示例 —— 通过工具摘要提供参考范式

层面 3:工具系统 —— 让 AI 可以验证和修正自己

代码位置src/agents/openclaw-tools.tssrc/agents/tools/*.ts(60+ 工具)

核心设计:AI 无法自我评估,但可通过工具自主验证

操作逻辑:读取文件确认状态 → 执行编辑 / 命令 → 再次读取验证结果

核心工具一览

表格

工具用途质量保证作用
read读取文件验证修改前 / 后状态
ls列出目录确认文件存在
grep搜索内容精准定位相关代码
exec执行命令运行测试、校验代码
web_fetch抓取网页获取最新权威信息
memory_search记忆搜索调用历史决策
sessions_history会话历史回顾全对话上下文

实战示例用户:「重构这个函数,让它更快」AI 执行流程:

  1. read 函数,理解当前实现
  2. 编写测试,测量基准性能
  3. 执行函数重构
  4. 运行测试,验证性能提升
  5. 不达标则回退 / 重新优化

设计理念:工具即验证。


层面 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 不做质量评估,用户是唯一最终裁判

  1. 用户提出需求
  2. AI 输出结果
  3. 用户指出问题 / 优化方向
  4. AI 基于反馈修正输出

质量保证机制

  • ✅ 完整会话历史 —— AI 可回溯全对话
  • ✅ 工具化修正 —— 直接用 edit 工具修改输出
  • ✅ 无终态对话 —— 持续迭代至用户满意

核心逻辑:无需运行时评估,用户不满意即可持续修正。


层面 7:技能系统 —— 预定义的高质量工作流

代码位置src/agents/skills/skills/ 目录

技能 = 预定义高质量提示 + 标准化工作流,针对常见任务提供固化最优解:

  • 代码审查技能
  • 测试编写技能
  • 文档生成技能
  • Git 工作流技能

质量保证

  • ✅ 经过验证 —— 技能均通过实战测试
  • ✅ 结果一致 —— 同一技能输出质量稳定
  • ✅ 可分享复用 —— 技能跨用户通用
  • ✅ 可持续升级 —— 优化后全员受益

三、总结:OpenClaw 的质量哲学

传统思路 VS OpenClaw 思路

  • 传统思路:LLM 输出 → 评估质量 → 不合格则重试

  • OpenClaw 思路:

    1. 选用最优模型
    2. 配置最优提示
    3. 提供验证工具
    4. 开启前置推理
    5. 记忆上下文
    6. 接收用户反馈修正
    7. 调用预定义技能→ 质量从源头保证,无需运行时评估

核心洞见对比

表格

问题传统解决方案OpenClaw 解决方案
AI 怎么知道自己对不对?让 AI 自我评估给 read/exec 工具,自主验证
如何保证输出质量?评分、过滤好模型 + 好提示 + 好工具 + 多轮对话
输出不好怎么办?拒绝输出用户反馈 → AI 修正 → 持续对话

核心智慧

  • 不做运行时质量评估(难度高、不可靠)
  • 只做全链路前置质量保证(设计阶段锁定质量)
  • 用户是最终裁判,多轮对话实现持续迭代优化