指出 AI 过度自信和上下文理解不足两大缺陷——代码看起来正确但含隐藏 bug,或对问题背景缺乏真正理解导致答非所问。
人工智能已经变得非常强大。它可以编写代码、分析数据、总结文档、生成内容,并帮助开发者更快地解决问题。
但有一个弱点仍然困扰着我:
人工智能并不总是知道自己何时出错了。
这听起来很简单,但这却是一个出人意料地重要的问题。
人工智能可以生成一个看起来完善、逻辑自洽、技术上令人信服的答案,同时却包含完全错误的信息。
这就是人工智能的错误不同于普通错误的地方。
如果一个人给你一个奇怪的答案,你可能会质疑它。
而人工智能可以给你五段自信的推理,让同样的错误听起来也显得可信。
对开发者来说,这尤其令人沮丧。
生成的代码片段可能看起来完全合理,但却包含一个微妙的 bug、使用了过时的 API,或者做出了不符合实际项目的假设。
人工智能可以处理海量信息,但这并不意味着它总能理解问题背后的上下文。
开发者可能会问:
"为什么这个不工作?"
答案可能取决于框架版本、操作系统、配置、数据库、之前的实现,或者代码库其他地方的某个小细节。
如果上下文不可用,人工智能可能会用假设来填补空白。
有时这些假设是正确的。
有时则不然。
我认为人工智能会显著改进。
更好的检索、工具使用、测试、验证和推理应该能减少许多这类问题。
特别是对于软件开发,人工智能已经可以通过运行测试、检查输出、审查文档或使用开发工具来验证其部分工作。
但仍会有情况是现有信息不完整或模糊不清。
这就是不确定性发挥作用的地方。
一个会说"我不确定;这是我会验证的内容"的人工智能,可能比一个自信地编造答案的人工智能更有用。
随着人工智能在生成代码方面变得越来越好,开发者可能会花更少的时间手动编写每一行代码,而花更多的时间审查生成的内容。
这并不意味着开发者变得不那么重要了。
它改变了他们需要擅长的东西。
理解架构、调试、测试、安全、系统设计和评估权衡变得更有价值。
"这真的有道理吗?"
可能变得和知道如何生成初始解决方案一样重要。
当把人工智能视为一个非常有能力的开发伙伴,而不是一个不容置疑的真相来源时,我发现它最有用。
但最终验证仍然很重要。
对于探索人工智能、自动化、物联网和互联技术实际应用的开发者和组织来说,apertureventurestudio.com 探索新兴技术和实际应用。
也许最重要的 AI 技能不仅仅是提示词。
知道何时相信输出。
知道何时测试它。
知道何时验证文档。
以及知道何时模型在自信地编造内容。
人工智能可能会在识别自身局限性方面做得更好。
在那之前,有一条规则值得记住:
一个自信的答案不一定是一个正确的答案。
在软件开发中,这个差异可能就是有用捷径和漫长调试会话之间的区别。