Simon Willison:把智能体写的冗长 PR 描述折叠进 details/summary 折叠块,开头只留一段人写的导语
如今我对自己项目做的大多数改动,都是由 Claude Code 或 Codex 替我开的 PR。PR 是我的工作单元:我用它把多个提交打包在一起,反复迭代直到功能完成,记录决策,然后合并最终结果。今天的编码智能体非常擅长写 PR 描述。
它们把工作描述得太好了
问题就在于它们写得太好了。智能体写的 PR 描述准确而全面:描述问题、详细的解决方案,以及为验证所采取的步骤。要消化的信息量很大。
它未必是垃圾内容,但读起来就像垃圾内容!
AI 写的 PR 一眼就能认出来,和其他形式的 AI 写作一样,我的第一反应可以概括为「这么多我可不读」。不管信息多准确、多有用,一想到读它花的时间比驱动它的作者写它花的时间还长,我立刻就没了兴致……哪怕那个驱动的作者就是我自己!
我想要人的编辑判断。我希望有人对这个 PR 思考得刚好足够久,给我一段经过人认可的导语,帮我在高层面上理解这个 PR 是干什么的、值不值得我多花注意力。
我想我找到了一个省力又感觉对路的办法。
把大部分内容藏进 details/summary
HTML 的 <details><summary> 元素会渲染成一个折叠的标题(summary),点开就能看到更长的正文。代码是这样的:
<details>
<summary>Claude Opus 5.5</summary>
<h2>The hook</h2>
Plugins implement <code>register_agent_reference_types(datasette)</code>...
</details>
关键在于,GitHub Markdown 支持 <details><summary>。你可以把这些标签直接放进 issue 评论或 PR 描述里,GitHub 会隐藏详细内容,只显示 summary 和一个展开箭头。
我已经开始在 AI 生成的 PR 上这么用了。
我的 PR 开头一段会精心挑选,作为对整体情况的高层说明:一个人能读完、又能帮他快速了解情况的最短文字。
有时我还会放一张截图,因为图片往往是快速展示新功能的最佳方式。
接下来,智能体写的完整长文放进一个 <details> 里。我用模型名,通常还加上推理强度作为 summary,让人一眼就清楚是怎么回事,比如「Claude Opus 5.5 Medium」。
现在我的 PR 感觉没那么「水」了!信息都还在,但读者扫一眼就能拿到最重要、经过人挑选的信息,不会被好几段智能体写的细节看得两眼发直。
导语并不总是我亲手写的:有时智能体已经给出了我需要的内容,只是埋在一大堆其他文字里。我对读者的承诺是,这段简短的开头代表我作为人的判断,确实值得他们花时间。
下面是我最近用这种模式的几个例子,附上我用的开头:
- datasette PR #3052:把行页面重新设计为纵向的字段列表——「行页面把单独一行显示成只有一行的表格。对于宽表,比如 46 列的 GitHub
repos表,会一直向右滚出很远,页面大部分是空白。」(后面接一张截图) - datasette PR #3043:分页栏显示当前页包含哪些行——「跨多页的表格页面现在能清楚显示你在哪里,并且在页面顶部和底部都提供导航。」(加截图)
- datasette PR #3042:通过一个小加载器按需加载 edit-tools.js——「
edit-tools.js(约 220KB)过去在每个表、行和数据库页面都会加载,即使用户根本没有编辑权限。现在只为有编辑权限的用户、在他们第一次接触编辑功能时(包括鼠标悬停在编辑链接上)才加载。」 - datasette-agent PR #51:register_agent_reference_types 插件钩子——「通过新的
register_agent_reference_types(datasette)插件钩子,让插件可以往聊天输入框的#标记里加入自己的条目类型。」——即上图所示。 - llm PR #1838:新增 llm openai endpoint add/list/remove/path 命令——「新增管理
extra-openai-models.yaml中记录的命令,这样就能从命令行保存兼容 OpenAI 的端点,而不用手工编辑 YAML。」——后面贴了--help的输出。
记忆口诀
我以前总记不住标签的顺序:到底是 <details><summary> 还是 <summary><details>?
有两个小技巧帮了我。
第一个,也是最明显的:<summary> 显然是你概括 details 的那部分。它是那行可以点击展开的文字所用的标签,而 <details> 元素必须把其余所有内容包起来。
更好的技巧是,永远把这两个标签叫作「details-summary」。
「details-summary」是两个音节接三个音节,念起来比「summary-details」那种三加二的节奏顺口得多。
把「details-summary」大声念几遍,你就再也不会忘记标签的顺序了。
(我仍然希望 GitHub 能在 Markdown 编辑器里为此加一个按钮:一方面省得我在手机键盘上费力地敲,另一方面也能让更多 GitHub 用户知道有这个功能。)
https://simonwillison.net/2026/Nov/9/details-summary/转载,侵删。版权归原作者,如有侵权请来信,收到后删除。
同一批次的其他文章
Anthropic 约 34 亿美元接手 1.7 吉瓦燃气发电机订单,自备电力给数据中心
据《金融时报》11 月 8 日报道、CNBC 转述,Anthropic 在 9 月底从得州设备商 OnePWR Solutions 手里买下 1.7 吉瓦重型燃气发电机的采购承诺,交易约 34 亿美元,还包含安装所需的工程和施工能力,但没有收购 OnePWR 本身。路透此前报道 …
黄仁勋还能保住 CEO 吗?耶鲁 Sonnenfeld 估计「大约五五开」,并拆解英伟达董事会接下来要查什么
英伟达董事会 11 月 8 日宣布独立调查,起因是黄仁勋向员工承认婚外情,对象是美国官员怀疑为中国情报人员的 Megaspeed 高管 Alice Huang。TechCrunch 采访耶鲁管理学院 Jeffrey Sonnenfeld:他认为这是「判断力极差」,黄仁勋能否过关取…
SplatAnything(浙大 3DV):给前馈式 3D 高斯重建加「高斯间距归一化」,同一个模型能处理任意尺度的场景
改进了什么:前馈式 3DGS 模型一步就能从几张图重建 3D 场景,但场景大小和视角一变,预测出的高斯点分布就失准,泛化差。靠什么:作者提出 Gaussian Spacing Normalization,把场景级的高斯间距统计量规范到统一尺度再预测,相当于先消掉「这个场景有多大」…
网易有道 Confucius4-R2T2:不改模型结构,只用「最长稳定前缀」标签做后训练,让流式语音识别接近整句识别的准确率
改进了什么:流式语音识别为了低延迟要边听边出字,但已经吐出的字常常被后面的音频推翻重写,字幕一闪一闪,准确率也不如等整句说完再识别。靠什么:作者构造「最长稳定前缀」标签,只让模型学习输出那部分之后不会再变的文字,在现有模型上做后训练,不需要改架构。效果:论文称在低延迟下接近整句(…
Video-Coder:让智能体写代码搭 3D 场景再渲染成视频,用执行结果和视频质量做强化学习奖励
改进了什么:直接用扩散模型生成视频很难精确控制物体位置、运动和镜头。靠什么:Video-Coder 换了一条路,让模型写并执行代码来构建动态 3D 场景,再渲染出视频;训练分两步,先监督微调,再用「代码能否执行」和「视频是否符合要求」两类奖励做强化学习。效果:论文称可控性明显优于…
AgentBaton:智能体任务做到合适阶段就从强模型「交棒」给便宜模型,准确率不掉、API 成本大降
改进了什么:智能体全程用最强模型很贵,全程用小模型又容易失败。靠什么:作者发现任务前期规划交给强模型、后期执行交给高效模型,在合适的阶段交接就能保住准确率;他们训练了一个轻量检测器 AgentBaton,判断什么时候可以交棒。效果:论文称大幅节省 API 费用,并把准确率和成本的…
P²-MOPD:多教师在线蒸馏时,把各个专家模型的参数当先验,学生恢复更快、各项能力更均衡
改进了什么:把多个领域专家模型蒸馏成一个学生模型时,常见的多教师在线策略蒸馏(MOPD)收敛慢,而且容易偏向某几个教师。靠什么:P²-MOPD 在在线蒸馏目标下同时优化教师的混合系数和学生权重,让专家模型作为参数先验参与初始化和约束。效果:论文称比 MOPD 恢复更快、能力更均衡…
可灵团队 LongBanana:首个专家设计和校验的「长上下文多参考图合成」基准,考验智能体生图时能不能找对证据、拒绝干扰
这是个新基准,不是新模型:任务要求从大量分散的参考图里找到真正相关的视觉证据,排除干扰图,把人物、物体和关系对上,最后合成一张连贯的图。作者称这是首个由专家设计并逐题校验的此类基准,共 90 道精心构造的题目。它测的正是「智能体驱动的图像生成」里最容易出错的环节:多张参考图一多,…
韩国 ETRI 开源无代码 AI 开发工具 TANGO 2:网页里点选就能用行业数据训练 LLM,并部署到云、内网服务器或端侧
韩国电子通信研究院(ETRI)11 月 9 日宣布开源 TANGO,这是一个把模型训练、优化、部署串成一条流水线的无代码工具,目标用户是工厂、医院、造船、农业等现场的非 AI 专家。TANGO 1 做视觉 MLOps,TANGO 2 扩展到生成式 AI 和 LLMOps,能用行业…
花叔开源全球鸟类贴纸库:用 AI 为 AviList 2026 全部 11011 种鸟各画一张贴纸,带 43 种语言名称和结构化数据
作者「花叔」用 Claude Code、Codex 等工具批量生成并整理了全部 11011 种鸟的贴纸,附 43 种语言的鸟名和分类数据,配套网站 birdalbum.com 可以浏览。仓库说明写的是 CC BY 4.0(GitHub 未自动识别许可证),10 月 30 日创建,…
kubai-icons:给 Claude Code、Codex 等编码智能体用的动画图标技能,附 2600 多个风格统一的开源图标
这是一个 agent skill:装进编码智能体后,它能按同一套风格画出带悬停动效的图标,并提供 2600 多个现成图标,支持 React、Vue 和 SVG,配有浏览网站 icons.kubai.design。11 月 3 日创建,约 420 星;GitHub 识别许可证为「其…
集智俱乐部解读 Nature Communications:清华团队让数千个 LLM 智能体自由交友讨论政治,没有预设规则也会自发抱团、观点极化
清华电子系李勇团队 10 月发表在《自然·通讯》的论文,模拟数千个大模型智能体自己建立社交关系、讨论政治议题,结果在不预设任何极化规则的情况下,智能体自发形成同质化小圈子并出现观点极化,和人类社会的现象很像。作者认为这样的智能体网络可以当作研究舆论动态和干预手段的「合成试验场」。…