当我们还在纠结AI写的代码对不对时,顶尖开发者已经在思考另一个问题:如何让AI持续工作数小时,自动完成大规模重构,直到所有测试通过。
这不是科幻,而是Cursor团队分享的真实工作方式。
核心认知转变:从“写代码”到“管上下文”
当你习惯让Agent编码后,你的主要工作就变成了一件事——为每个Agent提供恰到好处的上下文。不多不少,刚刚好。
芝加哥大学的研究发现,有经验的开发者更倾向于在生成代码前先规划。这个发现很有意思:越是高手,越不急着让AI动手。
规划不是浪费时间,而是在帮AI明确目标。目标越清晰,AI的成功率越高。
几个反直觉的实践:
第一,不要手动标记每个文件。Agent有强大的搜索能力,让它自己去找。你塞太多“可能相关”的文件进去,反而会让它分不清主次。
第二,对话不是越长越好。过长的对话会让Agent失去焦点,上下文里积累的噪音会分散它的注意力。当你发现效果下降,果断开启新对话。
第三,当Agent跑偏时,别试图用后续提示修修补补。回滚改动,重新细化计划,再跑一次。这比“抢救”一个进行中的Agent更快,结果也更干净。
测试驱动开发的新玩法
让Agent写测试,确认测试失败,提交测试,然后让Agent写实现代码并持续迭代直到全部通过。
关键是要明确告诉它“现在是TDD阶段,不要写模拟实现”,以及“不要修改测试,只写能通过测试的代码”。
Agent在有清晰迭代目标时表现最好。测试就是那个目标——它让AI能边改边验证,而不是盲目输出。
并行运行多个Agent
一个很强的技巧:让同一个提示词同时在多个模型上运行,然后比较结果。
这对棘手问题特别有效。不同模型会采用不同方法,你可以从中选出最优解,甚至发现某个模型遗漏的边缘情况。
那些用得最好的开发者有什么共同点?
他们写具体的提示。“给auth.ts加测试”和“为auth.ts的登出边界情况写测试用例,参考__tests__目录的模式,避免使用mock”——效果天差地别。
他们认真审查。AI生成的代码看起来可能是对的,但细节里藏着魔鬼。Agent工作得越快,你的审查流程就越重要。
他们提供可验证的目标。Agent无法修复它“看不见”的问题。强类型、代码检查工具、测试——这些都是给AI的明确信号。
他们把Agent当作有能力的协作者,而不是听话的工具。让它给出计划,要求它解释,对不认可的方案敢于质疑。
说到底,用好AI编程助手的本质,是学会当一个好甲方:需求清晰、目标明确、验收严格,但也给足空间让对方发挥。
cursor.com/cn/blog/agent-best-practices