“AI IDE 或 AI Agent 卖的是两个:一个是 Context 选择的能力,一个是最佳实践通用化的能力。”
延伸阅读:Context window 的物理边界及其对工程实践的影响,参见AI 的无状态性与 Context Window。
本章聚焦于:不同 AI Coding 工具的特性、商业模式带来的隐性约束,以及为什么 RAG、任务管理器、多 Agent 这些“看上去很聪明”的东西,在 AI-native 工程实践里,往往是反模式。
1. Cursor 的商业模式问题:批发转零售
从商业角度看,Cursor 的生意模式是“批发转零售”:
- 它从大模型厂商那里批发 token
- 再零售给个人开发者
- 为了利润最大化,它必须“降本增效”,其中最直接的手段就是:压缩你的上下文
一旦上下文被压缩:
- 压得不一定对,可能丢失非常关键的信息
- 压缩完之后,大模型缺失了必要的细节,做出的判断就会出错
- Cursor 用户量越大,它的盈利压力越大,它就越有动力在你看不到的地方,偷偷压缩上下文
结果就是:你以为它读了整个文件,其实它只看了中间的几段。
2. 最好的工具往往来自模型厂商
延伸阅读:Token 规模如何影响工具选择决策,参见Token 作为项目规模的量化指标。
因此,最好的工具其实是大模型厂商自己出的工具:
- 他们没有动力去压缩上下文
- 他们真正关心的是“获取更多数据来训练自己的模型”
- 所以不会在你看不到的地方悄悄丢信息
代价是:
— 不是所有普通人都付得起账单。随随便便聊几十刀、几百刀就下去了,20–200 美元反而成了“均价”。
3. Web 端 + 大上下文:Gemini 的用法
另一个思路是:直接用模型厂商的 Web 端界面。
比如 Gemini:
- 上下文有一百万 token
- 可以借助一些工具把整个代码库一键打包成一个文档
- 把文档贴到 Web 端,再和它讨论你的问题
但这里最大的问题不在工具,而在于:
- 你要有能力理解它给你的答案
- 你要有能力确认它改动的范围、改动的合理性
- 否则只是把“难以 review 的代码”换了一个通道涌进来
当你在 Web 端处理超大上下文时,内部仍然需要用Test–Code 循环:为什么测试代码比功能代码更重要中所强调的测试体系来兜底。
4. RAG vs AST:为什么符号索引比“聪明检索”更可靠
Cursor 找东西用的是 RAG。
RAG 这个技术从工程角度看,一个最大的缺点就是:准确率特别低。
“cursor 经常会找出来一些似是而非的东西。唯一可靠的,是对符号建立索引,也就是所谓的 AST。”
后来我们知道,像 codex 或者 cloud code,本质上都是 AST/symbol 索引的思路:
- 让 AI 掌握一些底层的、确定性 100% 的工具,比如 grep
- 不让 AI 直接依赖“模糊匹配”的检索
- AI 第一次搜不到,可以调整关键字搜第二次、第三次,最终一定能搜到百分百正确的信息源
而对比之下:
- RAG 的“聪明程度”肯定比不上大模型本身
- 却要让聪明的大模型去依赖一个“比较蠢的 RAG”建出来的索引
- 这个组合从一开始就是不可靠的
正确的做法应该是:
“让大模型自己来建索引,然后让大模型调自己的索引。”
5. 多任务、多 Agent、Task Manager:直观但错误的想法
市面上有很多基于 AI 的“任务管理器”产品:
- 让你在里面写 PRD、写粗略需求
- 用一套 Plan 工具先产出非常详细的任务列表、依赖关系、验收标准
- 然后用 Execute 工具让 Agent 并发执行这些任务
- 最后自动回测结果
这条路径的出发点是好的,我自己也在这条路上走了大半年,甚至手搓过类似的 pipeline。
但最后我把这类流程全部淘汰了,原因在于:
- 它给人类造成了巨大的心智负担:PRD、Tech Doc、执行记录,一堆文档都要保持同步
- 一旦有不一致,就意味着你在给 AI 误导,它就很容易做错事
- AI 自己在每个 task 上都有一点点误差,比如 1%,多 task 并行之后,误差会几何级放大
