点击上方卡片关注我

设置星标 学习更多AI出海知识

Simon Willison,Django 框架联合创始人,Python 圈的老前辈。

最近他干了一件事,写了一份《Agentic Engineering Patterns》指南,专门教你怎么把 Claude Code、Codex 这些 AI 编程工具用到位。

不是那种"装好就完事"的入门教程,是他自己用了一年多之后总结出来的实战方法论。

我把这份指南啃完了,挑几个最有价值的点跟大家聊聊。

什么是 Agentic Engineering?

先说他给的定义:用 AI 编程 Agent 来开发软件的实践。

关键词是"Agent",不是"Copilot"。区别在哪?Copilot 是你写一行它补一行。

Agent 是你给一个目标,它自己规划、写代码、执行、验证,循环往复直到搞定。

Simon 的原话:

Agent 在循环中运行工具来达成目标。

Claude Code、Codex、Gemini CLI 都属于这类 Agent。它们的核心能力不是"生成代码",而是执行代码,能执行,才能验证。能验证,才能迭代。

那人类干什么?

Simon 说得很直接:写代码从来不是软件工程师的核心工作。想清楚该写什么代码才是。

任何一个软件问题都有几十种解法,每种都有不同的取舍。我们的价值在于导航这些选项,找到最适合当前场景的那个。

这不就是 Vibe Coding 吗?

Simon 专门澄清了这一点。

Vibe Coding 是 Karpathy 2025 年 2 月造的词——"让 AI 写代码,你忘记代码的存在就好"。

Simon 的态度是:Vibe Coding 可以用于原型,但不能用于生产。 Agentic Engineering 跟 Vibe Coding 的区别在于:你要审查结果、要验证质量、要把代码拉到生产级别。

一个是让 AI 随便写。一个是让 AI 按规矩写。

AI 编程 Agent 的底层原理

这部分我觉得特别有价值,很多人天天用 Claude Code,但不知道它底层在干什么。Simon 讲得很清楚:

一个 AI 编程 Agent = LLM + 系统提示词 + 工具 + 循环。

  1. LLM — 核心大脑,本质上是一个文本续写器

  2. 系统提示词 — 几百行的隐藏指令,告诉 LLM 怎么干活(Codex 的系统提示词已经在 GitHub 上公开了)

  3. 工具 — 十几个可调用的函数,比如 Bash 命令、文件读写、代码执行

  4. 循环 — LLM 调工具 → 拿到结果 → 继续推理 → 再调工具 → 直到任务完成

还有两个很多人不知道的细节:

LLM 是无状态的。 每次调用都从零开始。你觉得自己在"对话",其实是软件把整段对话历史重新喂给模型。所以对话越长,每轮花费越高,质量也会逐渐下降。这就是上下文管理为什么这么重要。

Token 缓存能省钱。 大多数提供商对重复的前缀 token 收费更低。Claude Code 的设计会刻意避免修改历史对话内容——不是偷懒,是为了保证缓存命中率,给你省钱。

子 Agent:Claude Code 最被低估的能力

什么是子 Agent?

主 Agent 派出去干活的"分身"。每个子 Agent 有自己独立的上下文窗口,干完活把结果交回来。

为什么非要用子 Agent?因为上下文是最贵的资源。LLM 的上下文窗口上限大概 100 万 token,但实测超过 20 万之后质量就开始崩。子 Agent 用自己的上下文处理子任务,不占用主 Agent 的额度。

实战案例:Claude Code 怎么用子 Agent

Simon 给了一个真实场景。他让 Claude Code 修改博客的 diff 展示功能,加上字符级别的高亮。

Claude Code 的第一步不是动手写代码,而是派了一个Explore 子 Agent 去摸底

它给子 Agent 写的 prompt 是:

找到这个 Django 博客中实现 diff 视图的代码。我需要找到:
- 渲染 diff 的模板(找带红/绿背景的 HTML/CSS)
- 生成 diff 的 Python 代码(找 difflib 的用法)
- 跟 diff 渲染相关的 JavaScript
- diff 视图的 CSS 样式

彻底搜索 templates/、static/、blog/ 目录。
关键词搜 "diff"、"chapter"、"revision"、"history"、"compare"。

子 Agent 跑了几秒钟,把所有相关的文件路径、代码位置、关键函数全部整理好交了回来。主 Agent 拿到这些信息后,才开始动手改代码。

Simon 的评价是:模型给自己写的 prompt 质量还挺不错的。 它知道怎么高效地指导另一个 Agent。

三种子 Agent 用法

1. 探索型子 Agent

就是上面的例子。主 Agent 不想自己花 token 去翻代码库,派一个子 Agent 去探索,拿到摘要后再行动。

2. 并行子 Agent

如果你要改的文件之间互不依赖,可以让 Agent 同时派多个子 Agent 并行修改。速度直接翻倍。

试试这样的 prompt:

用子 Agent 并行找到并更新所有受这个改动影响的模板文件。

3. 专业子 Agent

给子 Agent 分配不同的"角色":

  • 代码评审 Agent — 专门审代码,找 bug 和设计问题

  • 测试运行 Agent — 跑测试,把结果摘要交回来(特别有用——测试输出通常很长,子 Agent 帮你过滤掉噪音)

  • 调试 Agent — 专门定位 bug 的根因

Simon 提醒了一点:别过头。 子 Agent 的核心价值是节省上下文,不是让你搞几十个微服务式的 Agent 编排。保持简单。

Red/Green TDD

Simon 说,他在 Claude Code 里用得最多的一句话是:

Use red/green TDD

就这六个字。所有主流模型都理解这个缩写的完整含义:

  1. Red — 先写测试,确认测试是失败的(红色)

  2. Green — 再写实现代码,让测试通过(绿色)

为什么 TDD 跟 AI 编程这么搭?因为 AI 编程有两个高频问题:

  • 写的代码不能用

  • 写了一堆没人需要的代码

测试先行能同时解决这两个问题。测试定义了"做对了是什么样",AI 按着这个标准迭代,结果自然靠谱得多。

而且,先确认测试是"红色"的这一步不能省。不然你可能写了一个本来就能通过的测试——等于白写。

实用 Prompt 清单

指南最后附了他日常在用的 prompt,摘几个有意思的:

不让 AI 用 React 写前端原型:

(在 Claude 项目里设置自定义指令,限制 Artifacts 不用 React,因为 React 需要构建步骤,没法直接复制粘贴到静态托管)

用 AI 校对文章但不让它代笔:

Simon 的原则是  AI 可以帮他检查拼写和语法,但所有带"我"字的观点性文字必须自己写,这条规矩我觉得值得借鉴。

用 Claude Opus 写图片 alt text:

他发现 Opus 在这件事上"品味特别好",会自己决定图表中哪些数字最值得在描述里提到。

最后

这份指南最大的价值不在于教你某个工具怎么用,而是给出了一套跟 AI 协作的思维框架

很多人用 Claude Code 还停留在"帮我写个函数"的阶段,看完 Simon 的指南你会发现,这些工具能做的事情远超你的想象,子 Agent 并行开发、TDD 驱动迭代、探索式代码理解,但前提是你得知道怎么指挥它。

Simon 有句话说得好:LLM 不会从过去的错误中学习,但 Agent 可以,前提是我们主动更新指令和工具来反映我们学到的东西。

这不就是"授人以渔"吗?工具一直在进化,方法论才是长期有用的东西。


我们出海社区终于有自己的网站了!

欢迎关注,这个账号还会持续分享更多AI编程、出海工具、实战经验、踩坑记录。

想了解更多可以加我 vx: 257735 聊。

图片

出海赚钱案例:一个人做了个开源UI库,不融资不投广告,45天30万美元

出海建站必备:一小时搞定自建邮件,免费!

OpenClaw 真香!我让它每天帮我干这些活

出海赚钱案例:一个人用 PHP 做到月入 17 万美金,利润率 99%!

(2026年最新)Codex CLI 国内使用全攻略:终端 + VSCode + Cursor + Opencode 四种姿势全搞定

从海外公司注册到 Stripe 收款,跑通了出海收付款全流程(实操分享)

玩转 Claude Code Hooks:让自动化渗透到每个环节

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐