当AI代理开始参与代码编写时,随之而来的是严峻的维护和可持续性挑战,这与管理人类承包商的情况非常相似。尽管AI驱动的代码生成潜力巨大,但要实现预期成果,就必须依靠健全的最佳实践和严格的监督。
目前,关于“AI代码生成”(vibe coding)有两种流行但又极度夸张的说法。一种是认为只需简单一句话,AI就能给你一个价值百万美元的应用;另一种则悲观地预测,AI既然写了所有代码,人类将对其一无所知,最终必然导致大规模故障甚至“代码末日”。这两种观点都过于偏颇,未能反映现实。此前已有研究表明,代理式编程(agentic coding)虽令人惊叹,但也需要大量工作。本文将深入探讨将代码控制权交给机器后,所引发的维护和可持续性问题。
让AI代理编写代码,就像去一家融合菜餐厅用餐。你信任厨师的声誉,但对端上来的具体菜品却一无所知。同样,在使用AI代码生成时,你对AI实际产生的代码几乎没有洞察力。无论它是什么样子,你基本上都得“照单全收”。
当AI代理为你写代码时,这就像管理一群承包商或下属。在经过充分测试和评估之前,你根本不知道最终会得到什么。所有结果都取决于你的提示词(prompt)。“输入垃圾,输出垃圾”(garbage-in, garbage-out)这句老话,在这里有了更深层的含义。如果你给出的提示词不够清晰,或者在沟通和监督过程中不够明确,那么AI返回的代码将很难令人“消化”。
其中一个常见的误解是“失去控制的迷思”。然而,从金字塔时代起,工程经理就一直面临着监督承包商工作的挑战。分配工作和评估工作成果是工程经理的职责所在。在这一过程中保持质量和控制,正是软件工程的核心,这一原则在与AI代理协作时同样适用。