企业在积极引入AI的同时,也希望雇用更多工程师,期望开发者能够借AI之力将产出“提升10倍”。但要真正高效运用AI编码助手,其中也有不少门道。
首先是AI编码助手的固有局限,其存在大量不确定性,因此容易引发种种难以避免的意外行为,例如随机删除代码或引入逻辑错误。
此外,驱动编码助手的大模型本身也有问题。一旦使用不当,大模型也可能成为代码删除或者安全漏洞的来源。此外,AI智能体还经常陷入递归循环乃至无休止的测试循环当中,严重影响生产效率。
那么对于AI辅助开发这一未知领域兼全新技能类型,开发者和技术领导者们该如何破局?以下七种方式也许能够带来一点启示。
Sonar公司首席业务增长官Harry Wang认为,“有效运用AI编码助手的第一步,是从清晰、定义明确的提示词开始,这也是解开代码库复杂性的钥匙。”
低质量提示词往往成为安全隐患的来源,因此必须认真磨练这项技能。相关研究发现,在十项常见弱点枚举(CWE)攻击方法中,低效提示词至少会被其中四项攻破。
根据BlueOptima发布的2024年《生成式AI对软件开发者绩效影响》报告,“适度”使用生成式AI的开发者表现最佳(报告分析了来自21万8354名企业软件开发者的总计8.8亿项提交成果)。
报告指出,最佳结果源自AI辅助与人类专业知识间的最佳平衡。在实践中,代码编写和验证工作可以交给AI,项目设计与最终审批则更适合人类。
只有在准确性、速度和成本等指标上综合最优的大模型,才是最适合特定需求的选项。
在LLM Stats公布的排行榜中,Anthropic Claude 3.5 Sonnet的编码能力在HumanEval基准上得分最高。此外,Claude在安全性方面同样名列前茅。研究发现,Claude 3.7 Sonnet生成的代码比OpenAI GPT-4o和谷歌Gemini的输出结果更安全。
与此同时,OpenAI o3的知识储备最为丰富,DeepSeek R1的推理能力则一举登顶。此外,Gemini 1.5 Pro提供最大的token窗口,Lambda拥有最高的性价比。
专家建议逐步开发AI代码。Honeycomb公司联合创始人兼CTO Charity Majors表示,“一定要将代码变更的规模控制得尽量更低。千万不要一次性生成整个网站、API或者功能。”
Layered Sysetm公司API策略师Kevin Swiber则提到,如果大家正在处理一个3000行的代码文件,那一定要进行拆分。这时候直接使用AI重构将带来巨大风险,因为AI经常会无故删除或者移动代码,所以“一定保证只用AI对细节做优化,阻止直接把大问题交给它。”
因此,Majors建议从端点、组件或者任务着手,之后逐步由AI生成测试、运行测试并生成更多代码。
除了直接在代码编辑器中使用GitHub Copilot、Cursor或者Continue等工具获取建议,开发者也可以在行动之初就规划好一切。Swiber建议使用Markdown文件为AI助手编写一份完整计划,借此明确项目目标并详细说明进度安排。另外,最好能备份原始文件,以便随时恢复到之前的可用版本。
Swiber强调,“要提前规划并留下线索,方便自己和智能体灵活参考。”再有,可以使用明确的行内注释为智能体提供指引,例如“不要修改这些代码行。”
对于将要投入生产的AI生成代码,一定要进行彻底审查。Majors强调,“永远不要发布自己不理解的东西。”
Sonar公司的Wang表示,“哪怕代码是由AI生成,最终也还是要由人类对其质量和安全性负责。”
Graphite公司CEO兼联合创始人Merrill Lutsky认为,“AI生成的代码更需要严格审查和测试,以保证其正确性、高性能与安全性。”
在这方面,Lutsky认为AI造成的问题也完全可以由AI来解决。他认为可以使用AI智能体简化DevOps流程、自主完成审查及测试流程,并根据需要引入人为干预,借此不断提升CI/CD的执行效率。
另一项重点,是为AI提供适当的上下文。Cockroach Labs公司CEO Spencer Kimball表示,“只有AI获得了足够的信息,才能做出合理的判断。”当前模型在上下文窗口和外部数据访问能力方面仍有局限,但开发者可以直接用内部数据、文档乃至整个项目作为素材进行大模型微调,借此确保公共大模型也能体会项目中的细微差别。
更重要的是,Kimball认为这将成为以开源为核心的年轻技术企业们的绝佳机遇,因为他们的源代码和设计文档都会公开交付给大模型。
大模型在连接性方面也取得了重大进展。例如,OpenAI的智能体SDK与Anthropic模型上下文协议(MCP)在将AI与工具、数据源及其他AI对接方面取得了长足进步。
AI编码应用正迈向成熟期,每位开发者都应当尽早体验这些工具。Swiber强调,“在擅长的方面,AI编码助手确实能节约下大量时间。”
如今的AI编码助手不再是实验室里的玩具,而开始成为企业开发流程中的标准。Gartner预计到2028年,75%的企业软件工程师将使用AI编码助手。
中小型企业将在这波浪潮中获得显著推动。Kimball认为在AI时代下,十几个员工支撑起年度经常性收入高达1亿美元企业将不再是梦想。
但要让这一切成为现实,开发者必须掌握新的工具驾驭智慧、建立真正高效的新型工作流。希望以上七条建议,能够成为大家拥抱AI编码时代的起点。