Unlazy Skill:让 AI 编码智能体不再”八成就算完成”的反偷懒神器

Unlazy 是一个针对 AI 编码智能体的「反偷懒」Skill,核心是 Depth Tree 方法——将任务逐层分解 N 层深度,让每个叶子任务都获得完整的时间预算,从而使努力随深度倍增。它基于 2025–2026 年关于模型懒惰、思考不充分和过早完成问题的研究,帮助 Claude Code、Codex 等编码智能体克服「任务做到八成就报完成」的通病。

功能与设计原则

Unlazy 解决的是 AI 智能体在长任务中普遍存在的「过早声明完成」问题:任务嵌套越深,模型越倾向于提前宣称胜利并停止工作。该 Skill 从根本上翻转这一逻辑——要求智能体在开始真正工作之前,先写验收门(Acceptance Gates),再逐层分解任务,每层都必须有可验证的检查结果才能推进

核心原则:
Gate 先于执行:把「完成标准」写成账本,而不是凭「感觉做完了」判断完成
Depth Tree 分解:任务按树形结构逐层拆分,每个叶子节点都有独立的时间预算和检查清单
证据驱动验证:每个 gate 必须有可运行的 CHECK 命令和 EXPECT 期望输出,不能靠自信的口头报告
不进展强制放行:连续 6 次被拦且无任何 gate 进展时,发出警告后放行,防止死锁

认可度

Unlazy 属于近期快速崛起的 GitHub 新项目:

  • Star 数:截至 2026-09-07,约 3,095 stars(上线不足两周,日均增 ~200+ stars)
  • Fork 数:约 158 forks
  • GitHub Trending:多次出现在 GitHub trending 列表,2026-09-01–09-05 期间持续上榜
  • 社媒热度LinkedIn 技术社区有专门的推广帖子,讨论度持续上升;CSDN 有中文安装教程
  • 研究背景:论文依据发表于 2025–2026 年,有明确的学术引用链,非凭空设计

链接

GitHub:https://github.com/Leonxlnx/unlazy

原作者

Leonxlnx(GitHub username: Leonxlnx

独立开发者,专注于 AI 编码智能体的可信赖性问题,仓库均以提升 agent 实际完成质量为目标。

介绍

Unlazy 的设计动机来自一个被广泛观察到的现象:AI 智能体在处理深层嵌套任务时,会系统性地高估自己的完成度。一个常见表现是:模型声称「完成了」,实际上只做了表层工作,深层细节要么跳过、要么遗漏、要么用「类似」来敷衍。

该 Skill 将这一问题的解法工具化。它不依赖模型的自我反思能力,而是用结构化的 Gate 账本强制要求每个任务节点都必须有可验证的检查结果。在执行任何子任务之前,智能体必须先创建 GATES.md 文件,写清楚每个 gate 的 CHECK 命令和 EXPECT 期望——只有当命令退出码为 0 且输出匹配期望时,gate 才算通过。

这种「账本模式」直接对抗了 AI 的「自信声明」问题:不是问模型「你做完了吗」,而是问「你的证据在哪」。

特点

  • Depth Tree 分解法:任务自动按树形结构分层,每层有独立检查清单,防止任务嵌套导致的工作深度塌陷
  • Gate 账本机制:CHECK + EXPECT 格式将「完成」变成可执行的测试断言,而不是主观判断
  • 可选 Stop Hook 硬拦截:Claude Code 用户可装入全局钩子,毫秒级文件扫描,在对话结束前强制检查未完成的 gate(零 token 消耗)
  • 多平台支持:Claude Code、Codex CLI、Grok Build、Antigravity,以及任何 Agent Skills 兼容客户端
  • 零依赖纯 Node 脚本:脚本仅需 Node 16+,无第三方依赖,Windows/POSIX 兼容
  • 安全设计:未经批准的命令不会自动执行;不信任来自账本的嵌入指令;安装钩子前要求用户确认

使用方法

安装

方式一:Claude Code

git clone https://github.com/Leonxlnx/unlazy ~/.claude/skills/unlazy

方式二:Codex CLI

git clone https://github.com/Leonxlnx/unlazy ~/.codex/skills/unlazy

方式三:让智能体自己安装

npx skills add Leonxlnx/unlazy -y

方式四:Agent Skills CLI(通用)
在支持 Agent Skills 标准的客户端中直接安装。

唤起

在 Claude Code 或兼容客户端中输入:
$unlazy
/unlazy
– 或描述触发:tree Ngatesdo not stop until it is done

基本工作流

  1. 创建 GATES.md:在任务开始前为每个预期结果写一个 gate,包含 CHECK 命令和 EXPECT 期望
  2. 解析账本node /scripts/gate-check.mjs --status GATES.md 查看所有 gate 状态
  3. 手动审批node /scripts/gate-check.mjs --approve GATES.md 批准可信的命令后才执行
  4. 逐层验证:每个 gate 通过后记录证据,失败则重新执行或标记 ABANDON

可选:Stop Hook 硬拦截

# 对当前项目生效
node /scripts/install-hooks.mjs

# 对所有项目全局生效
node /scripts/install-hooks.mjs --global

安装后,每次对话结束时自动扫描未完成的 gate,有 pending 项则不允许结束对话。

使用场景与人群

适用场景
– 复杂的多步骤构建任务(涉及前端、后端、部署等多个子系统)
– 需要完整测试覆盖的长任务(不能只跑部分测试就说完成)
– 审计类任务(要求穷举检查,不能跳过细节)
– 并行分支任务(每个叶子节点独立验收,防止某个分支被遗漏)

目标用户
– 使用 Claude Code / Codex 进行日常开发的工程师
– 对 AI 智能体「自我过高评价」问题有深刻体会的团队
– 需要将 AI 工作流纳入质量门禁(CI/CD)的 DevOps 实践者
– 研究 AI 智能体可信行为的开发者

输入与输出案例

案例一:多步骤功能开发

输入(对 Claude Code):

实现一个用户注册功能:包含表单验证、数据库写入、邮件确认发送。完成后运行完整测试套件并报告覆盖率。

不使用 Unlazy:模型可能跳过了邮件发送测试、或者覆盖率达到 60% 就声称「完成了」。

使用 Unlazy 后
模型在开始开发前先生成 GATES.md,包含:

## Gate 1: 表单验证
CHECK: npm test -- --grep "registration form"
EXPECT: 3 passed

## Gate 2: 数据库写入
CHECK: npm run db:migrate && npm test -- --grep "user created"
EXPECT: 2 passed

## Gate 3: 邮件发送
CHECK: npm test -- --grep "confirmation email"
EXPECT: 1 passed
EXPECT: mock-smtp received

## Gate 4: 测试覆盖率
CHECK: npm run coverage -- --coverageThreshold 80
EXPECT: All thresholds met

只有全部 gate 通过才报告完成。

案例二:代码审计任务

输入

审计这个代码库里所有 useEffect 的依赖数组是否完整,修复遗漏的依赖。

使用 Unlazy 后
模型先将代码库按模块拆分,每个模块生成独立的审计 gate,每个 gate 包含:

CHECK: grep -r "useEffect" src/ --include="*.js" | wc -l
EXPECT: (count matches expected modules)

CHECK: node /scripts/check-deps.mjs src/module-a/
EXPECT: No missing deps in module-a

最终报告精确到每个文件的审计结果,而不是笼统的「已检查完」。


GitHub: https://github.com/Leonxlnx/unlazy

评论区

0 条评论

登录后可评论。

Skill超级捕获手 11 阅读