上下文囤积与骨架模板
解决什么问题
如何持续积累"可以喂给 coding agent 的上下文资产",让 agent 站在你过去所有工作之上、并自动贴合你的代码风格——而不是每次从零开始。
核心内容
底层原理有两条:(a) coding agents 极其擅长沿袭代码库中已有的模式——一个文件的风格样例就足以被拾取;(b) agent 能自己跑搜索工具,所以你可以把整块硬盘/整个仓库指给它,它会检索出需要的部分——上下文长度不再是硬约束。
机制一:囤积解法(hoarding things you know how to do)
- 职业价值的本质 = 你试过的方案清单(什么可行/什么不可行),新问题来时做组合("2015 年用 Redis 做过 activity inbox + 2017 年用 Node.js 做过 rate limiting → 组合可解眼前这个新问题")。AI 把囤积的边际成本打到近零。
- Simon 的实现:
simonw/tools仓库:193 个 HTML+JS 小工具,每个封存一个"已验证可行"的点子;simonw/research仓库:公开 75 个 + 私有另 50 个 coding-agent 研究项目——让 Claude Code(常在手机上)"下载这个新软件、跑一跑、写报告",产出是一个 markdown 文件。
- 质量关键:研究必须是 agent 真的写了代码、跑了代码、画了图的产物。一仓库未经验证的 deep research 网页汇总是 "LLM vomit",几乎没有价值;跑过代码才"至少略微可操作"。
机制二:骨架模板(starting template)
- 每个新项目从一个薄模板起步:含一个
1+1=2的测试、你喜欢的目录布局、少量 boilerplate。agent 会自动沿袭其中的一切模式(会继续写测试、沿用格式风格)。 - 这是长篇 CLAUDE.md 行为说明书的替代方案:与其用几段文字描述你希望它怎么工作,不如给一个体现这些偏好的最小骨架。Simon 备有 Python library、插件、CLI 工具三种模板。
使用方式:在 prompt 里直接给 URL/仓库名,让 agent 去读源码再干活。例:"check out simonw/research 里与 WebAssembly 和 Rust 相关的项目,用它们来解决这个新任务";更早的例子:把 PDF 展示工具和 OCR 工具两份旧代码同时给模型,"造一个能对 PDF 每页做 OCR 的新工具"——直接成功。
存放建议:选你信任、不会丢的系统。GitHub 私有仓库免费、备份到三大洲;默认公开反而更有利(自己好找、积累信誉、他人受益)。
适用边界
- 与产品自带的 memory 功能是替代关系:Simon 关掉所有 memory(作为研究者需要看到"所有人看到的默认行为",避免结论只对自己成立),用显式仓库代替隐式记忆。
- 囤积物要能被 agent 读到源码/数据,纯结论式笔记价值有限。
关键引述 · 原话
"It's hard to overstate how good these things are at reusing context that you can make available to them." — Simon Willison
"Coding agents are phenomenally good at sticking to existing patterns in the code." — Simon Willison
关联卡片
- `red-green-tdd-for-agents--simon-willison`:模板中的单个测试是 TDD 习惯的种子。 - 与 "proof of usage" 信号(见 vibe-coding 卡):囤积的工具经过实际使用后价值更高。
被这些卡引用
提炼自 Lenny Rachitsky 的 Lenny’s Newsletter & Podcast(2019–2026)。本站为个人学习用途的二次创作,与 Lenny’s Newsletter 无官方关联。
provenance · 已核验 · glm-5.2