2026 年 11 月 9 日,知名开源开发者 Simon Willison 公开了一套专门对付 Claude Code 和 Codex 的代码提交折中方案。面对编码智能体自动生成的拉取请求(PR)描述,他利用 GitHub 原生支持的 HTML <details><summary> 标签,把大段机器长文折叠起来,只在顶部留下一小段人工把关的导语。这看似是个微小的排版技巧,实则挑破了当前软件工程最尖锐的矛盾——当智能体把写代码和写说明的成本双双打穿,人类审查者的注意力成了最昂贵的稀缺品。
智能体写得越全面,审查者越不想点开
现在的编码智能体已经成了独立的交付单元,问题在于它们交作业时太尽责了。一份由智能体起草的 PR 描述,往往把问题背景、修改方案到验证步骤交代得滴水不漏。内容挑不出硬伤,读起来却像注水的AI 垃圾。
哪怕智能体背后的驱动者就是 Willison 本人,他看到满屏工整的机器长文时,第一反应依然是不想读。这种排斥感源于一种礼仪倒挂——阅读者花在消化文本上的时间,远远超过了提交者生成它的时间。
Willison 给出的解法是信息分层。他在 PR 开头放一段自己挑选或改写的高层摘要,用最短的篇幅告诉协作者改动目的,有时还会配一张界面截图或命令行 --help 输出;紧接着用 <details><summary> 标签把智能体写的完整报告收进折叠块,并在折叠标题上诚实标出模型版本与思考力度。
这套模式已经跑在他的多个核心仓库里。处理 46 列宽表改版的 datasette PR #3052 标上了 Claude Opus 5.5 Medium,插件钩子更新 datasette-agent PR #51 标了 Claude Opus 5.5;翻页栏优化 PR #3043、将约 220KB 的 edit-tools.js 改为按需加载的 PR #3042,以及管理配置文件的 llm PR #1838,全都换上了这种人工导语加折叠全文的新结构。
开源社区正在打响一场审查注意力保卫战
如果只把这当成 HTML 小窍门,就低估了此刻开源维护者的焦躁。2026 年下半年,围绕 AI 生成沟通文本的摩擦已经在多个技术社区升级为正面冲突。
早在 2026 年 7 月 1 日,开发者 Ryan McCue 就撰文批评 AI 生成的 PR 描述大多只是用散文把代码 diff 复述一遍,既不解释架构权衡,还让审查者感觉像在隔空跟别人的智能体对话,直接破坏了团队内部的知识共享。到了 8 月,Willison 在 Lobsters 社区讨论面向人类写作时初次提起折叠大语言模型文本的想法,当场就有开发者反驳称,这些不能提供增量价值的生成内容根本不该折叠,而应该直接删掉。
矛盾在 2026 年 10 月达到顶点。核心基础设施项目 LLVM 社区发起了一项提案讨论,部分维护者主张明文禁止在社区交流中使用 AI 生成文本,以此防止代码审查者陷入精力枯竭;反对派则认为一刀切禁令根本无法执行,审查规范应当卡住文本质量,而不是去猜文字背后是谁敲的键盘。
学术界的实证数据同样印证了这种微妙的拉扯。早在 FSE 2024 的一项观察性研究中,学者在倾向得分加权分析下发现,Copilot 辅助生成的 PR 描述关联了更短的关闭流逝时间与更高的合并率,但那项指标统计的是从创建到关闭的总跨度而非实际阅读工时,且提交者普遍对文本做过人工增删。到了 MSR 2026 会议论文测量不同智能体描述的可读性与完整性差异,以及 2026 年 2 月 19 日发布的 arXiv 论文追踪 5 种编码智能体描述特征与人类审查情绪及合并结果的关联,指向的症结愈发清晰。
机器能精准复述改了什么,却没法替人类回答为什么要这么改。
AI 描述之所以惹人烦,不在于它写错了,而在于它模糊了详尽存档与有效沟通的边界。Willison 的折中方案恰好在全面禁令与放任不管之间搭了一座台阶——顶部那两句精简导语,本质上是提交者向审查者交出的人工背书投名状,证明自己消化过代码且愿意为这次改动负责;底下折叠起来的智能体原文,则留给日后排查故障或追溯验证步骤时按需翻阅。
别靠口诀手敲标签,用仓库配置实现自动化分层
有趣的是,Willison 在文章结尾抱怨自己总记混两个标签的嵌套顺序,还得靠背诵 details-summary 二三音节更顺口的口诀在手机键盘上手敲,并呼吁 GitHub 在编辑器工具栏里加个快捷按钮。
对于每天要处理大量智能体提交的工程团队而言,停留在手敲标签阶段显然太原始了。GitHub 官方早就支持在默认分支建立 .github/pull_request_template.md 来固化提交结构;与此同时,Claude Code 支持读取仓库根目录下的 CLAUDE.md,Codex 也支持读取 AGENTS.md 作为持久化指令。
团队技术负责人完全可以把这两种机制串起来,直接要求智能体在生成 PR 描述时自动套用 <details> 与 <summary> 标签,自动填入自身模型名称与思考档位,并把顶部的导语空位留给人类开发者最后填写。这样既省去了人工排版,又能把先给判断再附日志变成整个团队的默认工程规范。
- 提醒.按照 GitHub 官方渲染规则,若要在
<details>折叠块内部正常显示 Markdown 标题、图片或代码块,必须在标签与正文之间上下保留空行(加上open属性则会变成默认展开),否则整段说明会直接渲染成一团乱码。
代码托管平台和工具厂商的交互设计至今仍停留在纯手写时代。接下来值得紧盯两个风向:一是像 LLVM 这样被审查负担逼到墙角的大型开源社区,会不会采纳这种人工导语加折叠机器日志的折中契约来替代一刀切禁令;二是 GitHub、Anthropic 与 OpenAI 谁会率先改掉编码智能体默认展示工作量的冗长提示词,把信息分层直接做成开箱即用的原生产品能力。
