指南 > 智能体工程模式
交互式讲解 (Interactive Explanations)
当我们不再理解智能体所写代码的工作原理时,我们就在承担认知负债(Cognitive Debt)。
在很多情况下这并不重要:如果代码只是从数据库获取数据并以 JSON 格式输出,其实现细节通常简单到无需关注。我们可以通过试用新功能来对它的工作原理做出可靠推断,然后扫一眼代码确认即可。
但通常情况下,细节确实至关重要。如果应用程序的核心变成了一个我们无法完全理解的“黑盒”,我们就无法再对其进行自信的逻辑推理,这会让规划新功能变得更加困难,并最终像累积的技术债一样拖慢我们的进度。
我们该如何偿还认知负债?通过提高对代码工作原理的理解。
我最喜欢的方法之一就是构建交互式讲解。
理解词云图
在《一位 AI 智能体编程怀疑论者对 AI 智能体编程的深度评测》中,Max Woolf 提到他曾用这样一个提示词测试 LLM 的 Rust 能力:“创建一个 Rust 应用,能够根据长文本输入生成‘词云’数据可视化图。”
这激发了我的想象力:我一直想知道词云到底是怎么工作的,于是我启动了一个异步研究项目(初始提示词在此,代码和报告在此)来探索这个想法。
效果非常好:网页版 Claude Code 为我构建了一个 Rust CLI 工具,可以生成如下图像:

但它到底是怎么运作的呢?
Claude 的报告称它使用了“阿基米德螺旋线定位,并结合每个单词的随机角度偏移,以实现自然美观的布局”。这对我并没太大帮助!
我要求对代码库进行线性讲解,这帮我更详细地理解了 Rust 代码(这是讲解内容和提示词)。这虽然让我理解了 Rust 代码的结构,但我对那个“阿基米德螺旋线定位”部分到底怎么运作的仍然缺乏直观的认识。
于是,我要求做一个动画讲解。我在 Claude Code 会话中粘贴了现有的 walkthrough.md 文档链接,并输入了以下内容:
使用
curl将https://raw.githubusercontent.com/.../walkthrough.md获取到/tmp目录,以便你可以完整阅读它。受此启发,构建一个
animated-word-cloud.html页面:该页面接受粘贴的文本(并将其持久化在 URL 的#fragment中,以便带#加载的页面能直接使用该文本并自动提交)。提交文本后,页面将按照文档中描述的算法构建词云,但要以动画形式展示,使算法尽可能清晰易懂。为动画添加一个滑块,可以暂停、调节速度,甚至在暂停时逐帧步进。在任何阶段,可见的生成中词云都可以下载为 PNG。
你可以在这里体验结果。这是一个动画 GIF 演示:

当时使用的是 Claude Opus 4.6,事实证明它在构建解释性动画方面非常有品味。
如果你仔细观察动画,你会发现对于每个单词,它都会显示一个方框尝试将其放置在页面某处,并检查该方框是否与已有单词重叠。如果重叠,它会继续寻找合适的位置,从中心开始沿螺旋线向外移动。
我发现这个动画真的让我对该算法的运作方式有了“顿悟”般的感觉。
我长期以来一直是动画和交互式界面的粉丝,认为它们能很好地解释不同概念。一个优秀的编程智能体可以按需生成这些内容,帮助解释代码——无论是它自己写的代码,还是别人写的代码。
关注公众号「Python之禅」,回复「1024」免费获取Python资源