11-线性讲解 (Linear Walkthroughs)

By 刘志军 , 2026-03-21, 分类: agentic-patterns-translation

有时,让编程智能体为你提供一份结构化的代码库讲解是非常有用的。

这可能是你需要快速熟悉的现有代码,也可能是你已经遗忘细节的旧代码,或者你通过“氛围编程”(Vibe Coding)一口气开发完、现在需要理解它到底是怎么跑通的。

拥有合适智能体外壳(Harness)的尖端模型可以构建详细的讲解,帮助你理解代码的工作原理。

使用 Showboat 和 Present 的示例

最近,我使用 Claude Code 和 Opus 4.6 在我的 Mac 上“氛围编程”了一个 SwiftUI 幻灯片演示应用。

当时我正在演讲 2025 年 11 月至 2026 年 2 月间尖端模型取得的进展。我喜欢在演讲中加入至少一个噱头(即 STAR 时刻——Something They'll Always Remember,让人永远记住的东西)。在这种情况下,我决定把这个噱头设为:在演讲结束时揭晓,这个幻灯片播放器本身就是“氛围编程”能力的产物。

我将代码发布到了 GitHub,然后才意识到我对它的实际工作机制一无所知——我是通过提示词将其“召唤”出来的(部分对话记录在此),完全没去注意它写的代码。

于是,我启动了一个新的 Web 版 Claude Code 实例,指向我的仓库并输入:

阅读源代码,然后规划一个线性的代码讲解,详细解释它的工作原理。

然后运行 uvx showboat --help 来学习 Showboat。使用 Showboat 在仓库中创建一个 walkthrough.md 文件并在其中构建讲解。使用 showboat note 添加注释,并使用 showboat exec 配合 sedgrepcat 等你需要的工具来包含你正在讨论的代码片段。

Showboat 是我构建的一个工具,旨在帮助编程智能体编写展示其工作的文档。你可以点击查看 showboat --help 的输出,它旨在为模型提供使用该工具所需的一切知识。

showboat note 命令向文档添加 Markdown 内容。showboat exec 命令接收一个 Shell 命令并执行,然后将命令及其输出同时添加到文档中。

通过告诉它使用“sedgrepcat 等你需要的工具来包含你正在讨论的代码片段”,我确保了 Claude Code 不会手动复制代码片段到文档中,因为手动复制存在幻觉或出错的风险。

这种方法效果极佳。这是 Claude Code 使用 Showboat 创建的文档,它详细讲解了所有 6 个 .swift 文件,并对代码的工作原理提供了清晰且具操作性的解释。

仅仅通过阅读这份文档,我就学到了大量关于 SwiftUI 应用结构的知识,并掌握了一些关于 Swift 语言本身的扎实细节。

如果你担心 LLM 可能会降低你学习新技能的速度,我强烈建议采用此类模式。即使是一个耗时约 40 分钟的“氛围编程”小项目,也可以成为探索新生态系统、学习有趣新技巧的机会。


原文:Agentic Engineering Patterns by Simon Willison


关注公众号「Python之禅」,回复「1024」免费获取Python资源

python之禅