通过分析一位开发者花费1万美元token却得出错误结论的案例,揭示了AI编程的核心问题不在于技术本身,而在于缺乏工程化管理。正确的做法应该像管理团队一样,对AI进行任务拆解、角色分工和质量把关,而不是简单地许愿式开发。
智能速览
AI编程失败往往源于使用者缺乏工程化管理思维
"许愿编程法"是对AI能力的错误认知和应用
测试是区分agentic engineering和vibe coding的关键
强类型语言并非解决AI编程问题的万能药
AI时代程序员的核心能力是管理而非编码
精华内容
AI编程的本质是工程管理,而非魔法许愿。通过拆解、组织、验证、迭代的工程化流程,才能真正发挥AI的价值。
许愿编程的误区
一位开发者花费1万美元token,在使用多个顶级AI模型后得出AI编程不行的结论,并建议回去学Haskell。他将任务简单交给AI,如"为Kotlin项目集成GCP Transcoding服务",却不对技术路线做明确指导。这种做法被称为"许愿编程法",就像向菩萨许愿后等待奇迹发生。当结果不如预期时,便归咎于AI能力不足,却忽略了自身指导的缺失。实际上,如果明确要求"封装现有Java SDK",就能避免agent走弯路。
测试的关键作用
Google Chrome团队的Addy Osmani明确指出,测试是区分agentic engineering和vibe coding的最大差异点。案例中的开发者让AI既写代码又写测试,相当于让同一个人既出题又答题,自然每次都"考满分"。正确的做法是实施TDD(测试驱动开发),让测试和编码由不同角色负责,确保质量把关的独立性。在一个13个agents加7个skills的团队结构实践中,6996行代码外部review只发现两个问题,证明了分工管理的有效性。
上下文管理的重要性
案例中观察到AI在老项目中表现拉垮,这源于上下文管理不当。研究表明,LLM对长上下文的注意力不均匀,有效容量通常只有标称最大值的60-70%。专业的做法是进行session拆分、任务边界控制和上下文清理,就像不会让一个人连续工作72小时一样。在Agent管理学论坛社区,触发Claude Code的自动压缩被视为菜鸟行为,正是因为不懂得上下文管理的重要性。
强类型语言的局限性
案例作者将强类型语言(如Rust、Haskell)作为核心解决方案,但这存在认知偏差。强类型只能解决类型错误这一小部分问题,业务逻辑错误、安全漏洞、性能瓶颈、架构失误等关键质量问题都无法靠类型系统解决。给红黑树加形式化验证来"上强度学CS",就像让不会炒菜的人去研究分子料理,连基本TDD都不会,却追求高深理论。
工程化管理的核心价值
AI编程的成功关键在于工程化管理。需要建立类似土木工程的分工体系:甲方(需求方)、设计院(架构师)、施工队(编码agent)、监理(测试agent)。通过plan、direct、review、test的流程,而非prompt、accept、pray的模式,才能确保产出质量。AI时代,程序员需要培养的核心能力不是写更多代码,也不是学Haskell,而是管理能力。
AI时代对程序员的要求正在转变,核心能力不再是编码数量,而是工程化管理思维。学会拆解任务、分配角色、建立流程、设置质量关卡,这些传统tech lead的技能正成为AI编程的基本功。当许愿不灵时,答案不是换更贵的AI,而是开始工程化管理。
关键评论
完全赞同作者观点,AI时代编程是对软件工程和管理能力的考验
AI编程需要正确的使用方法,明确目标、分离的TDD系统、管理得当的上下文
学生群体也普遍存在这种浮躁倾向,问题根源在人而非AI
对agentic coding的批评首先建立在正确的使用方法上
越是需要复杂的工程化体系来让AI正常工作,本身就失去了AI的初衷