“启动者”模式
使用如 Bolt、v0 等工具,通过设计或概念快速生成初始代码库。这种模式能够在几天内完成从零到最小可行产品(MVP)的构建,专注于快速验证和迭代。
“迭代者”模式
借助 Cursor、Cline、Copilot 等工具进行日常开发工作流程,包括代码补全、复杂重构任务、生成测试和文档等。将 AI 视为“结对程序员”,协助解决问题并提高效率。
资深工程师
资深工程师在使用 AI 工具时,虽然能够迅速搭建功能,但他们会不断对生成的代码进行重构、添加边缘情况处理、加强类型定义和接口、质疑架构决策、添加全面的错误处理等,以确保代码的可维护性。
初级工程师
初级工程师往往直接接受 AI 的输出,导致“纸牌屋代码”。这类代码看似完整,但在实际压力下容易崩溃。
AI 工具对经验丰富开发者帮助更大,因为他们能更好地引导和监督 AI。而初学者试图用 AI 学习如何编码,结果却可能接受错误或过时的解决方案,忽略关键的安全和性能考虑,难以调试 AI 生成的代码,构建出自己不完全理解的脆弱系统。
非工程师使用 AI 编码时,会发现能快速达到 70% 的完成度,但最后 30% 却收益递减,原因如下:
两步退模式
尝试修复小错误时,AI 的建议可能合理,但会引发其他问题,导致不断重复修复。非工程师因缺乏背景知识而难以理解问题所在。
学习悖论
AI 代码生成的便捷性反而阻碍了学习。代码“出现”却无法理解其背后的原理,导致缺乏调试技能、错过学习基本模式、无法对架构决策进行推理、难以维护和演化代码。
“AI 初稿”模式
让 AI 生成基本实现,手动审查和重构以提高模块化,添加全面的错误处理、编写彻底的测试、记录关键决策。
“持续对话”模式
为每个不同任务开始新的 AI 对话,保持上下文聚焦和简洁,频繁审查和提交更改,保持紧密的反馈循环。
“信任但验证”模式
使用 AI 进行初始代码生成,手动审查所有关键路径,对边缘情况进行自动化测试,定期进行安全审计。
代理软件工程的兴起
未来的 AI 系统不仅能响应提示,还能规划、执行和迭代解决方案,具有更高的自主性,如 Anthropic 的 Claude 的计算机使用功能,或 Cline 自动启动浏览器和运行测试的能力。
多模态未来
下一代工具可能不仅处理代码,还能无缝集成视觉理解(UI 截图、模型、图表)、口头语言对话、环境交互(浏览器、终端、API)等,更全面地理解和处理软件。
自主但有指导
未来最有效的团队将学会为 AI 代理设定明确的边界和指南,建立强大的架构模式供代理使用,创建人类和 AI 能力之间的有效反馈循环,在利用 AI 自主性的同时保持人类监督。
随着 AI 的发展,英语作为编程语言的重要性日益凸显。清晰的自然语言表达和沟通能力变得与传统编码技能同等重要,这要求开发者具备更强的系统设计和架构思维、更好的需求规范和沟通能力、更注重质量保证和验证以及增强人类与 AI 能力之间的协作。
演示质量陷阱
团队使用 AI 快速构建令人印象深刻的演示,但在真实用户使用时容易出现问题,如无意义的错误消息、导致应用程序崩溃的边缘情况、未清理的混乱 UI 状态、完全被忽视的可访问性、在较慢设备上的性能问题等。
抛光艺术的丧失
创建真正自助的软件需要关注细节,如痴迷于错误消息、在慢速连接上进行测试、优雅地处理每个边缘情况、使功能易于发现、与真实用户(通常是非技术用户)进行测试等。这种关注细节的能力可能无法由 AI 生成,它来自同理心、经验和对工艺的深切关怀。