Yuan's Blog

Software Is Changing:LLMs Are the Operating Systems of the New Era

Andrej Karpathy: Software Is Changing (Again)

神经网络本质上就是一大堆数学函数组合。这些函数的系数(weights),才是真正决定模型“怎么思考”的核心。我们不再手写这些函数,而是通过训练(optimization)让模型自己“学”出这些 weights。


三代软件范式:从写代码到写提示词

Andrej Karpathy 将软件发展划分为三个阶段:

  • Software 1.0:传统手写代码,通过逻辑判断和函数控制行为。
  • Software 2.0:神经网络驱动的机器学习,我们不写规则,而是提供数据,让模型“学”出能指导行为的 weights。
  • Software 3.0:用自然语言写 prompt,驱动大语言模型完成任务。

这三种方式不是互相取代,而是并存共用。每种方式适配不同任务场景,未来的开发者需要三种都能灵活运用。


权重是程序,训练是写代码

在 Software 2.0 中,我们不再写具体的函数,而是训练出一组可以“拟合行为”的权重。这些 weights 就是新的“程序”。

模型的“智能”不是靠硬编码的规则,而是通过大规模语言输入训练出的神经网络权重决定的。这些权重定义了模型“像谁”、“怎么说话”、“多聪明”。


LLM 是操作系统,不是水电工厂

我们使用 GPT-4、Claude 等模型,并不会本地运行,而是通过远程接口调用,按时间计费。这种方式更像“操作系统”:

  • 提供智能能力的统一入口
  • 不需要理解底层结构,只需输入 prompt

这是一种新型“智能计算基础设施”。


多模型协作:LLM 应用的幕后逻辑

一个 LLM 应用并非只依赖一个模型。例如 Cursor 背后就编排了多种模型:

  • Embedding 模型:用于理解上下文和搜索
  • Chat 模型:负责与用户对话
  • Diff 模型:生成改动建议

这些模型协同工作,通过编排(orchestration)完成复杂任务。


Prompt 要具体,小步快验更有效

在实际使用中,提示越具体、任务越窄,成功率越高。一次生成太多内容往往无法审核,因此更好的方式是:

  • 每次只让模型处理一个小任务
  • 快速验证结果,形成反馈闭环

这是一种“微小提交 + 高速循环”的使用策略。


GUI 和滑块:控制 AI 的参与程度

优秀的 AI 产品要有两个要素:

  1. 图形界面(GUI):可视化显示模型的输出、改动位置、上下文,有效调动人类视觉神经,提升审核效率。
  2. Autonomy Slider(自主滑块):允许用户调节 AI 的参与程度,从完全人工 ➝ 部分自动 ➝ 全自动,灵活切换。

这就像钢铁侠战衣,既可以自己操作,也可以让它自动飞来帮忙。


Markdown 比 HTML 更适合 LLM

LLM 在读取结构化内容时,对 Markdown 的支持远好于 HTML。HTML 结构复杂、嵌套深,容易解析出错,而 Markdown 简洁、逻辑清晰,更利于模型提取信息。

因此构建面向 Agent 的系统时,应使用 Markdown 编写文档、示例、API 说明,并尽量减少“点击这里”这类人类视角语言。


总结

我们正进入一个“软件重写”的时代:

  • 旧有逻辑被模型权重替代
  • 自然语言成为新界面
  • 人机协作成为主流范式

Software 3.0 正在重构软件开发的底层逻辑,未来已来,欢迎参与构建。