最近出于与某 Vue2 陈年老项目打架的需要,试用了 Cursor 和 Trae 这两个带 Agent 模式的 AI 辅助编程产品。
几天使用下来,结果比较悲观:
1. 两边都比较喜欢用 OKR 来 PUA 自己,让他针对大项目进行优化或者重构的时候,会创建一个 Markdown 文件记自己要干啥,但是每次新请求都会生成一个新的,于是项目根目录就容易产出一车怪文件。(配图1)
2. 尽管能猜到 Prompt 里有类似分步规划的字眼,但是对于一个中型项目而言,上下文窗口不足是最大的问题。两家 AI 一个比一个惜字如金,即使重构一个小组件也要手动说好几次「继续」,生出来的代码也通常左右手互搏(配图2),前面改过来后面又改回去,对着同一个地方浪费好多 tokens。因此即使有分步规划,也没见所谓的规划体现在了哪些地方,生出来的代码质量也通常不是开箱即用,没有起到 Agent 的作用。
3. 也正因为这个原因,用 AI 的时候仍然需要带着脑子。一个有编程基础的人,仅仅通过看 AI 的代码就想了解一个新语言所谓的运行逻辑和最佳实践大约是不大可能,该啃的一些基础文档还是得啃。要想在无托管的情况下完成一个中型项目代码的平滑迁移更是不大可能,除非你一直愿意对 AI 喊「继续」然后看着他反复试错。
以上评价基于两家内置的 Claude-3.7-Sonnet .
几天使用下来,结果比较悲观:
1. 两边都比较喜欢用 OKR 来 PUA 自己,让他针对大项目进行优化或者重构的时候,会创建一个 Markdown 文件记自己要干啥,但是每次新请求都会生成一个新的,于是项目根目录就容易产出一车怪文件。(配图1)
2. 尽管能猜到 Prompt 里有类似分步规划的字眼,但是对于一个中型项目而言,上下文窗口不足是最大的问题。两家 AI 一个比一个惜字如金,即使重构一个小组件也要手动说好几次「继续」,生出来的代码也通常左右手互搏(配图2),前面改过来后面又改回去,对着同一个地方浪费好多 tokens。因此即使有分步规划,也没见所谓的规划体现在了哪些地方,生出来的代码质量也通常不是开箱即用,没有起到 Agent 的作用。
3. 也正因为这个原因,用 AI 的时候仍然需要带着脑子。一个有编程基础的人,仅仅通过看 AI 的代码就想了解一个新语言所谓的运行逻辑和最佳实践大约是不大可能,该啃的一些基础文档还是得啃。要想在无托管的情况下完成一个中型项目代码的平滑迁移更是不大可能,除非你一直愿意对 AI 喊「继续」然后看着他反复试错。
以上评价基于两家内置的 Claude-3.7-Sonnet .