AI 编程新范式:从 Agent 到软件 3.0 的深度演进

AI 编程新范式:深度演进与未来展望

从 AI Agent 到软件 3.0,探索技术变革下的开发新浪潮

引言:AI 浪潮下的“内卷”与新机遇

从 AI Agent 到 AI 浏览器,再到 IDE 和 CLI 的深度融合,软件开发领域正经历一场前所未有的“内卷”。近期,主流 AI 厂商纷纷推出命令行界面 (CLI) 编程助手,如 OpenAI Codex CLIAnthropic Claude CodeGoogle Gemini CLI,预示着 AI 驱动的软件开发新纪元。

📌 Gemini CLI:量大且免费的先锋

个人开发者可通过 Google 账号免费获取 Gemini Code Assist 许可证,享受 Gemini 2.5 Pro 及其强大的 100 万 token 上下文窗口。预览期间,提供业界最高的免费额度:每分钟 60 次、每天 1,000 次模型请求。

面对层出不穷的 AI 编程工具,程序员们常常感到应接不暇。本文旨在梳理当前主流的 AI 编程框架与工具,帮助读者建立宏观认知,理解这场深刻变革的脉络与核心。

核心概念与关键领域

🤖 AI Agent:自主智能体系统

Agent AI 指能够自主感知环境、做出决策并采取行动以实现特定目标的 AI 系统。它们通常以框架或库的形式存在,旨在简化 AI 应用的开发流程。

主流开源代表:

  • LangChain & LangGraph: 用于构建 LLM 驱动应用的框架与低层级编排框架。
  • AutoGen: 用于创建可自主行动或与人类协同工作的多智能体 AI 应用程序的框架。
  • CrewAI: 轻量级、极速的 Python 框架,专为开发适用于各种场景的自主 AI 代理而设计。
  • LlamaIndex: 构建基于 LLM 和工作流的数据驱动代理的领先框架。
  • Agno: 专为构建多 Agent 系统设计的 Python 框架,支持 Agent 间共享记忆、知识和推理能力,分为五级能力。
  • GPT Researcher: 智能体代理,专为各种任务的综合在线研究而设计。

💡 Agent 演进:从任务编排到系统级代理

早期 Agent 框架侧重任务编排,而 Browser Use 等 AI 浏览器代理使普通用户无需编码即可自动化在线任务。OpenAI 的 CUA (Computer-Using Agent) 更进一步,使 AI 能像人一样操作真实计算机界面,实现跨网页、文件和应用执行复杂指令。

基于 Agent 的定制工作流:

  • n8n: 工作流自动化平台,结合代码灵活性与无代码便捷性,支持原生 AI 能力和 400+ 种集成。
  • dify: 开源 LLM 应用开发平台,融合 Agentic AI 工作流、RAG、模型管理等,加速原型到生产。

🧑‍💻 编程助手:赋能开发者的利器

当前主流的 AI 编程助手主要分为 IDE 集成、在线生成式和命令行界面 (CLI) 三大类。

IDE 集成:

  • VSCode, Cursor, Windsurf, Zed (基于 Rust), Trae 等。
  • VSCode 插件: GitHub Copilot, Gemini Code Assist, Claude Code, Tabnine, Cody, Lingma (通义灵码), Trae AI (豆包) 等。

Online 生成式:

CLI 工具:

GitHub Copilot 作为一个特殊存在,深度集成于 GitHub 生态,支持仓库代码分析、Issues、PR 处理等。

⚠️ 插件禁用风波:VSCode 与 AI IDE 的竞争

Cursor 等基于 VSCode 套壳的 AI IDE 曾因复用其插件生态而受追捧,但近期 VSCode 开始限制其核心插件(微软自研)只能用于微软产品,导致部分套壳 IDE 无法支持 C/C++、Remote-SSH 等主流插件,这凸显了 AI IDE 市场竞争的激烈性。

💻 Terminal 终端:AI 的新战场

各类 CLI 工具的运行离不开终端环境。

  • Warp: 目前体验最好的 AI 终端,支持 agent、mcp 等功能。
  • starship: 基于 Rust 实现的终端美化工具。
  • Nerd Fonts: 针对开发者添加大量字形(图标)的编程字体。

⚙️ AI 开发主流编程语言

目前 AI 应用、MCP 或 CLI 开发常用语言包括 JS、Python、Go、Rust。

  • JavaScript/TypeScript: 简单易上手,前端 AI 应用首选。
  • Python: AI 编程的“一等公民”,大量 AI 框架和库用 Python 开发。
  • Go & Rust: 常用于服务或命令行开发,侧重性能。
💡 趣闻: OpenAI Codex CLI 正从 TypeScript 转向 Rust,旨在实现应用原生化,减少对外部环境 (Node.js) 的依赖。

🤝 大模型协议:互联互通的基石

为规范 LLM 交互和上下文信息提供,出现了多种协议。

  • MCP (Modal Context Protocol): 开放标准,规范如何向 LLM 提供上下文信息,如同 USB-C 接口,统一应用向模型传递工具、数据、偏好等。在编程领域尤为热门。
  • AG-UI (Agent-User Interaction Protocol): 代理-用户交互协议。

📚 AI 文档:实时准确的信息之源

LLM 生成代码建议时常因依赖过时信息而产生问题,新的 AI 文档工具旨在解决此痛点。

  • Context7: 通过 MCP 机制直接从源头获取最新、特定版本的文档和代码示例,确保 LLM 输出建议的准确性。
  • DeepWiki: 基于 GitHub Repo 源代码生成最新版可对话式文档,由 Devin 驱动。
  • Gitingest: 将任意 GitHub 代码库转换为适合 LLM 提示的文本摘要。
📌 Sequential Thinking MCP Server: 通过结构化思维过程,将问题拆解为多步推理,支持思路修正、分支探索,提高输出代码准确性。

📦 AI SDK:构建 AI 应用的工具包

AI SDKs 提供统一 API 接口,方便开发者与多种模型提供商无缝交互。

  • AI SDK (Vercel 维护): 基于 TypeScript,支持 Next.js、React、Svelte、Vue 等,几乎满足大部分 LLM API 调用需求。
  • Google Gen AI SDK: 专为 TypeScript 和 JavaScript 开发者设计,构建由 Gemini 提供支持的应用。
  • OpenAI SDK & Anthropic SDK: 提供便捷访问各自 REST API 的工具包。

🎨 AI 代码生成与前端 UI

Next.js、React、Tailwind CSS 等框架对 AI 代码生成友好,易于生成美观网页。

  • 动画/3D 效果: p5.js, three.js
  • 快速构建风格统一界面: shadcn/ui (基于 Radix + Tailwind)。
  • 换肤工具: tweakcn 可视化主题编辑器,可一键导出 shadcn 配置代码。

开源 Chat UI 方案:

如果对本地部署 AI Chat 或开发类似 ChatGPT 应用感兴趣,以下项目值得参考:

  • Open WebUI: 可扩展、功能丰富、用户友好的自托管 AI 平台,支持各种 LLM 运行器。
  • Chat SDK: 免费开源模板,使用 Next.js 和 AI SDK 构建。
  • LobeChat: 现代化设计的开源 ChatGPT/LLMs 聊天应用与开发框架,支持语音合成、多模态、可扩展插件。
  • Cherry Studio: 支持多个 LLM 服务商的桌面客户端。
  • Text generation web UI: 适用于大型语言模型的 Gradio Web UI。

软件演进:三次范式变革

🔄Andre Karpathy 的洞察:Software Is Changing (Again)

Andrej Karpathy 结合其在斯坦福、OpenAI 和特斯拉的经历,分析了软件发展的历史、现状与未来趋势,指出软件正经历三次根本性变革。

软件 1.0:指令式编程

过去 70 年的软件底层逻辑,人类编写代码,给计算机下达精确指令。代表:GitHub 上的无数代码仓库。

软件 2.0:数据驱动神经网络

通过调整数据集和运行优化器自动生成神经网络的“权重”参数。代表:Hugging Face 和 Model Atlas 等模型平台。

软件 3.0:自然语言编程

LLM 成为新型计算机,提示词(prompts)即“程序”,用人类自然语言编写,大幅降低编程门槛。例如:用几句话提示 LLM 进行情感分类。

📌 Vibe Coding:人人皆可编程

由 Andrej Karpathy 提出,指依赖 LLM 生成和修正软件的全新编程方式。开发者更多充当“提示提供者”和“测试者”,通过自然语言与 AI 协同对话,甚至“看看、说说、跑一下、然后复制粘贴”即可完成项目。

Karpathy 强调,这三种编程范式将长期共存,掌握它们对未来行业从业者至关重要。

🧠 LLM 本质:数字世界的“操作系统”

Karpathy 将 LLM 类比为多种概念,其中“数字操作系统”最为贴切,揭示其复杂生态系统特性。

  • 新型“公用事业”: 训练和运营成本高昂,按使用量收费,提供智能服务。
  • 高科技“晶圆厂”: 巨额资本支出,形成深厚技术积累。
  • 数字“操作系统”: 最贴切的比喻,LLM 是复杂软件生态系统,具备资源调度、内存管理(上下文窗口)、应用分发等功能。
  • 1960 年代的计算: 当前 LLM 计算集中于云端,用户通过网络交互,类似大型机时代。预示未来个人 LLM 计算的可能性。
  • 终端与 GUI: 直接与 LLM 通过文本交流如终端对话,期待更直观的 GUI 交互。
💡 独特扩散方向: LLM 首先在普通消费者中普及,而非先由政府/企业采用,预示其应用层面的独特发展路径。

🔬 理解 LLM “心智”:超能力与认知缺陷并存

LLM 通过自回归 Transformer 模型从海量数据中学习,展现出类似人类的“涌现心理”。

✅ 超能力:

  • 百科全书般的知识和记忆,远超任何个体人类。

❌ 认知缺陷:

  • 幻觉 (Hallucination): 凭空捏造信息,对知识边界缺乏认知。
  • 锯齿状智能 (Jagged Intelligence): 在某些领域超人,但在简单问题上犯低级错误。
  • 顺行性遗忘 (Anterograde Amnesia): 无法巩固知识,上下文窗口更像工作记忆。
  • 安全漏洞: 易受提示注入攻击,可能泄露数据。

与 LLM 协作,需扬长避短,充分利用其超能力,同时规避其认知缺陷。

🤝 LLM 应用与人机协作:加速“生成-验证”循环

未来的软件产品和服务将部分自治。LLM 应用如 Cursor 和 Perplexity 兼具辅助与自治特性。

LLM 应用特性:

  • 上下文管理:自动处理大量信息。
  • 多模型协调:底层协调多个模型。
  • 应用特定 GUI:更直观展示信息,提升人机协作效率。
  • 自治滑块 (Autonomy Slider):用户可根据任务调整 LLM 自治程度。

人机协作效率提升关键:

  • 加速验证:GUI 利用人类视觉能力,比阅读纯文本更高效。
  • “牵住” AI 的缰绳:限制 AI 输出粒度,使其以小步、增量方式进行,避免过度反应。

为“代理”而设计:新的数字信息消费者

AI 代理是具有“人类灵魂”的计算机,需要我们为其重新构建软件基础设施。

  • LLM 友好的信息格式:提供类似 robots.txt 的 llm.txt,用 Markdown 描述网站内容。
  • 为 LLM 重写文档:将为人类编写的文档转化为 LLM 代理可直接调用的格式(如 Markdown + curl 命令)。
  • LLM 友好的工具:如 gitingest,将 GitHub 仓库转换为 LLM 可读文本摘要。

主动为 LLM 提供更友好的访问方式至关重要,能降低成本并提高效率。

⚙️ 上下文工程:构建高质量 LLM 应用的核心

“上下文工程”比“提示词工程”更准确,它是一门融合工程方法与直觉艺术的复杂实践,旨在为 LLM 提供“刚刚好”的信息。

科学性:

  • 涉及任务说明、few-shot 示例、RAG、相关数据(多模态)、工具使用、状态记录、历史追踪、上下文压缩等。
  • 信息太少、太杂或形式不当,都会影响模型性能。

艺术性:

  • 对语言模型“心理机制”的直觉理解与经验积累。

上下文工程只是构建完整 LLM 应用的一部分。整个系统还需要负责任务分解、动态封装上下文、调用不同 LLM、设计生成-验证流程、构建安全机制等,远超简单的“ChatGPT 包装器”。

结语:面向“代理的十年”

AI 的演进正超越纯对话模式,与应用程序及操作系统深度融合,目标是赋予 AI 更大的操作权限,执行更复杂、更自动化的任务。

🛠️ 对普通用户:

  • 日常需求可通过对话式 AI 或 AI 浏览器轻松满足。
  • 复杂任务则需集成 AI 功能的 IDE 或支持任务编排的工作流。

🚀 对开发者:

  • 理解并驾驭 AI、GUI 和操作系统三者关系至关重要。
  • 未来软件重心在于如何巧妙编排这些元素,构建与 AI 无缝协作的智能应用。
  • “全民编程”时代已来临,专业程序员与 “Vibe Coder” 都将参与其中。

Karpathy 提醒我们,软件开发,尤其自治系统,是漫长而复杂的过程。我们正处于“代理的十年”,而非“代理之年”,需保持耐心,让人类始终参与其中。最终,我们应构建能增强人类能力的“钢铁侠战衣”——具有定制 GUI 和 UI/UX 的部分自治产品,加速“生成-验证”循环,并通过“自治滑块”逐步提升自治程度。

“这是一个令人惊叹的时代!” 我们将亲眼见证软件自治的程度从左向右滑动,而我们,正是这场伟大变革的参与者和建设者。

🆕 新趋势:应用自我扩展功能

近期演示的笔记应用通过“笔记”内容为自身生成新功能,预示着未来 AI 应用发展的新方向:通过与应用对话来拓展自身功能。

来源: 关于 AI 编程的一些浅思

参考文献

互动区域

登录后可以点赞此内容

参与互动

登录后可以点赞和评论此内容,与作者互动交流