Ratchet Pattern

reins 的『回合(turn)』是什么
解剖 reins 的最小执行单位——回合(turn)。未被记录的就不是回合——从这一条定义出发,驱动器无关性、重启韧性、可审计性全部随之而来。与 2026 年 6 月的 Loop Engineering 讨论对照,可以看到回合如何把那些建议变成结构。

系统让天才更加闪耀
没有结构的天才会迷失方向,只有结构则趋于平庸。当天才与结构相乘,才能发挥真正的价值。ZenFlow 基准测试(Claude Sonnet,32 个端点,43 分钟)以及 B-17、Toyota、WHO 手术清单的历史证明,都指向同一原理。

漂移为何永不消亡
漂移修好了还会卷土重来。把业务逻辑用 SSOT 封闭之后,同样的漂移在生成那个 SSOT 的生成器里又上移了一层。为什么它永远杀不死?从熵开始重新构建答案。

abloq —— 智能体运营的博客,验证由机器锁定
把博客交给智能体,文章是出得来的。问题在于它不可信——它会伪造出处,会给压根没改的文章抬高 lastmod,会动你没让它碰的文件。如果人要从头到尾全部审一遍,那委托还有什么意义。abloq 的答案是分工:生成是概率性的,验证是确定性的。人写的只有一张洞见规范(insight.yaml),撰稿、翻译、更新、补证由智能体以 Quest 代行,而质量由从一张 blog.yaml 派生出的确定性门来担保。锁定的 PASS 不可逆——智能体可以一次性用完,进展却会累积。

你的智能体循环为何会发散
随着 Loop Engineering 越来越普及,人们撞上了同一堵墙 —— 循环无法收敛,反而发散。无限空转、漂移、奖励黑客,这三张面孔的根源只有一个:把生成者本身又塞回了循环的裁决槽位。但发散反倒算运气好,因为它看得见。真正可怕的是悄悄假收敛的循环。处方只有一条 —— 把锁定「完成」的权限交给确定性的 gate,而不是 LLM。

生产流量即规范
遗留代码没有文档,也没有测试。可它此刻正在运行。一个月记录完善的日志就是规范——用生产流量捕获当前行为,生成 Hurl 集成测试,你便能在一行代码都不读的情况下,固定遗留系统的功能,为重构铺下安全网。

烧掉一座城,只为换来一个答案
一个万亿参数的模型,为了吐出一个答案,烧掉相当于一座城市的电与水。我觉得这疯了。在四处寻找答案的途中我才明白:大家都想修掉的那个缺陷,LLM 的阿谀,恰恰就是答案。喂给它 fact,阿谀就变成了准确率。这篇文章,讲的是我为什么开始做 Reins。

reins —— Quest CLI 只留下领域,ratchet 交给框架
how-make-quest 教你亲手打造 Quest CLI。可是当你造第二个 CLI 时,又得重写同样的 ratchet、同样的 scan/next/submit、同样的汇总。reins 把这些不变的部分抽成框架——ratchet、命令骨架、汇总、export 由 reins 供给,你只实现领域的门(gate.Definition 的 4 个方法)。门是 cheese 防御规则的目录,而 toulmin defeat 图会把『为什么输了、改什么就能赢』的攻略手册返还给智能体。

如何制作 Quest CLI —— 亲手打造让机器判定完成的工具
AI 会说"已经全部完成了"。可实际上并没有结束。本文教你亲手打造解决这个问题的工具——Quest CLI。从原理(为什么)到 cobra 命令骨架(怎么做),仅凭这一篇文章,就能让智能体造出一个 Go 编写的 Quest CLI。huma 就是实战示例。

LLM 多智能体提升准确率的前提条件
多跑几个智能体就会更准确?只对了一半。用同样数据训练出来的模型,会在同样的地方一起出错。多智能体能起作用的条件只有两个——要么设计出误差独立性,要么在可验证的领域里,在 LLM 之外立起一个验证器。

为什么你的智能体永不停止
面对“智能体已运行 24 小时”的炫耀,浮现的感觉不是赞叹而是疑问——为什么还没结束?代码不是搜索问题,而是约束满足问题。能停下来的系统,才是健康的系统。

「完成」由谁来定义 — 游戏早了40年解决的问题
当你用五张照片定义租客退租确认的那一刻,它就变成了一个游戏任务。将「完成」定义为机械可验证的条件而非执行者的声明 — 这是游戏早了40年解决的问题,也是让AI代理真正把事情做对的方法。

filefunc × Hono — 让Agent一次读完的代码,从60行压缩到18行
我们用filefunc对star数23k的实战框架Hono进行了重构,4419个测试全部通过。测量结果显示——Agent读取单个概念时,代码中位数从60行缩减至18行,降幅71%。关键不在于文件数量,而在于「读取长度」。

先例不是真相 — AI如何将临时修补复制成权威
AI能读懂代码的结构,却无法判断那是一个决策还是一个临时补丁。所以复制得越多,缺陷就越能积累出虚假的权威。打破这个循环的,不是更大的模型,而是人的一句反问。

构建Agent可操作的系统
企业 IT预算的60~80%用于守护锁死的legacy。因为打不开。AI泡沫的真正含义不是模型变聪明——而是企业锁死的记忆正在变得可达。

huma -- 一个端点都不漏的棘轮
让AI代理测试42个端点,它在第15个就宣布完成了。huma将端点列表变成棘轮会话,让代理一个都漏不了。scan、next、write、verify。四个命令,零配置。

Agent Operable Codebase
人类读起来好的代码和AI Agent操作起来好的代码是一回事吗?不是。一个文件里有20个函数时,Agent性能下降30~85%。办公室要变成工厂。

第6课. 通过就锁定 — Ratchet Pattern原理与批量应用
AI宣布'全部完成'。实际上是40/527。Ratchet Pattern将完成判定交给机器。

Reins Engineering — 给AI装上缰绳
Harness engineering是围栏,能防止代理越界,但无法确保它到达目的地。Reins Engineering是缰绳——用确定性契约引导方向,用棘轮锁定行为,将决策与实现分离。

Hurl阻止Vibe Coding的漂移
Vibe coding在3个月内因逻辑漂移而崩溃。CMU、METR、DORA、Amazon的案例证明了这一点。用Hurl将API契约声明为纯文本并用棘轮锁定,在不限制AI自由的前提下结构性地抑制漂移。

yongol — AI 编程 SaaS 的龙骨
氛围编程在200个端点处崩溃,因为AI无法区分决策与实现细节。yongol将AI的工作对象从代码转移到10种声明式规范,并在编译前强制执行跨层一致性。Harness with reins。

AI的谄媚偏差是一项商业功能
LLM的谄媚偏差不是bug。它是RLHF的数学必然,也是大型科技公司没有动力修复的商业功能。这就是LLM-as-Judge在结构上不可能实现的原因。

编程Agent为何能工作,又为何会崩溃
同一个模型在网页聊天中产生幻觉,却在编程Agent中一次性交付200行功能。不是因为模型变了——而是topology变了。生成可以是概率性的。验证必须是确定性的。

Ratchet Pattern — 让 Agent 做到底的方法
让 AI Agent 为 527 个函数编写测试,它在第 40 个时宣布'完成了'。Ratchet Pattern 通过将完成判定交给机械式 verifier,迫使 Agent 走到终点。

tsma -- 遗留代码的回归防线
一个 CLI 工具:索引所有函数、检测测试有无、测量覆盖率、向 LLM 代理提供精确反馈。一条命令为遗留代码构建回归防线。

filefunc — 一文件一概念
AI 代码智能体的导航单位是文件。filefunc 是一种 Go 代码结构约定和 CLI 工具,强制每个文件只包含一个概念。