2025 年 5 月 22 日,关于 AI 辅助编码的讨论非常两极分化。一方认为未来 12 个月内 90%的代码将由 AI 编写,另一方则认为它只是一个统计词生成器,除了简单的新创应用外无法编写任何代码。若能更细致地理解 AI 擅长的任务,就能调整任务以适应其特点。
“AI 能否编写好代码”的争论是错误的二分法,更有帮助的问题是“AI 在哪些编码任务上表现良好,哪些应避免”。宣称“AI 辅助编码很棒”或“AI 辅助编码是失败的”的人大多在相互误解,若加上具体情境,如“AI 辅助编码在删除功能标志等琐事上很棒”或“AI 在大型代码库中无监督工作时是失败的”,就能进行更有价值的对话。
此外,理解 AI 擅长的任务后可调整任务以适应其特点,从而在日常工作中获得生产力提升。本文将回顾 AI 编码助手的独特特征,并将其映射到编码任务与 AI 优势相匹配的模型(约束-上下文矩阵),展示如何调整工作以更好地适应 AI 能力,目的是让 AI 更多地帮助开发工作并获得更好的结果。
新的人工智能团队成员
- AI 辅助编码适合和不适合的问题:作为软件开发者的 LLM 有独特属性,如代码水平像资深工程师但设计决策像初级工程师,对多种语言等知识了解广泛但不了解代码库等,太急于取悦且不挑战想法等。
约束和上下文:可通过两个轴(解决方案空间是受约束还是开放,解决问题所需的隐含知识量)来考虑,即约束-上下文矩阵。
- 开放与封闭的解决方案空间:水平轴分类任务,如删除功能标志有明显解决方案,而添加用户一次上传多张照片的方式则无约束,开放解决方案空间易导致 AI 做出令人失望的选择,除非给予更多上下文和指导。
- 隐含与提供的上下文:向 AI 呈现问题时要考虑 LLM 是否有所需信息,当前编码代理每次新会话都重置为新入职状态,除非明确要求,否则不会学习,容易因缺乏现有代码库等上下文而给出“错误”解决方案。
将工作移入 AI 舒适区
- 约束解决方案空间:可通过更直接地指导、分解问题为子任务等方式,使解决方案空间更受约束,如给出更具体的指令(添加迁移现有数据等)、将任务分解为小任务等,利用像“链-氛围”这样的工作流引导 AI 通过开放解决方案空间。
- 提供更多上下文:可通过扩展提示(将更多信息包含在提示中,如使用 redis 进行缓存等)、利用记忆(将规则或记忆放入代理中,如代码库约定等)、使用工具(如通过工具搜索代码库、获取数据库模式等)、阅读额外文档(让代理读取网站文档和内部文档等)等方式,为 AI 提供更多上下文,使其能更好地解决问题。
超越错误二分法
要摆脱两极分化,思考 AI 最擅长的工作以及如何将更多工作交给它,改变思维方式,不要将 LLM 视为能解决所有编码问题的神奇盒子,而是要调整问题以适应其优势和避免其劣势。
挑战与帮助
下次考虑将任务交给 AI 时,考虑约束-上下文矩阵,调整任务以移入 AI 舒适区,如使用“链-氛围”、在提示中提供更多指导、指出额外上下文、设置 MCP 服务器等,与 AI 能力合作而非对抗,能立即获得回报,减少撤销 AI 选择的时间和挫折感,更成功地委派繁琐工作,专注于有趣问题。作者可帮助软件团队采用有效的 AI 辅助开发实践,若公司有此需求可联系。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。