我们进行了 1,680 次 A/B 试验,在 16k token 的编译器噪声下,将已有 50 年历史的 Unix 和计算机科学基础机制与英语提示词规则进行对比测试。提示是静态符号链接

Reddit r/AI_Agents 新闻

摘要

一位实践者报告了 1,680 次配对 A/B 试验,结果表明,经典 Unix 和计算机科学形式化方法(熔断器有限状态机、SysV init-d 运行级别、git bisect、契约式设计、两阶段提交加预写日志、扩展巴科斯范式)在提升 LLM 智能体可靠性方面远胜于冗长的英语提示规则,并认为提示本质上是对训练语料中高频结构的静态符号链接。

过去几周,我在这里发帖,谈到用一份 1976 年贝尔实验室的 Makefile 替代一份包含 21 个步骤的英文提示词检查清单,以及用一个 1983 年 Unix init-d 运行级别目录(从 00_governance 到 99_next_action),再加上 fork() 和 wait() 实现的子代理隔离,替代单个可变的进度文件。一位资深系统管理员留下了一条让我印象深刻的评论:如今编写代理提示词的年轻开发者,往往从未维护过 1976 年的 Makefile、init-d 启动脚本或 RFC 822 头部——于是他们从零开始发明自定义的英文检查清单,或带方括号的伪代码标签([CRITICAL_STEP_4_GATE])。问题在于,你自定义的提示词 DSL 在预训练中的出现频率为零(Freq ≈ 0),这迫使 Transformer 在承担工作记忆功能的注意力头中模拟一个脆弱的解释器。与此同时,经典 Unix 和计算机科学形式化表示在训练语料中出现了数百万次(Freq > 1,000,000)。为了测试这种差异究竟能有多大,我们进行了 1,680 次配对 A/B 试验(涵盖四个模型档次,共消耗 4,100 万 token,每次试验都载入 16,000 token 的编译器日志和差异),比较了 500 token 的英文规则与 20 token 的计算机科学形式化表示(长度缩短 15–50 倍):熔断器有限状态机(在 k = 2 时从 CLOSED → OPEN)对比文字描述“尝试几次,然后停止”:前者在 98.3% 的试验中停止了重试循环,文字描述仅为 0.8%。SysV init-d 只写一次的锁存机制,对比在一次被污染的 23 万 token 上下文压缩后使用单个可变 PROGRESS 文件:总体存活率为 60.0%(2.5-pro 上为 96.7%),文字描述仅为 0.8%。git bisect 二分划分,对比在一个 16 阶段流水线中用文字描述指导调试:前者有 81.7% 的情况能在 <= 4 次探查内定位缺陷(3.1-pro 上为 100%),文字描述为 19.2%。契约式设计(@requires / u/ensures)+ QuickCheck 定律,对比“测试边界情况”(编译并运行,以检验 5 个隐藏的异常路径变异体):通过率为 60.0%(Pro 上为 100%),文字描述仅为 1.7%。在一个涉及 4 个包、其中 1 个包失败的重构中,采用两阶段提交(2PC + WAL):原子回滚率为 93.3%,文字描述为 45.8%。RFC 5234 EBNF 语法,对比用文字描述输出格式规则:前者为 77.5%(flash 和 pro 上均为 100%),文字描述为 32.5%。你发现过哪些经典 Unix 工具、RFC 规范或计算机科学形式化表示,能出乎意料地让 LLM 立刻严格遵从要求?
查看原文

相似文章