2026-03-02
人生
00
请注意,本文编写于 141 天前,最后修改于 141 天前,其中某些信息可能已经过时。

目录

AI Coding发展史
Agent让AI更像人!
Agent解决AI不能行动的问题
Function Call
MCP
RAG
Agent Skill 按需加载节省token
Agent 给AI提供了记忆
hook
SubAgent分工提效、并行工作
上下文不够用的解决方案
Plugin 拓展AI的能力
AI时代如何生存?

好久,没有写博客了,再不写点什么我可能就忘了我还有博客了。

因为年底找到工作了,对于两段空窗和35+的我,这份工作对我来说弥足珍贵。所以我对这份工作也是全身心的投入。一方面因为我热爱编程,一方面我也享受这份体面的工作)。周末时间做做家务,看看财经,顶多再挤出一天时间看看AI相关的文章。春假期间,2天在路上,在家里玩了3天,走了几家亲戚,就这样稀里糊涂的过去了,快两个月没写博客了。

我不得不承认,由于去年我投入了很长的时间学习英语,我对AI的认知是落后了很多。因为2025年AI Agent的发展很猛

所以写这篇文章也是简单总结最近2个月,关于AI我学到了什么,以及对AI和未来的看法。

AI Coding发展史

首先回顾下AI Coding的发展

1. ChatGPT3.5 诞生,代码搬运阶段

2022年12月 ChatGPT3.5横空出世,不到两个月的时间有了上亿的用户量。
它是一个聊天机器人,无论你问它什么,它都会。
同样你可以问它编程问题,程序员通过它来 Copy & Paste

2. IDE插件, 典型代表是VSCode插件Copilot

它支持Chat和Edit两种模式,在Edit模式下可以对文件进行修改,以diff的形式展示差异,你可以像merge代码一样Confirm or Revert即可

IDE 集成AI插件出了能直接修改代码,还能获取更多上下文信息(当前项目的目录结构,正在打开哪些文件,控制台信息,IDE提示等)进而大幅提高了代码生成质量和编码效率。

Edit模式的本质是一个Agent,Agent负责tools和AI之间的通信。
最基本的tools有list_files,read_file, write_file
然后Agent通过系统提示词 or Function Call告诉AI有哪些tools.
Agent和tools之间,通过studio(标准输入输出)进行通信; Agent有很多种,tools也有很多,不同的Agent可能用到相同的tools,通过Copy代码的方式不利于维护,于是就有了MCP协议。将这些工具部署到服务器(MCP服务器)上,Agent(MCP客户端)通过MCP协议发送请求。当然MCP服务器和客户端也可以在同一台机器上

代码以diff的形式,一方面可与节省token,另一方面AI还避免了AI还原整个文件时引入新的bug。

Q: Function Call是什么? A: 一开始Agent通过系统提示告诉AI我这里有什么工具方法,怎样调用,但AI的回复不是100%正确,也就是说回复的脚本不能100%的正确运行,于是当Agent检测到程序不能正确运行时,会重新请求AI,这样就很浪费token。后来LLM在训练的时候就增加了Function Call功能,这样就把“如何调用tool、JSON格式及JSON返回”从系统提示词工具移除了,单独配置。AI自己检测程序能否运行,会不断重试,直到返回正确的格式。这样以来就节省了token。但不是每个AI模型都有Function Call,即使有也不一定规范一致。所以目前还是有很多Agent通过系统提示词告知AI有哪些tools。

  1. AI IDE:典型代表Cursor 2023年3月发布,24年流行

因为通过插件的形式实现AI Coding的功能还是有局限型,所以fork了VSCode进行二次开发。这样能够对底层框架进行更灵活的修改,如Cursor的Tab Tab Tab的能力就是通过插件的方式无法实现的。

  1. Vibe Coding: 2025年2月:Vibe Coding 的范式概念被正式提出,开启了代码Vibe时代

Vibe Coding是一个概念,目标是将产研的一整套流程用AI实现,把需求喂给(or复述)给AI,让AI写代码修bug、建表、操作数据库、连接服务器、后台配置、部署等都叫交给AI去做(这些流程都有对应的MCP,云厂商也纷纷提供MCP允许AI Agent来操作服务器)

  1. 命令行Coding: 典型代表就是Claude Code 流行于2025年5月

通过命令行的形式与AI交互,这种形式让用户更具聚焦于当前任务。
我的理解:也能更方便地执行shell脚本,对文件进行增删改查操作等也能更方便的展示结果。
当然图形化界面能做的事情它都能做到。
后面再单独介绍它,,,

  1. Spec Coding: 2025年9月,以SDD为核心的spec-kit再开源社区中快速传播。

一些时候我们感觉Vibe Coding生成的代码不可控, 那么我们如何才能让AI根据我们的需求或期望更好的生成代码呢? Spec-kit提供了一个很好的范例

Vibe Coding的主要问题

  • prompt模式下,需求澄清模糊,缺乏规范约束,会导致AI的高幻觉;
  • 随着对话拉长,上下文容易丢失,难以通过Prompt纠偏。

Spec Coding通过 结构化编码步骤,确保AI清楚地理解项目规范和需求

通过spec和设计良好的上下文管理方式,配合Workflow降低环节,且每一步可审计。

它增加了需求设计的时间,大幅减少了Coding和单测的时间。

Agent让AI更像人!

Claude Code当之无愧是AI Agent首屈一指的代表!后来OpenAI 的Codex,google的Gemini CLI都是模仿它。

我们知道AI是有很多缺点,如下

  • 上下文越长token消耗越大,越贵
  • 没有记忆能力
  • 对中间内容的降智
  • 会犯一些低级错误
  • AI不知道它会什么不会什么,遇到不会的问题就产生幻觉或停止工作了
  • 只要有大脑,不能行动。
  • 自身能力受限于训练的数据,私域问题回答不了
  • 其他:跨场景泛化能力差(举一反三的能力不如人),没有空间认知能力等。。。

没关系,AI Agent就来解决这些问题。

Agent解决AI不能行动的问题

Agent连接tools 和 LLM,解决了AI不能行动的问题,相当于给大脑,安装了手和脚(包括眼、口、鼻、耳朵)的能力。

  • Agent 通过系统提示词或Function Call告知AI有哪些能力
  • Agent 通过stdioMCP调用tools

Function Call

前面提到过,通过Agent通过系统提示词的方式告知AI有哪些tools。

AI的回复的脚本不一定能运行,但是反复调用AI又会浪费token。

Fuction Call 就解决了这个问题,一次生成可运行的脚本--节省了token。

MCP

MCP标准化了接口(tools的使用),多个Agent可以共用同一个tool。

市面上有很多很多MCP

  • 云服务厂商提供MCP,AI有了将项目部署到服务器的能力。
  • Figma提供了MCP,AI可以再很短的时间还原视觉稿了!
  • 飞书、语雀提供MCP,AI可以读取交互稿,自动对需求进行拆解并编写代码了

RAG

AI回答不了私域问题, 我们可以把知识文档通过提示词的方式喂给它,这样它就能回答私域问题了。

但是这样 token 很贵!于是就有了RAG方案,简单说就是通过这个技术把问题相关的知识(相关文档的相关片段部分)喂给它--按需喂食。这样就大幅节省了token。

RAG把文档按照某种规则把文档分成片段,然后向量化向量数据。一般来说向量的维度越高(可以理解为参考的维度越多),RAG的能力就越强。

RAG方案很多,没有哪一种能打满全场,新的方案还在探索中

TODO 介绍下Graph RAG

Agent Skill 按需加载节省token

AI回到不了私域问题,RAG是一种解决方案。一方面没有哪一种RAG方案能打满全场,另一方面除了私域知识还有私域系统项目脚本等RAG不能处理,通过Agent Skill可以运行脚本调用私内系统的接口。

当然没有Skill,通过提示词的方式也能做!但是那样token消耗巨大。 Skill提供了一种按需加载的方案。

这就好比先告诉AI 我有哪些系统,对应的文档是什么。

当问题涉及某个系统时,才会读取对应系统的文档。
如果涉及到对应系统才进行调用执行脚本,更牛的AI可以只执行脚本不读取内容(节省token)。

当然Skill能力的好坏取决于你的Skill文档质量。脚本也是,如果你写的函数名就不清晰,AI还是会读取你的脚本内容的。

Agent 给AI提供了记忆

前面说到 Vibe Coding有时生成的代码不理想,Spec Coding通过 结构化编码步骤,确保AI清楚地理解项目规范和需求。 这就是依靠给AI提供记忆实现的。

Claude CodeClaude.md就是给AI提供了记忆。你可以在里面写入项目规范、私域package文档、私域系统文档等内容。 这也就是Spec Coding 如何解决 VibeCoding 生成代码不理想的问题。

Claude Code 最近又推了自动记忆的功能。

hook

AI是模糊的正确,传统的程序运行结果是精准正确的,但却局限性很大。两者结合就能放大AI的能力。

Cluade Code提供hook的能力。

  • 比如在写完代码后之行prettier eslist stylelint检查代码风格和质量,执行CICD等;
  • 比如在提交代码时检查代码注释是否符合规范等;
  • 比如Spec Coding喂食需求给AI的时候,通过提供的脚本,获取项目的一些环境变量等信息。

SubAgent分工提效、并行工作

SubAgent是一个独立的Agent,有着自己独立的上下文、工具、skill等。

  • 如果我们觉得一个AI干活很慢,可以把需求进行分工让多个Agent并行去工作。
  • 如果上下文很长,我们把一些独立的任务(如识别图片信息、解决相对独立的问题)拆解出来让subAgent去做。 一方面能解决上下文不够用,上下过长导致的AI降智问题,还能节省token!

上下文不够用的解决方案

  • 压缩
  • subAgent
  • skills

Plugin 拓展AI的能力

Claude Code提供Plugin的能力,Plugin就是利用 Skill、Hook、SubAgent、指令集解决某一类问题,一块封装好打包给你,然后就想安装软件那样,下载安装后就能解锁新的能力。

AI时代如何生存?

  1. AI时代,打破了知识和技能的护城河,唯一的护城河就是持续学习的能力。
  2. AI时代,虽然让知识不再稀缺,知识依然很重要,你需要它辨别真假、好人和坏人。
    • AI的回答永远是政治正确的,积极向上、阳光的。所以这里面一定会有欺骗。要学会批判性思考,好坏都要想想,常识依旧很重要!
  3. AI的知识不是你的,所以那些所谓的AI摘要都是自我欺骗,你的决策是基于你的过往经验你的认知。
    • 举个例子,比如你告诉孩子不要咬铅笔头,孩子要么记不住要不听(因为不信你),当你告诉他铅了的危害,铅中毒会让人慢慢变笨变傻,变傻后的小孩将来的生活是如何凄惨的, 这样小孩就听话了。
    • 教小孩从小要讲礼貌也是一样的道理,你要分析给他听,老师同学喜欢什么样的小孩,你说出的话,别人怎么想,再对比下这两类小孩长大后的差距。
  4. 少玩游戏、少看短视频,多读书、多思考。
  5. AI时代,码农如何生存?
    • AI肯定比人写代码便宜的多,或许能够承担责任、对司内业务的理解和熟悉司内知识和系统、信任问题、情绪价值、靠谱,是最后一批程序员应该具备的素质。

就写这么多吧, 有机会细细说,,,

本文作者:郭郭同学

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!