Post

AI coding 的进化本质:从 LLM 到 Agent

从 LLM 到 Agent 的进化,是 AI 从一个“知识工具”向一个“生产力伙伴”的飞跃。

AI coding 的进化本质:从 LLM 到 Agent

想象一下:你只需要说”帮我开发一个待办事项应用”,AI 就能自动完成从设计到部署的全部工作。这听起来像科幻,但它正在成为现实。

短短两年,AI 在软件开发领域的角色发生了翻天覆地的变化。它不再仅仅是一个聪明的代码片段”补全工具”,而是正在演变为一个能够理解复杂任务、自主规划、甚至独立完成整个项目的”专业开发者”。

本质上,这是一场从大语言模型(LLM)到智能代理(Agent)的进化,正在重新定义我们创造软件的方式。

从”大脑”到”完整身体”

用一个比喻你就能理解这两个阶段的区别:LLM 是”大脑”,而 Agent 是”拥有大脑、还能与世界互动的完整身体”。LLM 是 Agent 的核心驱动力,但 Agent 是一个更完整、更复杂的智能系统。

LLM 是”大脑” :它是一个强大的信息处理器。它负责理解、推理和生成。但如果只有一个孤立的大脑,它无法感知世界,也无法对世界做出任何物理改变。它的所有想法都只是”纸上谈兵”。

Agent 是”完整的身体” :它不仅拥有 LLM 这个”大脑”,还拥有:

  • 眼睛和耳朵(感知系统):用于读取文件、访问网页、接收API返回的数据。
  • 手和脚(行动/工具系统):用于执行命令、写入代码、调用API、操作软件。
  • 海马体/记忆(记忆系统):用于记住长期的指令和过去的经验,并从中学习。包括:短期工作记忆(对话/链路缓存)、长期项目记忆(向量检索/知识库)、执行痕迹(行动日志)。

这种进化背后的技术原理包括 ReAct(Reasoning and Acting)框架、Chain of Thought 推理链、以及 Function Calling 等关键技术,它们共同赋予了 AI 真正的”行动力”。

第一阶段:LLM 是一个编程顾问

故事的开端,始于像早期 ChatGPT 和 Claude 这样的工具。它们的出现,已经让无数开发者感受到了效率的飞跃。

角色定位:知识渊博的“结对程序员”

在这个阶段,LLM 扮演的角色更像一个坐在你旁边的、记忆了整个互联网代码库的编程顾问。你可以:

  • 问它具体问题:“帮我用 Python 写一个快速排序算法。”
  • 让它解释代码:“这段复杂的正则表达式是干什么的?”
  • 帮你调试:“我这段代码报了NullPointerException,可能是什么原因?”
  • 生成单元测试:为某个特定函数生成测试用例。

工作模式:一问一答,被动执行

LLM 的核心工作模式是“响应式”的。你提出一个明确、具体的指令(Prompt),它给你一个文本形式的答案(Response)。这个过程就像是你和一个没有双手的、被关在房间里的天才程序员对话。他能回答你的任何问题,但你必须:

  • 手动提供所有上下文:他不知道你的项目结构,不知道其他文件的内容。你需要把所有相关代码都复制粘贴给他。

  • 手动验证和应用:他给出的代码,你需要自己复制回编辑器,自己去运行、测试、调试。如果代码有错,你需要把错误信息再反馈给他,开始新一轮的问答。

核心局限:缺乏全局观和执行力

LLM 在这一阶段的局限性是显而易见的:

  • 无“手脚”:它无法访问你的文件系统、无法运行npm install、无法执行测试脚本、也无法使用 Git。

  • 无“记忆”:它的“记忆”仅限于当前对话的上下文窗口。对于一个横跨数十个文件的复杂项目,它无法形成长期、连贯的认知。

  • 无“主动性”:它永远不会主动思考“下一步我该做什么来完成这个功能?”,只会等待你的下一个问题。

第二阶段:Agent 是一位编程助手

故事的转折点,在于“Agent”概念的引入。像 Claude Code、GPT5-Codex、Cursor 所展示出的 Agentic Coding 能力,标志着一个全新物种的诞生。

角色定位:能独立工作的“专业工程师”

AI Agent 的目标不再是“回答你的问题”,而是“完成你交代的任务”。它的工作流程发生了质变:

  • 你下达一个高层指令:“修复 GitHub 仓库里的第 25 号 issue。”或者“为我们的应用增加一个基于 Oauth 2.0 的登录功能。”

  • Agent 自主分解和规划:它会像人类工程师一样思考:

    1. “首先,我需要阅读整个项目代码,理解它的结构。”
    2. “然后,我要复现这个 Bug,看看错误是如何发生的。”
    3. “嗯,我定位到问题在authController.jsuserService.js这两个文件。”
    4. “我的计划是:先修改A文件,再修改B文件,然后添加一个新的单元测试来验证修复。”
  • Agent 自主执行和迭代:这是最关键的一步。Agent 拥有一个“工具箱”(Tool Use),使它能够:

    • 读写文件:直接在你的项目目录里修改代码。
    • 使用终端:运行git clone, npm install, python app.py等命令。
    • 浏览网页:当遇到不熟悉的库时,它会自己去查阅官方文档。
    • 自我纠错:它运行自己写的代码,看到报错信息后,会说:“哦,这个方法用错了,我根据错误日志来修改一下。” 这形成了一个思考-行动-观察-再思考的闭环。

工作模式:目标驱动,自主循环

Agent 的工作模式是“主动的、目标导向的”。一旦接收任务,它会持续工作,直到任务完成或遇到无法解决的障碍。这个过程中,它可能会执行几十甚至上百个步骤,而人类开发者则从“操作者”变成了“监督者”或“项目经理”。

以 Claude 3.5 Sonnet 的 Artifacts 功能为例,当你让它创建一个网页时,它不仅生成代码,还会直接在一个可交互的窗口中渲染出这个网页。你可以实时看到效果,并直接要求它修改,它会理解你的反馈并迭代更新代码和预览。这正是 Agentic 能力的体现——它不仅仅提供文本,更提供了一个可执行、可交互的工作成果

Agent 克服了 LLM 的核心局限:

  • 拥有“全身”:它被赋予了与开发环境交互的能力,像一个真正的开发者一样在电脑上操作。
  • 拥有“记忆”和“上下文”:它能理解整个项目的代码库,并在长期任务中保持对目标的持续认知。
  • 拥有“主动性”:它是为了解决问题而生,会主动寻找最优路径。

当前的局限与挑战

尽管 Agent 能力强大,但仍面临挑战:

  • 长任务稳定性:在超过 50 个步骤的复杂任务中,错误会累积,成功率显著下降
  • 上下文窗口限制:即使是最先进的模型,也难以同时处理超大型项目的全部代码
  • 领域特定知识:对于公司内部框架或小众技术栈,Agent 的表现会大打折扣
  • 成本题:复杂任务可能需要数千次 API 调用,成本可观(每个任务可能需要 $1-10)
  • 安全性考虑:Agent 可能无意中引入安全漏洞或执行危险操作

未来:人类程序员的新角色

Agent 的崛起,是否意味着程序员的终结?答案是否定的。它预示着一次深刻的角色转型

软件开发的核心永远是理解真实世界的需求,并将其转化为逻辑严谨的系统。这个核心的创造性、洞察力和沟通能力,是 AI 目前难以替代的。

未来,人类开发者的角色将更多地向上游移动:

  • 从“代码实现者”到“系统架构师”:我们不再纠结于具体的代码实现细节,而是专注于设计健壮、可扩展的系统架构,并将架构蓝图交给 AI Agent 去实现。

  • 从“程序员”到“AI产品经理”:我们的核心工作是准确地定义问题、清晰地描述需求,并监督、引导 AI Agent 完成工作,确保最终成果符合商业目标。

  • 从“修 Bug”到“创造价值”:将繁琐、重复的编码和调试工作交给 Agent,让人类开发者能投入更多精力在创新、用户体验和解决复杂业务逻辑上。

小结

从 LLM 到 Agent 的进化,是 AI 从一个“知识工具”向一个“生产力伙伴”的飞跃。我们仍处在这场变革的黎明时分,但变化的速度超乎想象。

如果 AI 能够完成 80% 的编码工作,剩下的 20% 是什么?这或许正是人类程序员最有价值的部分——创造力、同理心、道德判断和对美的追求。

未来,最高效的开发者,将不再是那个写代码最快的人,而是最懂得如何与 AI Agent 协作、驾驭这股强大新力量的“魔法师”。正如印刷术没有消灭作家,而是创造了更多的读者和更丰富的文学世界,AI Agent 也将帮助我们构建一个更加精彩的数字世界。

你准备好成为这个新时代的魔法师了吗?

This post is licensed under CC BY 4.0 by the author.