跳至正文

从“鹦鹉人工智能”到预AGI时代:人工智能在代码创作中的三大阶段

Fase 2 6

大型语言模型(large language models,简称LLMs)的进步深刻改变了我们开发软件的方式。最初被视为单纯的生产力工具,这些人工智能迅速演变为能够自主推理的系统,能够产生创新的解决方案。本文探讨了编程中人工智能的三个主要阶段:从基于现有代码的生成,到结构化推理,再到创造自己的语言。

1. 第一阶段 — “代码鹦鹉” 人工智能

在这个初始阶段,人工智能充当“数字鹦鹉”:它的角色是根据从大型数据集中学习的模式,预测下一个字、字符或代码行,例如 Github 上的公共存储库、Stack Overflow、技术博客和文档。

Fase 1

人类视角

从人类的角度来看,这个阶段带来了生产力的革命:

  • 重复任务的自动化:创建标准函数、简单脚本以及对遗留代码的调整变得几乎瞬间完成。
  • 初学者的可接触性:初学开发者有了虚拟“导师”,能够基于常见实践提供建议。
  • 日益增长的依赖性:许多人开始过于依赖这些人工智能,真实理解代码基础的能力下降。
  • 法律问题:生成的代码可能会不知不觉中违反 GPL 和 Apache 等许可协议。

人工智能视角

在这一阶段,人工智能并不“理解”代码;它只是复制可能的模式。它对训练语料库的质量高度依赖。如果输入的例子质量差,其产生的解决方案也将质量低下。另外,它缺乏真实的上下文感知:可能建议效率低下、不安全或过时的代码。

尽管有限,但这一阶段显著提升了生产力,并展示了人工智能在辅助程序员方面的实际潜力。

2. 第二阶段 — 推理与对人类意图的对齐

第二阶段随着对齐技术的改进而出现,例如来自人类反馈的强化学习(Reinforcement Learning from Human Feedback,RLHF),以及链式思维提示(chain-of-thought prompting)机制的引入。在这里,人工智能不仅复述它已知的内容,而是尝试规划和结构化解决方案。

Fase 2

人类视角

  • 更简洁和功能强大的代码:生成的代码变得更具一致性,并具备更好的命名规范、责任分离和维护便捷性。
  • 自动化测试的生成:人工智能开始包含单元测试、模拟和使用示例。
  • 合理性:此模型能够合理化逻辑选择,如偏向于使用现代API而非已弃用的API。
  • 上下文的理解:生成解决方案时,考虑了项目、语言或框架的特定情况。
  • 持续存在的错误:虚构问题仍然存在(如不存在的函数),需要不断复审。

人工智能视角

现在,人工智能可以在逻辑阶段上工作:它分析声明,规划步骤,然后执行生成。尽管仍然基于概率,但添加了多个注意层。这样使它能够“模拟”思考过程。虽然它并未像人类那样理解,但能够创建近似于结构化思维的抽象。

另一个重要点是能从人类的修正中学习。人工智能根据反馈自我调整,随着时间的推移产生更精细的解决方案。

3. 第三阶段 — 准AGI与新兴语言

第三阶段,依然在发展中,将以产生自身编程语言的人工智能以及在自主系统中沟通为特征。这是准通用人工智能(AGI)的阶段,它使得人工智能不再仅仅遵循指令,而是能够提出新的范式。

Fase 3

人类视角

  • 终结人类对计算语言的垄断:Python、Java或C++等传统语言可能被为IA之间效率特别设计的语法所替代。
  • 不可预见性:理解、审计或调试非人类产生的代码将变得异常复杂。
  • 职业角色的重新配置:程序员可能会转变为验证者、逻辑翻译者或合规审计员的角色。
  • 监管挑战:人工智能创造的新语言可能会逃脱开放标准,变成黑箱。

人工智能视角

在这一阶段,人工智能不再局限于线性预测令牌。它构建完整的结构、抽象和协议,以便与其他智能体沟通。这意味着它能够生成不面向人类而专注于计算效率的语言。

这些系统将能够识别现有语言中的低效,并为特定应用(例如物联网、加密、神经网络)开发定制的语法。这将是一场静默的革命,然而其影响深远。

4. 跨领域挑战

安全性:即使在第二阶段,人工智能仍可能生成脆弱的代码。不再更新的库、缺乏适当加密或认证错误仍然存在。像SAST这样的工具和人工审计依旧至关重要。

透明性:封闭源码的人工智能不允许进行彻底审计。这使人无法判断模型如何得出某个解决方案,从而影响其在敏感环境中的可信度。

社会与经济影响:数以千计的专业人士将必须进行重新培训。新角色要求具备人工智能、安全、伦理及技术立法方面的知识。

5. 结论

应用于编程的人工智能正从一种助手角色转变为主角。从可能性的复制到链式推理,最终到自行创建计算语言,我们正迈入一个新时代。

对于科技专业人士而言,关键在于适应。那些掌握生成的代码审查、自动安全和解读新兴语言的人,将为未来做好准备。代码将会不同,但人类的角色依然至关重要:作为新计算智能边界的伦理、透明性和安全的守护者。

活着的人,将会看到。而学习的人,将会编程。