点击上方↗️「活水智能」,关注 + 星标🌟

作者:Peter Steinberger
编译:活水智能
最近我在这里比较沉寂,因为深陷最新项目里。Agentic 工程已经进化到几乎能写 100% 代码的程度。但我看到很多人在那里绕弯子、搞各种精心设计的花架子,而不是直接把事做完。
这篇文章部分来自昨晚我在伦敦参加的"Claude Code 匿名互助会",部分因为距离我上次更新工作流已经一个 AI 年了。是时候做个盘点了。
基本原则仍然适用,所以像上下文管理这类老生常谈的东西我就不重复了。
技术栈背景
我一个人工作,当前项目大概 30 万行 TypeScript React 代码,外加一个 Chrome 扩展、一个 CLI、一个 Tauri 客户端和一个 Expo 移动应用。部署在 Vercel,一个 PR 大约两分钟就能上线。
工具链与总体思路
我已经完全切换到 codex CLI 作为主力工具,同时开 3 到 8 个实例,在 3×3 的终端网格里并行跑,大多数跑在同一个目录下,少数实验性任务放在独立目录。我试过 worktree 和 PR 模式,但总是回到这个方案,因为它效率最高。
我的 agent 自己做 git 原子提交。为了保持干净的提交历史,我在 agent 配置文件上反复打磨了很长时间,这样每个 agent 只提交它自己修改的文件。
是的,用 Claude 可以配 hooks,而 codex 目前还不支持,但模型足够聪明——如果它们下定决心,没有哪个 hook 能拦住它们。
我之前被人嘲笑是"垃圾生成器",挺高兴看到并行 agent 这种做法现在慢慢成为主流。
模型选择
我基本所有事情都用 gpt-5-codex 中等设置来做。这是智能与速度的好折中,会自动调节思考深度。我发现过度纠结这些设置并没有什么实质收益。
爆炸半径
我工作时会考虑"爆炸半径"这个概念(不是我发明的,但我很喜欢)。当我想到一个改动,就会对它的耗时和涉及文件数形成一个直觉判断。我可以往代码库里扔很多小炸弹,也可以扔一颗"胖子"加几颗小的。如果同时扔多颗大炸弹,就很难做隔离提交,出问题也更难回退。
这也是观察 agent 运行时的好指标。如果某件事花的时间超出预期,我就按 Escape 问一句"现在状态怎么样",然后决定是帮它找方向、中止,还是继续。别怕中途停掉模型,文件变更是原子性的,它们很擅长从中断处接着干。
拿不准影响范围时,我会用"先给我几个选项,别急着改"来探探底。
为什么不用 worktree?
我跑一个开发服务器,在项目迭代过程中边点边测多个改动。如果每个改动都开一棵树/一个分支,速度会大幅下降,同时开多个开发服务器也很烦。
关于 Claude Code
我以前很喜欢 Claude Code,现在实在受不了了。是它说话的方式,那些"absolutely right",是测试跑挂了还跟你说"100% 生产就绪"——我已经忍无可忍。Codex 更像一个低调的工程师,闷头干活把事情做完。它在开始工作前会读更多文件,所以哪怕是很短的提示,通常也能精准执行。
Codex 的其他优势
• 约 23 万可用上下文 vs Claude 的 15.6 万。 是有 Sonnet 百万上下文,但 Claude 远在耗尽上下文之前就开始变蠢,实际上没法用。 • 更高效的 token 使用率。 不知道 OpenAI 做了什么,但我的上下文消耗比用 Claude Code 时慢得多。用 Claude 时经常看到"正在压缩……",用 codex 很少把上下文撑满。 • 消息队列。 Codex 支持消息排队。Claude 以前有这个功能,但几个月前改成消息会"引导"模型走向。如果我想引导 codex,直接按 Escape 再 Enter 发新消息。两种模式都能用才是最好的。我经常把相关功能任务排好队,它就可靠地一个个干完。 • 速度。 OpenAI 用 Rust 重写了 codex,效果立竿见影,快得惊人。用 Claude Code 时经常遇到好几秒的卡顿,内存占用动辄飙升到好几 GB,终端还会闪烁(尤其在 Ghostty 里)。Codex 完全没有这些问题,感觉极其轻快。 • 说话方式。 这个真的对我的心理健康影响很大。我对 Claude 发过很多次火,对 codex 几乎不会生气。就算 codex 模型差一点我也会用,就凭这一点。用两个系统分别工作几周,你就会懂我在说什么。 • 没有乱七八糟的 Markdown 文件到处乱扔。 懂的都懂。
为什么不用各种第三方 Harness
说白了,用户和模型公司之间的空间真的不大。订阅制性价比远高于 API 调用。我目前有 4 个 OpenAI 订阅和 1 个 Anthropic 订阅,综合成本约每月 1000 美元,基本是无限 token。如果走 API,大概要贵 10 倍。
Amp 和 Factory 这类工具我觉得挺好的,但长期能不能活下去存疑。Codex 和 Claude Code 每个版本都在进步,它们都在往相同的方向收敛。
Cursor 的 tab 补全在还要自己写代码的情况下是业界领先的。其他工具我基本都试过,结论是:它们归根到底都是对 GPT-5 和/或 Sonnet 的封装,是可替代的。
最有潜力的候选者是 opencode 和 crush,特别是结合开源模型使用的时候。
关于开源模型
我关注中国的开源模型,它们追赶的速度令人印象深刻。GLM 4.6 和 Kimi K2.1 是有力竞争者,慢慢接近 Sonnet 3.7 的水平,但我暂时不推荐作为日常主力。
在我看来,Agentic 工程从"这东西很烂"到"这东西不错",大约发生在 Sonnet 4.0 发布的那个五月,而从"不错"到"这太牛了"的飞跃,则是 gpt-5-codex 带来的。
计划模式与工作方法
Benchmark 没法衡量的是:模型加工具链在拿到提示后采取什么策略。Codex 在决定做什么之前会读多得多的文件,被你提了个蠢要求它也会更强硬地推回。Claude 和其他 agent 更急于求成,直接就试。这可以通过计划模式和严格的结构文档来弥补,但在我看来那是在绕开一个有缺陷的系统。
我现在很少用大型计划文件了。Codex 甚至没有专用的计划模式——但它太擅长遵循提示了,我直接说"我们来讨论一下"或者"给我几个选项",它就会老老实实等我批准。不需要任何花架子。直接跟它说话就行。
关于 Claude Code 的 Plugins
这真的让我对 Anthropic 的重点方向感到失望。他们在试图用补丁修补模型的低效之处。是的,为特定任务维护好文档是个好主意,我在 docs 文件夹里也存了一大堆 Markdown 格式的实用文档。
关于 Subagents
这整个 subagent 的套路得说道说道。早期叫 subtasks,主要是在模型不需要完整文本时把任务分派到独立上下文——主要是为了并行处理,或者减少上下文浪费(比如嘈杂的构建脚本)。后来重新品牌化改进为 subagent,包装得更整齐了。
用例本质上一样。别人用 subagent 做的事,我通常开一个独立终端窗口来做。如果要研究什么,我在单独的终端面板里查,再粘贴到另一个里。这让我对上下文有完全的掌控和可见性,而 subagent 则更难观察、引导和控制发回来的内容。
Anthropic 在博客上推荐的那个"AI 工程师" agent,说白了是一锅自动生成的文字汤,里面没有任何实质内容能让你的 agent 成为更好的"AI 工程师"。告诉模型"你是一个专注于生产级 LLM 应用的 AI 工程师",并不会改变输出质量。提供文档、例子、该做/不该做的清单才有用。这堆配置甚至可以说是"上下文毒药"。
我怎么写提示
以前用 Claude,我写(其实是说)的提示非常详细,因为这个模型"越有上下文越懂我"。这对任何模型都成立,但我注意到用 codex 之后,提示变短了很多——有时候就是一两句话加一张图。模型太擅长读代码库了,它就是懂我。
加图是提供上下文的绝妙方法,模型特别擅长找到你截图里展示的内容,识别字符串匹配,直接定位到相关位置。我估计至少 50% 的提示里包含截图。标注一下效果更好,但更慢。一张截图拖进终端只要两秒。
语音输入工具 Wispr Flow(带语义纠错)依然是王者。
基于 Web 的 Agent
最近我又玩了玩 web agent:Devin、Cursor 和 Codex。只有 codex web 留了下来。设置很烦、有 bug,但我摸透了让它跑起来的方法。
我把 codex web 当成短期 issue 追踪器用。出门在外有了想法,在 iOS 应用里随手记一行,回到 Mac 再处理。手机能做的当然不止这些,但我选择不在外面继续投入——我的工作已经够上瘾了。
Agentic 工具的江湖
Conductor、Terragon、Sculptor……还有一千个其他的。我试了很多,没有一个留下来。它们都在绕开当前的低效问题,推广的工作流并不是最优的。而且大多数把终端藏起来,不显示模型的完整输出。
大多数都是对 Anthropic SDK 加 worktree 管理的薄封装,没有护城河。
我也注意到这样一个规律:几乎每个工程师都会经历一个阶段——构建自己的工具,主要是因为有趣,也因为现在做起来容易得多。还有什么比构建让自己构建更多工具的工具更顺手的呢?
关于后台任务
Codex 目前缺少 Claude 的后台任务管理。我现在改用 tmux——一个在后台跑持久 CLI 会话的老工具。模型自带大量相关知识,你只需要说"通过 tmux 运行"就够了。不需要任何自定义配置。
关于 MCP
在我看来,大多数 MCP 不过是让市场部门能打勾、能吹嘘用的。几乎所有 MCP 真正应该做成 CLI。这话是我说的——我自己写过 5 个 MCP。
我可以直接按名字引用一个 CLI,agent 配置文件里什么都不用解释。Agent 第一次调用时会瞎猜一下,CLI 会打印帮助菜单,上下文里就有了完整用法信息,从此一切顺畅。而 MCP 是持续的 token 成本。用 GitHub 的 MCP,直接没了 23000 个 token(刚推出时将近 5 万)。或者用 gh CLI——基本功能一样,模型已经知道怎么用,上下文税为零。
我倒是在用 chrome-devtools-mcp 来形成调试闭环,取代了 Playwright。不是每天都用,但需要时挺管用的。
关于代码质量
我大约 20% 的时间用于重构。当然全部由 agent 完成。重构日很适合需要专注度低或者状态不佳的时候,可以高效推进又不需要太多清醒的脑子。
典型的重构工作:用 jscpd 查代码重复、用 knip 查死代码、跑 ESLint 的 react-compiler 和废弃插件、检查可合并的 API 路由、维护文档、拆分过大的文件、加测试和注释、更新依赖、优化慢测试……总有事可做。
关于规格驱动开发
以前用过,现在不用了。那是旧的思维方式。
我现在的做法是和 codex 讨论,粘贴一些网页和想法,让它读代码,一起把新功能捋清楚。如果比较复杂,我会让它把一切写成规格文档,再拿去给 GPT-5-Pro 审查(往往真的能大大改进计划),然后把我觉得有用的部分粘回主上下文更新文件。
UI 相关工作更有趣:我经常从一个简单的起点开始,极其粗略地描述需求,然后观察模型构建,实时看到浏览器更新。接着排队加入更多改动,迭代这个功能。我经常看到 codex 构建出我甚至没想到的有趣东西。不重置,只是不断迭代,把混乱塑造成感觉对的形状。
提示技巧
如果大型重构跑到一半停了,排队发"继续"消息,出去做别的事,回来看结果。Codex 做完了再收到消息,会愉快地忽略它们。
让模型在每个功能/修复做完后写测试,用同一个上下文。测试会更好,还可能暴露实现里的 bug。
让模型保留你的意图,并在难懂的地方"添加代码注释",对你和未来的模型都有帮助。
遇到难题,用触发词:"慢慢来""全面地""读所有可能相关的代码""提出可能的假设",能让 codex 解决最棘手的问题。
Agent 配置文件
我有一个 Agents.md 文件,用软链接指向 claude.md(因为 Anthropic 没有统一标准)。GPT-5 和 Claude 的提示偏好差异很大:Claude 对大写加感叹号的命令式风格反应好,GPT-5 被这种风格吓到。所以放弃那些,像人一样说话。
我的 Agent 文件现在大约 800 行,感觉是一堆组织层面的疤痕组织。不是我写的,是 codex 写的——每次出问题我就让它在里面加一条简洁的记录。里面包含关于我的产品、命名惯例、API 模式、React 模式、数据库迁移管理、测试、ast-grep 规则的说明——通常是一些比世界知识更新的东西,因为我的技术栈很前沿。
GPT-5-Codex 是完美的吗?
绝对不是。有时候重构了半小时然后崩掉,把一切都回退了,要重跑一次并安抚它"你有足够的时间"。有时候忘记自己能用 bash 命令。有时候用俄语或韩语回复你。有时候原始思考链泄露到 bash 里。但这些情况都比较少见,而它在其他几乎所有方面都好得不可思议,这些缺陷我可以接受。人类也不完美。
我最大的抱怨是它"丢行"——快速滚动时部分文字消失。希望 OpenAI 把这个排在修复清单前面。
结语
别把时间浪费在 RAG、subagent、Agents 2.0 或其他大多数花架子上。直接跟它说话。跟它玩。培养直觉。 你跟 agent 协作越多,结果就越好。
Simon Willison 有篇文章说得很好:管理 agent 所需的很多技能,和管理工程师所需的技能相似——这些几乎都是高级软件工程师的特质。
是的,写出好的软件依然很难。我不再写代码,并不意味着我不再深入思考架构、系统设计、依赖关系、功能或如何让用户满意。用 AI 只是意味着,对于"要交付什么"的期望提高了。
1. 原文:https://steipete.me/posts/just-talk-to-it
2. Wispr Flow(语音输入工具):https://wisprflow.ai/
3. chrome-devtools-mcp 文档:https://developer.chrome.com/blog/chrome-devtools-mcp
4. knip(死代码检测工具):https://knip.dev/
5. Simon Willison 相关文章:https://simonwillison.net/2025/Oct/7/vibe-engineering/
6. GPT-5 提示指南(OpenAI Cookbook):https://cookbook.openai.com/examples/gpt-5/gpt-5_prompting_guide
活水智能,成立于北京,专注通过AI教育、AI软件及高质量社群,持续提升知识工作者的生产力。
• 10+ 人气AI课程:线下工作坊与实操训练,聚焦最新AI应用。 • 2600+深度成员社群:知识星球汇聚大厂程序员、企业高管、律师、创业者等各领域精英。 • 城市分舵:北/上/广/深/杭/成/渝等城市均有线下组织,连接志同道合的伙伴。
🎁 活水智能福利群开放加入
每周独家AI新知、专属优惠券、干货方法论、同学交流心得,更有不定期赠书活动,等你来参与!
👇🏻👇🏻👇🏻

夜雨聆风