文章摘要
当前许多人寻求技术合伙人或CTO来完善他们的应用原型,这表明虽然AI能编写代码,但无法独立构建完整软件。软件工程涉及复杂系统设计,远超单纯编码,这正是AI目前无法替代人类工程师的核心原因。
文章总结
标题:AI能写代码,但不会开发软件
你有没有发现,最近有不少人在寻找技术合伙人或首席技术官?就我个人而言,收到的这类咨询多得令人意外——大多数都是类似这样的内容:"嘿,我有个用AI生成的应用程序原型,你愿意把它做成正式产品吗?"这类求助者往往有共同特征:通常是精通业务但缺乏技术背景的专业人士,比如法律顾问或客户经理。
为什么他们需要我?这个问题让我思考良久。我认为这传递了一个重要信号:究竟有哪些事情是生成式AI无法独立完成的?这正是大家都在试图弄明白的问题。更直白地说,人们想知道哪些工作岗位即将被取代。而这些求助请求恰恰说明了软件工程的特殊性——如果这个领域真能被自动化取代,就不会有人寻找技术合伙人了。
经过大量实践观察,我得出了一个结论:AI能编写代码,但不会开发软件。正如那句老话所说:"写代码容易,做软件工程难。"如今的大型语言模型确实能自动化完成大量编码工作,GPT-5等模型解决特定问题的成功率相当可观。但关键在于,专业人士的报酬主要不是来自写代码,而是将演示原型转化为真正的产品——这正是软件工程的精髓所在。
目前AI无法胜任软件工程的原因或许在于这项工作的本质。职业软件开发者的核心任务是处理复杂性:虽然每个独立功能都很简单,但要让数百个简单功能协同工作并保持可维护性,这才是真正的挑战。换句话说,演示某个功能是一回事,而以保证集成性、扩展性和长期可维护性的方式实现该功能,则完全是另一回事。
当我查看求助者发来的代码时,往往发现所谓"产品化"实际上意味着推倒重来。这个现象很能说明当前AI技术的实际边界。
评论总结
评论内容总结:
1. AI当前能力有限,但未来可期
- 观点:AI目前擅长编写代码片段和构建小型MVP,但尚无法独立完成复杂软件工程任务。
- 引用:
- "True for now... but it doesn’t seem that far off." (subtlesoftware)
- "Yes, they're bad now, but they'll get better in a year." (preommr)
2. AI缺乏复杂逻辑和工程实践能力
- 观点:AI不擅长长逻辑链推理和软件工程最佳实践(如可维护性设计)。
- 引用:
- "LLMs are currently bad at... long chains of logical reasoning and applying abstract principles." (pron)
- "The models aren’t yet seeming to train on how to build maintainable software." (bradfa)
3. 人类工程师不可替代
- 观点:软件工程的核心是管理复杂性和解决问题,AI无法替代人类在需求分析、迭代和协作中的角色。
- 引用:
- "Writing code isn’t the same as delivering working software." (simonw)
- "Software engineering has always been about managing complexity, not writing code." (orliesaurus)
4. AI生成代码的质量问题
- 观点:AI生成的代码常存在冗余、复杂度过高或逻辑错误,需人工干预。
- 引用:
- "The quality of code is bad... already duplicated or unused logic." (hamasho)
- "It’s both an absolute genius and a complete menace... with no regards to human maintainability." (eterm)
5. AI对开发者技能的影响
- 观点:过度依赖AI可能导致开发者技能退化,但合理使用可提升效率。
- 引用:
- "If you rely solely on AI, you’re simply not going to remember much." (abhishekismdhn)
- "I have to guide the LLM along, but it’s perfectly capable." (cdelsolar)
6. AI尚未导致工程师失业
- 观点:目前没有证据表明AI直接取代工程师,裁员更多是公司策略而非技术替代。
- 引用:
- "Not a single software engineer has yet lost their job to AI." (aussieguy1234)
7. 实践中的混合工作模式
- 观点:结合AI与人工规划(如分步调试、版本控制)能优化开发流程。
- 引用:
- "Planning is key... prompting the agent to ask questions allows me to stay in control." (jumploops)
总结:
评论普遍认为AI在代码生成上表现突出,但受限于逻辑推理、工程实践和上下文理解能力,短期内无法替代人类工程师。未来需解决数据质量、长链推理和协作问题,而开发者需平衡AI工具的使用以避免技能退化。