强制任务完成:将目标转化为通过/失败标准,运行工作者,评判输出,反馈缺失内容,循环直至每项标准满足。
校对:Python round(脚本/run.py)为工人和法官角色调用LLM
功能概述
校对:Python round(脚本/run.py)为工人和法官角色调用LLM是一项面向实际任务的技能,主要用于在LLM通过之前,不要离开,而你在每个检查站都保持控制;OpenClaw 平台。
核心要点
- 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
- 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
使用与执行
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
结果检查与注意事项
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
Checkmate
一个确定性的 Python 循环(scripts/run.py)调用大语言模型(LLM),分别扮演 worker(执行者)与 judge(评判者)角色。
任何输出都必须通过质量验证才能释放——而你在每一个检查点(checkpoint)都保有完全控制权。
运行要求
- OpenClaw 平台 CLI 工具(
openclaw)——必须已加入系统PATH环境变量。用于以下操作:openclaw gateway call sessions.list—— 获取会话 UUID,用于注入回合(turn injection)openclaw agent --session-id—— 将检查点消息注入正在运行的会话中openclaw message send—— 作为备用通道投递消息(例如 Telegram、Signal)
- Python 3 ——
run.py仅依赖标准库,无需安装任何 pip 包 - 无需单独配置 API 密钥或环境变量——所有请求均经由网关(gateway)已有的 OAuth 认证流程路由
安全模型与权限机制
⚠️ 这是一个高权限技能(high-privilege skill)。 在批量/自动化模式下启用前,请务必完整阅读本节说明。
所启动的 worker 和 judge 进程将继承完整的 host-agent 运行时权限,包括:
exec(可执行任意 shell 命令)web_search、web_fetch- 所有已安装的技能(包括那些绑定 OAuth 凭据的技能——如 Gmail、Drive 等)
sessions_spawn(worker 可进一步生成子代理)
这意味着:你提供的任务描述将直接决定 worker 的行为——请将其视作一段即将执行的代码,而非一条待发送的消息。
批量模式(--no-interactive)将移除全部人工干预环节。 在交互模式(默认)下,你需要在循环继续前,手动批准每一轮的质量标准(criteria)与每个检查点;而在批量模式下,质量标准自动通过,整个循环将完全自主运行直至完成——仅建议在你完全信任该任务内容与运行环境的前提下启用。
用户输入桥接机制(user-input bridging)会将任意内容写入磁盘。 当你对某个检查点作出回复时,主代理(main agent)会将你的原始回复内容逐字写入工作区(workspace)下的 user-input.md 文件中;编排器(orchestrator)随后读取并据此执行。请勿将未经验证的第三方内容作为检查点回复进行转发。
适用场景
当「正确性」比「速度」更重要时,请使用 Checkmate——即“首次尝试即达标”不可接受的情形。
典型适用场景:
- 必须通过测试或满足明确规范的代码
- 需达到预定义质量门槛的文档或报告
- 需全面覆盖特定范围、严谨深入的研究任务
- 你原本会反复手动迭代直至满意的所有任务
触发短语(满足任一即可):
checkmate: TASKkeep iterating until it passesdon't stop until doneuntil it passesquality loop: TASKiterate until satisfiedjudge and retrykeep going until done
架构设计
scripts/run.py (确定性的 Python while 循环 —— 编排器)
├─ 输入循环 [最多 max_intake_iter 次,默认为 5]:
│ ├─ 草拟质量标准(输入提示 + 任务 + 优化反馈)
│ ├─ ⏸ 用户审核:展示草稿 → 等待用户批准或反馈
│ │ 若批准 → 锁定 criteria.md
│ │ 若反馈 → 进入下一轮优化迭代
│ └─ (非交互模式:由 criteria-judge 自动评估代替人工)
│
├─ ⏸ 启动前门控(PRE-START GATE):展示最终任务与质量标准 → 用户确认“开始”
│ (此处支持编辑任务 / 取消执行)
│
└─ 主循环 [最多 max_iter 次,默认为 10]:
├─ Worker:启动代理会话 → 输出至 iter-N/output.md
│ (完整运行时权限:exec、web_search、全部技能、OAuth 认证)
├─ Judge:启动代理会话 → 输出至 iter-N/verdict.md
├─ 通过?→ 写入 final-output.md,通知用户,退出
└─ 失败?→ 提取差距项 → ⏸ 检查点:向用户展示评分与差距项
是否继续?→ 下一轮迭代(带 judge 提出的差距项)
redirect:X?→ 下一轮迭代(附加用户指定的方向指令)
是否终止?→ 结束循环,保留当前最优结果
交互模式(默认):用户需批准质量标准、确认启动前门控,并审阅每一次失败后的检查点。
批量模式(--no-interactive):完全自主运行;由 criteria-judge 完成输入阶段评估,不设检查点。
用户输入桥接机制
当编排器需要获取用户输入时,将执行以下步骤:
- 写入
workspace/pending-input.json(含类型标识及工作区路径) - 通过
--recipient与--channel配置的通道发送通知 - 每 5 秒轮询一次
workspace/user-input.md(最长等待时间由--checkpoint-timeout分钟数限定)
主代理充当桥接角色:当 pending-input.json 存在且用户完成回复后,主代理将用户响应内容原样写入 workspace/user-input.md;编排器将自动读取该文件并恢复执行。
每个代理会话均通过如下命令启动:
openclaw agent --session-id--message --timeout --json
所有通信均经由网关 WebSocket,复用现有 OAuth 认证——无需额外 API 密钥。
Worker 拥有完整代理运行时权限:exec、web_search、web_fetch、全部技能、sessions_spawn。
你的职责(主代理)
当 Checkmate 被触发时,请按以下步骤操作:
获取当前会话 UUID(用于直接注入代理回合):
openclaw gateway call sessions.list --params '{"limit":1}' --json | python3 -c "import json,sys; s=json.load(sys.stdin)['sessions'][0]; print(s['sessionId'])"同时记录你的
--recipient(频道用户/聊天 ID)与--channel(备用通道)。创建工作区:
bash
/scripts/workspace.sh /tmp "TASK" 命令将输出工作区路径。如有必要,可将完整任务描述写入
workspace/task.md。运行编排器(后台执行):
python3
/scripts/run.py --workspace /tmp/checkmate-TIMESTAMP --task "FULL TASK DESCRIPTION" --max-iter 10 --session-uuid YOUR_SESSION_UUID --recipient YOUR_RECIPIENT_ID --channel 建议配合
exec并设置background=true。该进程将持续运行直至任务完成。
添加--no-interactive参数可启用完全自主运行(无用户检查点)。通知用户:告知 Checkmate 已启动、当前处理的任务内容,并说明用户将通过你配置的通道接收质量标准草稿与检查点消息,以便审阅和批准。
桥接用户回复:当用户对某条检查点消息作出响应后,请检查是否存在
pending-input.json,并将用户回复内容写入workspace/user-input.md。
用户输入桥接操作指南
当收到检查点消息时(即编排器已向用户发送质量标准/审批/检查点请求),请桥接用户回复:
# 查找当前生效的 pending input cat/checkmate-*/pending-input.json 2>/dev/null # 路由用户回复内容 echo "USER REPLY HERE" > /path/to/workspace/user-input.md
编排器每 5 秒轮询一次该文件。一旦写入成功,它将自动恢复执行,并立即删除该文件。
各门控节点支持的用户回复类型:
| 门控节点 | 继续执行 | 重定向指令 | 取消执行 |
|---|---|---|---|
| 质量标准审阅 | "ok", "approve", "lgtm" | 任意反馈文本 | — |
| 启动前确认 | "go", "start", "ok" | "edit task: NEW TASK" | "cancel" |
| 迭代检查点 | "continue", (空内容) | "redirect: DIRECTION" | "stop" |
参数说明
| 参数标志 | 默认值 | 说明 |
|---|---|---|
--max-intake-iter |
5 | 质量标准输入阶段的优化迭代次数 |
--max-iter |
10 | 主循环最大迭代次数(复杂任务建议提高至 20) |
--worker-timeout |
3600s | 单次 worker 会话超时时间 |
--judge-timeout |
300s | 单次 judge 会话超时时间 |
--session-uuid |
— | 代理会话 UUID(来自 sessions.list);用于直接注入回合——为主要通知路径 |
--recipient |
— | 频道接收方 ID(如用户/聊天 ID、E.164 电话号码);当直接注入失败时作为备用路径 |
--channel |
— | 备用通知的投递通道(例如 telegram、whatsapp、signal) |
--no-interactive |
off | 禁用用户检查点(启用批量模式) |
--checkpoint-timeout |
60 | 每个检查点等待用户回复的最大分钟数 |
工作区目录结构
memory/checkmate-YYYYMMDD-HHMMSS/
├── task.md # 任务描述(用户可在启动前编辑)
├── criteria.md # 输入阶段完成后锁定
├── feedback.md # 累计的 judge 差距项 + 用户方向指令
├── state.json # {iteration, status} — 支持断点续跑(resume)
├── pending-input.json # 等待用户输入时写入;收到回复后自动删除
├── user-input.md # 主代理将用户回复写入此处;编排器读取后自动删除
├── intake-01/
│ ├── criteria-draft.md
│ ├── criteria-verdict.md (仅非交互模式使用)
│ └── user-feedback.md (交互模式:用户审阅评论)
├── iter-01/
│ ├── output.md # worker 输出
│ └── verdict.md # judge 评判结果
└── final-output.md # 任务完成时写入
断点续跑(Resume)
若脚本执行被中断,只需使用相同的 --workspace 参数重新运行即可。它将自动读取 state.json,跳过已完成步骤;已锁定的 criteria.md 将被复用;已完成的 iter-N/output.md 不会重复执行。
提示词(Prompts)
由 run.py 实际调用的提示词:
prompts/intake.md—— 将任务转换为质量标准草稿prompts/criteria-judge.md—— 评估质量标准质量(APPROVED / NEEDS_WORK)——仅用于非交互模式prompts/worker.md—— worker 提示词(变量:TASK、CRITERIA、FEEDBACK、ITERATION、MAX_ITER、OUTPUT_PATH)prompts/judge.md—— 根据质量标准评估输出结果(PASS / FAIL)
仅作参考(run.py 不调用):
prompts/orchestrator.md—— 架构说明文档,阐释设计原理
热门AI工具
相关专题
本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。
0
2026.11.06
围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。
0
2026.11.06
详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。
0
2026.11.06
DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。
0
2026.11.05
DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。
0
2026.11.05
本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。
0
2026.11.04
本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.8万人学习
共6课时 | 54.7万人学习
最新文章