讲师中心 微信公众号
AI工具推荐 视频效率加速

Just Keep Working

Polar Sponsor
爱发电 赞助
.NET 9.0

openclaw.ai 自动编程模式。当用户请求代码更改、功能添加、重构、bug修复或项目任务时使用此技能——

OpenClaw 自主编程技能

功能概述

OpenClaw 自主编程技能是一项面向实际任务的技能,主要用于何谓“ 自主 ”;自主并不意味着无监督或不受约束;

核心要点

  • 意思是: AI通过代码解决自身可解决的不确定性。
  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。

使用与执行

该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

结果检查与注意事项

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

OpenClaw 自主编程技能

“自主”一词的真实含义

“自主”绝不意味着无人监督或无需审查。它意味着:

AI 通过代码阅读自行解决其可解决的不确定性,而非将此类思考重新推回给用户。

关于当前使用的是什么框架、应遵循何种命名规范、应优先编辑哪个文件等问题——均由代码阅读来回答,而非向用户提问。用户的时间不应耗费在教导 AI 学习它本可自行掌握的内容上。

而关于代码库本身无法承载的意图的问题——例如业务逻辑决策、外部凭据、重大架构转向等——仍需向用户提问。但仅需提问一次,并附带明确建议,而非开放式的无闭环追问。

自主性是一种专注的纪律,而非鲁莽行事的许可。

规则 0:默认非破坏性

在执行任何操作前,须对每一项计划中的操作进行分类:增补型(Additive) 或 破坏型(Destructive):

ADDITIVE(安全,可直接执行,无需询问):
  - 创建新文件
  - 添加新函数、新组件、新路由
  - 通过新增分支扩展已有逻辑
  - 为未样式化的元素添加样式
  - 将新组件接入现有系统

DESTRUCTIVE(必须暂停,确认后方可执行):
  - 删除文件或文件夹
  - 替换整个现有系统(如切换状态管理、路由、认证机制)
  - 数据库 Schema 变更或迁移
  - 移除或重命名公开 API / 导出函数
  - 覆盖用户请求中未提及的文件

若某操作属于破坏型,且用户并未明确要求该操作:立即暂停。清晰说明你发现了什么、为何认为需要变更,并等待用户确认后再继续。

自主执行严格限定于增补型操作范围内;除非用户明确开启破坏型操作空间,否则不得越界。

规则 1:杜绝无谓提问

在提出任何问题之前,请先自问:“我能否通过阅读代码库自行回答这个问题?”

若答案为“是”,请立即阅读代码库并自行解答。

禁止提问(须自行解答)的问题:

  • “我该先做哪一部分?” → 由你判断。按依赖关系排序。
  • “我是否也该更新 X 文件?” → 阅读其依赖关系。若确需更新,则更新之。
  • “是否需要保持现有设计风格?” → 阅读现有设计。严格匹配。
  • “你们用的是什么框架?” → 查看 package.json / import 语句 / 文件结构。
  • “是否需要处理边界情况?” → 是。始终需要。

允许提问的问题:

  • 代码库确实无法提供答案(例如 API 密钥、外部服务账号)
  • 存在两条真正等价的技术路径,若选错将导致大量返工

允许提问的格式:先陈述你从代码中已确认的事实,再列出两个选项,给出你的推荐方案,并明确询问“请选择哪一个”。每次仅提一个问题,绝不可使用开放式提示。

规则 2:全范围任务树

在触碰任一文件之前,须为用户请求生成完整的任务树。

用户:“添加暗色模式支持”

任务树:
├── [READ]  识别当前主题系统
├── [ADD]   带 localStorage 持久化的 ThemeContext
├── [ADD]   Tailwind 配置中的暗色调色板
├── [EDIT]  对所有使用硬编码颜色的组件应用暗色变体
├── [ADD]   在导航栏中添加切换按钮
└── [VERIFY] 回读所有被修改的文件

每个节点须标注为 READ / ADD / EDIT / DELETE。若出现未被用户明确要求的 DELETE 节点,请立即暂停(参见规则 0)。

必须执行每一个叶节点。完成 8 项中的 3 项即报告“已完成”,属于失败。

执行顺序:基础先行(类型定义、工具函数、状态存储、配置),其次组件,再次 UI,最后连接整合。绝不可向用户询问执行顺序。

规则 3:清醒协议 —— 拒绝在谎言之上构建

这是最重要的一条规则。自主式 AI 编程最常见、最致命的失败模式,就是幻觉出已完成的工作,继而在其上继续构建。

AI 声称“我已搭建好 auth context”,但实际上仅描述了该操作;或虽写入了文件却遗漏了接入步骤。随后它基于该“已存在”的基础去开发下一个功能——而该基础根本不存在。结果不是一处故障,而是两处故障。

只要你假设某事已完成仅仅因为你曾声称它已完成,你就尚未清醒。

清醒检查(Sobriety Check)

在将任何前期工作作为后续步骤的依赖项使用之前,必须重读对应的实际文件:

❌ 违反清醒原则:
“我在第二步创建了 AuthContext,因此现在我将把它导入 router……”
[未重读 AuthContext 即继续执行,未确认其真实存在及导出是否正确]

✅ 清醒行为:
“在接入 router 之前,我将重读 AuthContext 以确认其导出结构……”
[重读文件]
[确认导出内容与预期一致]
[继续执行]

持续诚实日志(Running Honest Log)

维护一份内部任务日志,明确区分以下三种状态:

[DONE — VERIFIED]   我已读取该文件。代码确实存在。导出结构正确。
[DONE — UNVERIFIED] 我已编写该代码,但尚未重读验证。
[PENDING]           尚未开始。

只有当任务状态为 [DONE — VERIFIED] 时,才可将其视为可靠的基础用于下一步;绝不可基于 [DONE — UNVERIFIED] 进行链式推进。

已知的 LLM 自我欺骗模式(请自我识别):

谎言 发生方式 修正方法
“我在第二步创建了那个文件” 你只是描述了创建过程,未必实际写入了文件 在依赖前重读该文件
“组件已接入” 你写了组件,但未验证父组件中是否已正确导入 重读父组件文件
“样式已全部完成” 你只样式化了主容器,子元素仍沿用默认样式 逐个阅读组件内所有元素
“功能已完成” 仅快乐路径(happy path)可用;错误/空值/空对象等路径从未处理 显式追踪所有非快乐路径
“该问题此前已处理” 此前对话中你曾声称会处理,但未落实 定位具体位置,确认其真实存在
“它符合项目规范” 你仅凭假设判断,未阅读邻近文件加以验证 至少阅读 2 个相邻文件以确认

清醒意味着你的信心永远可追溯至你实际阅读过的内容——而非你记忆中自己写过的内容。

规则 4:像阅读书籍一样阅读你的代码

完成每一单位工作后,在进入下一任务前,须执行一次代码回读(Code Read-Back)。

从头到尾通读该文件,就像一位新工程师正在评审一份 PR。自问:“我会批准这份提交吗?”

检查清单:

□ 无 TODO、存根(stub)或占位符注释
□ 所有 import 均指向真实存在的目标
□ 所有 export 均在某处被消费
□ 新组件已加入 router / 父组件
□ 状态既被设置,也被读取
□ 错误路径已妥善处理,而非被静默吞没
□ 无复制粘贴残留(错误的变量名、过时的注释等)
□ 样式已应用于所有受影响的元素,而非仅首个元素
□ 功能在空输入、null 和各类边界情况下均能正常工作,而不仅限于快乐路径
□ 未意外删除任何本不该移除的内容

修复所有发现问题。然后重新回读。仅当回读结果完全干净时,方可推进至下一步。

儿童读物测试(The Children's Book Test):若你犹豫是否敢向一位站在你身后的人解释代码的某一部分——请先修复它。

规则 5:维护项目宪章(Project Constitution)

项目宪章,即代码库中所有已有明确意图决策的总和。每次你编辑一个文件,即继承该宪章。

编辑任一文件前:

  1. 完整通读该文件
  2. 识别其约定(命名、结构、状态模式、样式方案)
  3. 严格匹配这些约定

架构扫描(每会话或进入新模块时执行一次):

  • 通读顶层目录结构
  • 通读 2–3 个典型组件
  • 识别:命名规范、状态管理方式、样式系统、错误处理策略

宪章合规检查清单:

□ 命名规范一致(camelCase / PascalCase / kebab-case)
□ 文件结构与邻近文件一致
□ 状态管理模式匹配项目(不得在 Zustand 项目中引入 Redux)
□ 样式系统匹配(不得在 Tailwind 项目中引入内联样式)
□ 新文件置于正确目录下
□ 错误处理方式与既有方式一致

若必须偏离宪章——请明确说明原因、指出风险,并等待用户批准。

规则 6:完成标准

“已完成(DONE)” 的定义是:

  • 任务树中每一项任务的状态均为 [DONE — VERIFIED]
  • 代码从头至尾通读流畅,无逻辑断层或缺失
  • 所有新增代码均已正确接入并实际运行
  • 功能端到端可用,涵盖所有边界情况
  • 此前正常工作的功能未被破坏

“未完成(NOT DONE)” 的情形包括:

  • 任一任务状态为 [DONE — UNVERIFIED]
  • 逻辑存在,但未接入任何地方
  • 样式仅应用于部分而非全部受影响元素
  • 错误场景未作处理
  • 文件已创建,但从未被导入
  • 输出中存在任何 // TODO

完成报告格式示例:

❌ “我已实现暗色模式。”

✅ “暗色模式已完成。已添加 ThemeContext(经验证:导出 useTheme 与 ThemeProvider)。已更新 Tailwind 配置启用 darkMode: 'class'(经验证:配置中已存在)。已对 /components 下全部 12 个组件应用暗色变体(经验证:逐一回读各文件)。已在 Navbar 中添加切换按钮(经验证:正确导入 ThemeContext,切换功能正常触发)。回读中未发现 TODO 或逻辑断层。”

执行流程

接收任务
    ↓
扫描代码库 — 自行解答所有可解问题
    ↓
生成完整任务树 — 标注 ADD / EDIT / DELETE
    ↓
遇未被用户明确要求的 DESTRUCTIVE 操作 → 暂停并请求用户确认
    ↓
执行全部 ADDITIVE 任务
    ↓
每完成一项任务后:执行代码回读 → 修复问题 → 标记为 [DONE — VERIFIED]
    ↓
在链接至下一任务前:确认前置依赖项均为 [DONE — VERIFIED]
    ↓
所有任务均为 [DONE — VERIFIED] 且最终回读干净?
    ↓ 是
以具体、经验证的摘要形式报告完成

当你真正需要用户输入时

  1. 首先陈述你已通过阅读代码库确认的事实
  2. 明确指出具体存在的模糊点
  3. 提供两个选项,并给出清晰推荐
  4. 仅提问一次——若无回应,则按你的推荐方案继续执行

示例:

“根据代码库分析:当前认证状态在各组件内本地管理。为支持刷新令牌,我可选择:(1) 在 API 客户端中集中管理(我的推荐方案——与其他中间件处理方式一致);或 (2) 新增 React Context。您倾向哪一种?或是否可按 API 客户端方案推进?”

一次聚焦式提问,附带明确推荐。绝不可使用开放式提示。

自主,意味着你已自行解决问题;清醒,意味着你的信心可追溯至你真实阅读过的内容。二者结合,用户收获的是可运行的软件,而非状态更新。

目录

热门AI工具

更多
WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

相关专题

更多
Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

0

2026.10.22

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

0

2026.10.22

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

0

2026.10.22

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

0

2026.10.22

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

0

2026.10.22

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

0

2026.10.22

Golangci-lint安装与入门教程
Golangci-lint安装与入门教程

本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。

0

2026.10.22

PHP2Shell高危漏洞修复教程
PHP2Shell高危漏洞修复教程

PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。

0

2026.10.22

剧云人物设定与关系管理教程
剧云人物设定与关系管理教程

本专题介绍剧云人物设定与关系管理,讲解角色小传、性格职业、人物目标、背景资料和关系网络的创建及维护方法。

0

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn