信任但验证

我们经常说AIS“了解”代码,但是从人类理解事物的意义上说,他们并没有真正理解您的问题或代码库。他们正在模仿他们以前看到的文本和代码的模式,要么内置在模型中,要么由您提供,旨在产生看起来正确的东西,并且是一个合理的答案。是[…]

来源:O'Reilly Media _AI & ML

我们经常说AIS“了解”代码,但是从人类理解事物的意义上说,他们并没有真正理解您的问题或代码库。他们正在模仿他们以前看到的文本和代码的模式,要么内置在模型中,要么由您提供,旨在产生看起来正确的东西,并且是一个合理的答案。这通常是正确的,这就是为什么Vibe编码(将输出从一个提示中反复将输出回到AI而不阅读其生成的代码的原因)如此之好,但不能保证是正确的。而且,由于LLM的工作方式以及我们如何提示它们的局限性,该解决方案很少考虑整体架构,长期战略,甚至通常是良好的代码设计原则。

看起来正确,是一个合理的答案

我发现管理这些风险最有效的原则是完全从另一个领域借来的:信任但验证。尽管该短语已用于从国际关系到系统管理的所有内容中,但它完美地捕获了我们与AI生成的代码所需的关系。我们相信AI足以将其输出作为起点,但是我们在提交之前验证了所有内容。

信任但验证

信任,但验证是一种有效方法的基石:将AI信任起点,但验证设计支持变化,可检验性和清晰度。这意味着要应用与任何代码使用相同的关键审核模式:检查假设,了解代码实际上在做什么,并确保它适合您的设计和标准。

信任但验证

验证还意味着采取特定步骤检查您的假设和AI的输出,例如对代码的生成单元测试,如我们前面所讨论的那样。 AI可能会有所帮助,但默认情况下并不可靠。除非您在提示中明确说明并仔细检查输出以确保您对其进行良好的通信并了解AI,否则它不知道您的问题,域或团队的上下文。