“氛围编码”是一种应用开发方法,它高度依赖大型语言模型 (LLM) 来生成代码。
阅读本文后,您将能够:
复制文章链接
氛围编码是一种大量使用大型语言模型 (LLM) 来生成代码的软件开发方法。“氛围编码”这个术语的意思是 AI 辅助编码,它由 OpenAI 联合创始人 Andrej Karpathy 于 2025 年 2 月在 X 社交平台上的一篇帖子中提出:
我把一种新的编码方式称为“氛围编码”,也就是说,让人完全沉浸于氛围,拥抱指数级增长,甚至忘记代码的存在。这可能是因为 LLM(例如Cursor Composer w sonnet)正变得越来越强大...代码越来越长,超出了我通常的理解能力范围,我不得不花一段时间仔细阅读。有时,LLM 无法修复某个错误,我就需要设法解决或要求随机更改,直到它消失为止……对于一次性的周末项目来说,这还不算太糟糕,但仍然相当有趣。
尽管 Karpathy 定义了这个术语,但随着 ChatGPT 和 Copilot 等 LLM 的公开发布,许多开发人员已经开始尝试类似的 AI 辅助方法。
氛围编码的目标是更快速地启动可运行的应用和新功能。过去,编码是一项非常精确的活动;而氛围编码则让开发人员能够向 LLM 提供通用的高级指令,然后 LLM 生成精确指令,包含在可运行的代码中。
与 LLM 的其他用例类似,氛围编码需要向模型提供提示词,然后模型做出响应并生成内容(在本例中,是生成代码)。LLM 是生成式 AI 模型:经过海量示例训练后,它们能够识别、解读并生成语言。LLM 能够使用日常人类语言和编程语言做到这一点。这种能力让 LLM 能够在几秒钟内生成可用的代码。
氛围编码开发人员必须向 LLM 提供正确的提示词,以便 LLM 创建正确的功能或应用。通常,这些提示不必特别精确,尽管 LLM 可能需要多次尝试才能生成符合开发人员预期的代码。
LLM 生成代码后,进行测试和调试。这涉及识别错误和安全问题。然后,可以提示 LLM 解决这些错误,或者如 Karpathy 所述,“设法解决或要求随机更改,直到它消失为止”(这种方法可能有效,也可能无效,具体取决于错误类型)。
许多广泛使用的 LLM 均可供开发人员尝试用于氛围编码。Copilot、Cursor、Codeium、Qodo、CodeWhisperer 和 Replit 都是 LLM 辅助软件开发的热门工具。
氛围编码的优点包括:
一些缺点可能包括:
漏洞:任何应用都可能存在漏洞或安全风险。由于氛围编码可以显著加快编写和发布新功能的速度,因此,存在的风险是可能产生更多安全问题,并逃脱检查进入生产阶段。此外,如果开发团队不熟悉问题代码,则可能更加难以解决这些安全问题。
数据丢失:在业务环境中使用任何 LLM 都会带来风险,即:输入可能包含将在外部环境中共享的知识产权信息。为了保护内部数据,开发人员需要了解 LLM 如何在后端对其数据进行分段。
进一步了解 LLM 的工作原理。
入门
人工智能
机器学习
大数据
词汇