AI编程用了几个月,我踩过的坑和真正好用的东西2
上篇写完之后,后台收到不少消息,大意都是”我也踩过这个坑”。
所以有了这篇续集。
这次较聚焦 Codex。不是那种”十大技巧”的合集,就是我自己用下来觉得真的有用的几件事——有的是配置层面的,有的是工作流层面的,还有一个跟打字都没关系。
一、先把 AGENTS.md 设好,不然记忆是假的
刚开始用 Codex 的时候,我以为它会记住我的偏好。
结果每次新开一个任务,它都像第一次见面一样——不知道我的项目用什么框架,不知道我不喜欢它自作主张改文件结构,不知道我的代码风格是什么。每次都要重新交代一遍,烦死了。
后来才搞清楚:Codex 本身没有跨会话的持久记忆。它的”记忆”靠的是你手动写的 AGENTS.md 文件。

AGENTS.md 是什么
简单说,就是一个给 AI 看的项目说明书。放在项目根目录,Codex 每次启动都会自动读取。你在里面写的东西,它每次都会遵守。
我自己的 AGENTS.md 大概长这样:
1 | ## 基础行为 |
写完之后,Codex 的行为稳定了很多。它不再随手给我装一堆我不需要的包,也不会在我没说的情况下重构文件结构。
你如果是Codex app的话,就直接在设置 -> 个性化中填写对应的全局Agents.md,你也可以自行修改我上面的

还有一个功能很多人没开:记忆模式
Codex 有一个 --memory 选项,开启之后它会在对话过程中主动把重要信息写回 AGENTS.md。比如你说”以后这类组件都放在 /components/ui 下”,它会自动记录进去,下次就知道了。
不是所有版本都默认开启,可以在设置里找,或者启动时加参数。

这个功能开了之后,AGENTS.md 会慢慢变成一个真正活的文档,而不是你写一次就放在那里的静态说明。
二、/plan 和 /goal,先搞清楚它们解决的是什么问题
用 AI 写代码有一个让人抓狂的毛病:做到一半停下来问你”要继续吗?”
你说”重构 auth 模块跑通所有测试”,它改了三个函数,停下来报告:”我已经改了这些,你想看一下吗?”你说看。看完它继续,再改一会儿,又停。一个本来二十分钟能搞定的事,被拽进来八次。
/plan 和 /goal 解决的就是这个,但方向不一样。

这两个都是cli的命令,如果你是codex app的话,在➕号处那里是有可以选择的。

1. 先说 /plan:动手前先想清楚
/plan 是让 Codex 在动手之前先列出执行方案。
输入 /plan 实现用户登录功能,它不会立刻开始写代码,而是先给你列出:要改哪些文件、分几步走、每步做什么。你看完觉得没问题,再让它执行。
听起来多了一步,实际上省了很多时间。AI 没有计划直接写,很容易改了 A 影响 B,回头改 B 又影响 C。有了计划,这些问题在动手前就能发现。
我现在的习惯是:任何超过两个文件的改动,都先 /plan 一下。
2. 再说 /goal:给目标,让它自己跑完
/goal 解决的是另一个问题——不是”方向对不对”,而是”能不能跑完不来烦我”。
用法是这样的:
1 | /goal 重构 auth 模块跑通所有测试 直到测试成功率100% |
然后它就开始自己跑——读文件、改文件、跑测试、自检完没完。这一轮没完,自动安排下一轮,再下一轮,直到自检通过才停。
这个过程可以跑几十分钟,不需要你一直盯着。
3. 目标怎么写很关键
“优化性能”这种目标它不知道什么时候算完。要写成有明确验收标准的:
- ❌
/goal 优化首页性能 - ✅
/goal 首页加载时间从 3s 降到 1.5s 以内,Lighthouse 性能分 ≥ 85
目标里没有验收标准,它要么跑偏,要么随便标个”完成”就停了。
为什么它不会随便说”完成了”
这是 /goal 设计里我觉得最有意思的地方。
Codex 的源码里有一段专门的 prompt,大意是:在判断目标完成之前,必须把目标拆成具体交付物,每一项找到真实证据(文件、测试结果、命令输出),逐项核对。 而且有一条规则专门写着:
把不确定性当作”尚未完成”。
就这一句话,把模型的默认值从”差不多了吧”改成了”没确认就是没完”。
还有一条:
不要仅仅因为预算即将耗尽,或因为你准备停止工作,就将目标标记为完成。
为什么要专门写这条?因为 OpenAI 实测发现,token 快用完的时候,模型有一个稳定的偷懒模式——反正要停了,标个完成算了。这条规则就是专门堵这个漏洞的。
4. Claude Code 也能用 /goal
Codex 的 /goal 目前还在内测,需要命令行手动开启。Claude Code 有个类似的 Outcomes 功能也在内测。
但有人已经把 Codex 的 /goal 逻辑复刻成了一个 Claude Code skill,直接装上就能用:
1 | # 全局安装(所有项目都能用) |
装完重启 Claude Code,输入 /goal <你的目标> 就跑起来了。
三、语音输入,我低估它太久了
这个跟 Codex 本身没有直接关系,但我觉得必须说。
用 AI 编程,最大的瓶颈之一其实是 打字。
不是写代码的打字——那个 AI 帮你写了。是你跟 AI 沟通的打字。描述需求、解释背景、说清楚你想要什么——这些都要打字,而且往往要打很多字才能说清楚。
我之前一直觉得语音输入是给懒人用的,或者是给不会打字的人用的。直到我真的用了一段时间,才发现自己想错了。
语音输入的真正价值不是快,是流畅

打字的时候,你的思维会被手速限制。想到一个复杂的需求,打字打到一半,思路断了,又要重新组织语言。
说话不一样。说话的速度跟思维速度更接近,你可以把脑子里的想法直接倒出来,不用等手跟上。
斯坦福有个研究数据:语音输入比键盘输入快 3 倍。在真实实测下,能达到每分钟 220 个字,是普通键盘输入的 4 倍左右。可想而知对于ai编程来说,是多大的效率提升。
我用过的两个工具
- 闪电说
我记得没错的话应该是国内最先出来的,之后其他厂才慢慢入局的,Windows 和 Mac 都有,本地优先处理,延迟很低,隐私也比较好。用法很简单,按住快捷键说话,松开就自动输入到光标位置。跟 Codex、Claude Code 这类终端工具配合很顺,因为它是系统级的输入,不挑软件。可以自定义AI服务帮你纠错。
- Typeless
跨平台,Mac / Windows / iOS / Android 都支持。除了基础的语音转文字,自带 AI 润色功能,说完之后它会帮你把口语化的表达整理成更清晰的书面语。当描述复杂需求时他还会给你分点列出来并且润色,条理清晰,而且也更容易被我们和AI 理解。
我现在写需求基本全靠说。
两个工具各有侧重,如果你有更好的 AI 语音输入工具的话,也欢迎在评论区分享一下。 如果你主要在 Mac 上工作,Typeless 的体验更精致一些;如果你 Windows 用户,或者在意本地处理或自定义ai模型,闪电说更合适。
最后有话说
这三件事——设好 AGENTS.md、用对 /plan 和 /goal、试试语音输入——单独拿出来每一个都不复杂。
但组合起来,工作方式会有一个比较明显的变化:你花在”跟 AI 沟通”上的摩擦变少了,花在真正思考问题上的时间变多了。
AI 编程这件事,工具本身的能力在快速提升,但怎么用好它,还是需要自己摸索。
希望这篇能帮你少走一点弯路。
免费文档:入门指南网络环境 + Claude Code + Codex,关注公众号回复”文档”获取。

海外账号升级业务:chatshare.uno
往期文章👇
GPT Plus升级失败?没有虚拟卡、海外信用卡怎么办?全新技术实现24小时自助直充升级GPT
AI完成任务太耗时?想要摸鱼却又怕耽误时间,于是我做了个AI任务完成提醒器
教你在国内用一个套餐同时体验到Claude Code+Codex两大AI编程助手
最后感谢大家能够看到文章的最后,如果你觉得这篇文章对你有启发或者帮助,不妨点个关注,你的支持将是我最大的动力,我们下次见!
AI编程用了几个月,我踩过的坑和真正好用的东西2
