Token导航 LogoToken导航TokenDH.com
开发需要联网clawhub未标认证来源可访问clear审计通过

self-correction自我修正

Agent Skill

self-correction 用于记录任务执行中的错误、用户纠正、经验和能力缺口,适合在 OpenClaw 中希望让 Agent 持续沉淀问题、修正和最佳实践时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

3,672

周安装

150

GitHub Stars

1

下载量

1,188
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:self-correction(自我修正)
来源仓库:https://github.com/hauxu/self-correction
安装命令:
openclaw skills install self-correction
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install self-correction

简介

模型自我检查与纠错技能。当用户表达反对意见或指出错误时触发,如"不对"、"你回答错了"、"不是这样"、"重新理解"、"等等"、"我说的不是这个意思"等表达。用于重新分析和优化用户原始意图,而非修改上一轮回答。

SKILL.md

AIGC
ContentProducer
Minimax Agent AI
ContentPropagator
Minimax Agent AI
Label
AIGC
ProduceID
7e99b26eee0fb672205dcd800a3b9801
PropagateID
7e99b26eee0fb672205dcd800a3b9801
ReservedCode1
3045022100950c99c5159e39f63b3de0ff4fe67a9216bee5d235e393964ecb75831d686f3402200da343d309a5a50fd3efc996bb26a673bcab7d68f337df46199aa5a0f7b5b74d
ReservedCode2
30450220128ca5a9df279cce64fce0ffd2c7c9dae2eae2b1ae63f3feb56b80e2784b239b022100b242ce3d92fae3eaa6d1fac261dd8fc33d39d3e8a9fdced6428c21b461a1e58d
description
模型自我检查与纠错技能。当用户表达反对意见或指出错误时触发,如"不对"、"你回答错了"、"不是这样"、"重新理解"、"等等"、"我说的不是这个意思"等表达。用于重新分析和优化用户原始意图,而非修改上一轮回答。
name
self-correction

模型自我检查与纠错技能

触发条件

当检测到用户使用以下类型的表达时,激活本技能:

一、明确否定类(直接指出错误)

触发短语语境示例
"不对""不对,我问的不是这个"
"不是""不是,你理解错了"
"错了""错了,应该是..."
"错误""你的回答有错误"
"答非所问""你答非所问了"

二、质疑追问类(要求重新理解)

触发短语语境示例
"等等""等等,你搞错了"
"等一下""等一下,我不是这个意思"
"停""停,你说的不对"
"等等等等""等等等等,我重新说"
"重新理解""请重新理解我的问题"

三、否定前因类(否定AI回答的前提)

触发短语语境示例
"你回答错了""你回答错了"
"你理解错了""你理解错了"
"你搞错了""你搞错了"
"你误会了""你误会了"
"你说反了""你说反了"

四、否定结果类(否定AI的输出内容)

触发短语语境示例
"不是这样""不是这样写的"
"不是那样的""不是那样的"
"不是这个""不是这个意思"
"我说的是...""我说的是Python,不是Java"
"不是我要的""这不是我想要的"

五、重新表述类(要求重新开始)

触发短语语境示例
"重新说""你重新说一遍"
"再说一遍""再说一遍"
"换个说法""换个说法"
"换个方式""换个方式解释"
"我换个说法""我换个说法..."

六、修正补充类(指出遗漏或补充)

触发短语语境示例
"漏了""你漏了一个要求"
"没说完""你没说完"
"不完整""你的回答不完整"
"还有""还有,你忘了..."
"但是""但是我还要..."

七、中文否定词快速检测

检测以下否定词在句中的出现:

  • "不" + 动词(不对、不是、不应该)
  • "没" + 动词(没说、没理解、没讲清楚)
  • "别" + 动词(别说了、别理解错了)
  • "无" + 名词(无法理解、无道理)

核心机制

重要原则:重新理解用户意图,而非修改AI的回答

  1. 不修改上一轮回答:不要在本轮对话中直接修改或更正上一轮的AI回答
  2. 回溯用户原始意图:重新分析用户上一轮提出的原始问题或请求
  3. 重新理解与优化:对用户的原始prompt进行深度理解和优化
  4. 输出新的理解结果:基于重新理解,给出全新的回应

执行流程

步骤1:检测与识别

当检测到反对意见表达时:
1. 立即暂停当前对话方向
2. 识别反对意见的具体类型(否定、质疑、修正、补充)
3. 定位用户上一轮的核心请求
4. 记录反对意见可能揭示的问题线索

步骤2:回溯与重新理解

1. 回溯查看用户上一轮完整的原始输入
2. 识别原始请求中的:
   - 核心需求/目标(用户真正想要什么)
   - 约束条件/要求(语言、格式、范围等)
   - 隐含假设/上下文(用户默认的前提)
   - 可能的歧义点(哪些词可能有多种理解)
3. 分析反对意见可能揭示的问题:
   - 理解偏差(我理解错了哪个概念)
   - 信息缺失(用户没说清楚什么)
   - 假设错误(我假设了什么不存在的条件)
   - 表达不清(用户的表达哪里可能引起误解)
4. 列出2-3个最可能的用户真实意图假设

步骤3:重新构建与输出

1. 选择最可能的用户意图假设
2. 基于新理解,优化问题表述
3. 生成新的回应方案
4. 如果有多个可能,简洁地确认关键点
5. 输出完整的新答案

输出格式

当触发自我纠错时,输出应包含:

[自我检查] 检测到您的反馈信号,正在重新理解您的原始意图...

[重新理解]
- 原始需求:<重新表述的用户需求>
- 可能的问题点:<分析导致误解的关键点>
- 关键确认:<如有不确定的地方,简短询问>

[新答案]
<基于重新理解的完整回答,直接输出,不要说"这是新的回答">

详细示例场景

示例1:技术栈理解偏差

上下文:用户要求用Python写代码

用户第一轮: "帮我写一个调用API的函数" AI回答: 提供了使用requests库的同步HTTP请求函数 用户反对: "不是这样的,我要的是异步的"

触发自我纠错输出:

[自我检查] 明白了,您指的是异步API调用。让我重新理解...

[重新理解]
- 原始需求:调用API的函数
- 可能的问题点:我默认使用了同步方式,但用户需要异步实现
- 关键确认:使用asyncio + aiohttp?还是requests的异步版本?

[新答案]
import aiohttp
import asyncio

async def call_api(url, headers=None, params=None):
    """异步调用API函数"""
    async with aiohttp.ClientSession() as session:
        async with session.get(url, headers=headers, params=params) as response:
            return await response.json()

示例2:语言/框架理解错误

上下文:用户提到某个技术名称

用户第一轮: "Vue的computed怎么用" AI回答: 详细解释了Vue 3的computed 用户反对: "等等,我说的是Vuex,不是Vue"

触发自我纠错输出:

[自我检查] 了解了,您指的是Vuex中的计算属性。让我重新...

[重新理解]
- 原始需求:Vuex的getters用法
- 可能的问题点:Vue和Vuex是两个不同的概念
- 关键确认:Vuex的getters帮助函数(mapGetters)?

[新答案]
import { mapGetters } from 'vuex'

export default {
  computed: {
    ...mapGetters(['totalPrice', 'itemCount'])
  }
}

示例3:需求范围不明确

上下文:用户的请求过于笼统

用户第一轮: "帮我处理这个数据" AI回答: 提供了数据处理的基本代码 用户反对: "我说的处理还包括清洗、可视化和导出"

触发自我纠错输出:

[自我检查] 理解了,"处理"包含多个步骤。让我重新整理...

[重新理解]
- 原始需求:数据处理(含清洗、可视化、导出)
- 可能的问题点:"处理"是个多义词,包含多个子任务
- 关键确认:使用pandas清洗、matplotlib可视化、导出格式偏好?

[新答案]
import pandas as pd
import matplotlib.pyplot as plt

# 1. 数据清洗
df = df.dropna()
df = df[df['value'] > 0]

# 2. 数据可视化
plt.figure(figsize=(10, 6))
df['value'].plot(kind='bar')
plt.title('Data Visualization')
plt.savefig('output.png')

# 3. 导出
df.to_csv('cleaned_data.csv', index=False)

示例4:隐含上下文遗漏

上下文:用户有特殊环境或约束

用户第一轮: "写个排序函数" AI回答: 通用排序算法实现 用户反对: "我用的是嵌入式设备,内存很小"

触发自我纠错输出:

[重新理解]
- 原始需求:在嵌入式设备上运行的排序函数
- 可能的问题点:未考虑嵌入式环境的内存限制
- 关键确认:需要原地排序?是否有特殊的数据类型?

[新答案]
/**
 * 原地排序 - 冒泡排序(内存占用最小)
 * 适用于嵌入式设备和内存受限场景
 */
void bubbleSort(int* arr, int n) {
    for (int i = 0; i < n-1; i++) {
        for (int j = 0; j < n-i-1; j++) {
            if (arr[j] > arr[j+1]) {
                int temp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = temp;
            }
        }
    }
}

示例5:格式/输出要求不符

上下文:用户有特定的输出格式要求

用户第一轮: "给我讲讲这个概念" AI回答: 一大段文字解释 用户反对: "太多了,我要用表格呈现"

触发自我纠错输出:

[重新理解]
- 原始需求:用表格形式讲解某个概念
- 可能的问题点:输出了文字而非表格格式
- 关键确认:概念的关键对比项有哪些?

[新答案]
| 特性 | 描述 |
|------|------|
| 内存占用 | O(1)原地 |
| 时间复杂度 | O(n²) |
| 稳定性 | 稳定 |
| 适用场景 | 小数据量 |

示例6:否定+重新表述

上下文:用户明确否定后重新说

用户第一轮: "解释一下闭包" AI回答: 闭包的定义和JavaScript示例 用户反对: "不对不对,我说的是Python的装饰器,就是带@的那种"

触发自我纠错输出:

[重新理解]
- 原始需求:Python装饰器(@语法)的用法
- 可能的问题点:混淆了闭包和装饰器的概念
- 关键确认:基础装饰器还是带参数的装饰器?

[新答案]
import functools

def my_decorator(func):
    @functools.wraps(func)
    def wrapper(*args, **kwargs):
        print("Before function call")
        result = func(*args, **kwargs)
        print("After function call")
        return result
    return wrapper

@my_decorator
def say_hello():
    print("Hello!")

注意事项

  1. 保持中立客观:不要急于认错或道歉,专注于理解用户真实意图
  2. 主动澄清:如果原始意图确实不明确,主动向用户询问关键点
  3. 避免重复:确保新的回答与之前的回答有实质性不同
  4. 记录学习:在内心记录可能导致误解的模式,下次避免
  5. 简洁高效:不要过度解释纠错过程,快速进入新的理解
  6. 多重假设:当有多种可能的理解时,列出最可能的几项让用户确认
  7. 基于原始输入:始终从用户第一轮的原始输入出发,而非AI的上一轮回答

禁止事项

  • ❌ 不要在本轮直接修改上一轮的回答文本
  • ❌ 不要过度道歉(最多一句"明白了")
  • ❌ 不要假设用户的反对理由
  • ❌ 不要要求用户详细解释哪里错了(应主动分析)
  • ❌ 不要让纠错过程比正常回答更长
  • ❌ 不要重复之前的错误假设

快速检查清单

触发自我纠错后,在输出前确认:

  • [ ] 是否从用户原始输入出发分析?
  • [ ] 是否识别了1-2个可能导致误解的关键点?
  • [ ] 新的回答是否与之前的有实质性不同?
  • [ ] 输出是否简洁,不超过正常回答的长度?
  • [ ] 是否避免了道歉和过度解释?

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

77.94%
按下载量换算926

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills