一文搞懂AI应用开发六大核心概念:LLM、Prompt、RAG、Agent、MCP、Skill

AI 时代程序员必备技能

Codex、Claude Code、Cursor、Hermes Agent、OpenClaw等工程化实战专栏 ,讲透 AI 如何接管脏活累活

前言

这两年AI大模型火得一塌糊涂,各种新概念层出不穷。刚搞清楚什么是大模型,又冒出个RAG;刚弄明白Agent,又来一个MCP。很多后端开发同学看着这些术语一脸懵:“我一个写Java的,为啥要懂这些?”

但现实是,不管你写不写AI应用,你的IDE(Cursor)、代码助手(Claude Code)、甚至未来的运维工具,都在往AI方向进化。不懂这些概念,你连工具怎么用都搞不明白,更别说自己开发了。

这篇文章用后端开发能听懂的大白话,把LLM、Prompt、RAG、Agent、MCP、Skill这六个核心概念一次性讲透。


一、LLM(大语言模型)——那个"聪明的大脑"

全称:Large Language Model

一句话解释:就是ChatGPT、Claude、文心一言背后的那个"AI大脑"。

通俗理解
LLM就像一个读过全世界书籍的超级学霸,你问什么它都能答上来。但它有几个致命缺陷:

  • 记不住你的私有数据(不知道你公司的代码库)
  • 没法动手干活(不能操作数据库、不能调API)
  • 容易胡说八道(专业领域会编造答案)

这就是为什么我们需要后面那些技术来"武装"它。

后端视角:你可以把LLM看作一个远程API服务(OpenAI API、Anthropic API),输入文字返回文字,核心关注点只有三个——延迟、成本、输出质量


二、Prompt(提示词)——你跟AI说话的方式

一句话解释:输入给LLM的文本指令,用于引导模型生成符合预期的输出。

核心区分:Prompt不是"一句话"那么简单,它分为两个层级:

① System Prompt(系统提示词)——给AI定"人设和规矩"

作用:设定AI的角色身份、能力边界、输出格式、行为约束。由开发者或产品经理预设,贯穿整个对话生命周期,用户通常看不到完整内容。

通俗理解:就像给员工发《岗位说明书》——“你的职位是资深Java架构师,说话要专业严谨,优先推荐Spring生态方案,不确定的事情直接说不知道。” AI从头到尾都得按这套规矩办事。

示例

你是一位资深Java后端工程师,精通Spring Boot、微服务架构和性能调优。
回答问题时必须遵守以下规则:
1. 给出的代码示例必须可直接运行
2. 优先推荐生产级方案,拒绝过度设计
3. 涉及配置时,同时给出application.yml和application.properties两种格式
4. 如果不确定答案,明确回复"我无法确认",不要编造

② User Prompt(用户提示词)——用户真正想问的问题

作用:用户在当下对话中提出的具体任务或问题。每次对话都不一样,是动态变化的内容。

通俗理解:就是你打开ChatGPT后敲进去的那句话——“我项目启动报DataSource错误,帮我看看"或"最近失眠怎么办”。

示例(承接上面的System Prompt):

我的Spring Boot 3.2应用启动时报错:
"Failed to configure a DataSource: 'url' attribute is not specified"
application.yml里明明配置了spring.datasource.url,
可能是什么原因?怎么排查?

完整交互流程

┌─────────────────────────────────────────────────────┐
│  开发者预设(固定,用户不可见)                      │
│  System Prompt: "你是Java架构师,按规范回答..."     │
└─────────────────────────────────────────────────────┘
                          ↓
┌─────────────────────────────────────────────────────┐
│  用户输入(动态,每次不同)                         │
│  User Prompt: "启动报DataSource错误,怎么排查?"    │
└─────────────────────────────────────────────────────┘
                          ↓
┌─────────────────────────────────────────────────────┐
│  LLM组合处理:                                      │
│  以System Prompt定义的"人设"身份,回答User Prompt   │
│  提出的具体问题                                      │
└─────────────────────────────────────────────────────┘

后端视角:System Prompt是可复用的配置模板(类似Spring的@Configuration),User Prompt是具体请求参数(类似@RequestBody)。好的Prompt工程需要平衡"约束力"和"灵活性"——System Prompt太死板会扼杀创造力,太宽松又容易跑偏。


三、RAG(检索增强生成)——给AI配个"外挂知识库"

全称:Retrieval-Augmented Generation

一句话解释:就是给LLM外挂一个可检索的知识库,让AI在回答前先去这个知识库里查资料,再基于真实资料生成答案。

通俗理解
你问LLM:“我们公司的订单表结构是什么?”

  • 没有RAG:AI瞎编一个订单表给你。
  • 有RAG:AI先去你的知识库(项目代码、内部文档、数据库Schema)里检索,找到真正的订单表DDL,再基于这个真实信息回答你。

你可以直接把RAG理解为"AI的外挂知识库",区别在于:

  • 传统知识库像本地硬盘——文档存进去了,但AI不会主动去读,全靠你手动复制粘贴。
  • RAG知识库像挂载到AI上的高速SSD——你问问题时,AI自动去这块硬盘里检索相关内容,读完再回答。

这就是Cursor能"读懂"你整个项目代码的原理——它把你本地代码向量化后存入知识库,你提问时自动检索相关片段,再喂给LLM。

后端视角:RAG本质上是一个离线建库 + 在线检索 + 结果注入的标准流程:

离线阶段(构建知识库)

  1. 文档切块(Chunking)——切大了浪费Token,切小了丢失上下文
  2. 向量化(Embedding)——用Embedding模型将文本转成向量
  3. 存入向量数据库(Milvus、PG Vector、Elasticsearch)

在线阶段(检索增强)

  1. 用户问题向量化
  2. 向量检索TopK相似文档
  3. 重排序(Reranker)——进一步精排
  4. 拼入Prompt上下文
  5. 发给LLM生成答案

核心难点:分块策略(语义完整性 vs Token消耗的平衡)、索引更新一致性(代码变了知识库必须同步更新)、检索精度(误召回会污染答案)。


四、Agent(智能体)——让AI"自己动手干活"

一句话解释:AI不再是一问一答的被动模式,而是能自主规划步骤、调用工具、观察结果、反复迭代,直到完成复杂任务。

通俗理解

  • 普通LLM:你问"查下小王上个月请了几天假",它回答"我查不到,请把数据给我"。
  • Agent模式:你问同一句话,AI说"稍等" → 自动调HR系统API → 拿到数据 → 算天数 → 返回结果给你。中间所有步骤自动完成,不需要你手动介入

Claude Code的"自动修复bug"就是典型Agent——它自己读报错日志 → 搜索相关代码 → 分析原因 → 修改代码 → 跑测试验证,全程你只需要看着它干活。

后端视角:Agent的核心模式叫ReAct(Reasoning + Acting),伪代码如下:

while not task_done and loop_count < max_steps:
    thought = llm.think(state)          # 思考:下一步该做什么
    action = select_tool(thought)       # 决策:选哪个工具
    observation = execute_tool(action)  # 执行:调用工具并观察结果
    state = update(state, observation)  # 更新:把结果记入上下文
    loop_count += 1

后端开发需要关注的核心问题:循环终止条件设计(别让它无限转圈)、熔断机制(超时强制退出)、工具调用超时重试上下文窗口溢出防护——全是咱们熟悉的分布式系统稳定性问题。


五、MCP(模型上下文协议)——AI的"万能插座"

全称:Model Context Protocol(由Anthropic公司提出)

一句话解释:统一了AI调用外部工具/API的接口标准,让LLM能通过同一套协议访问数据库、文件系统、第三方服务等各种外部资源。

通俗理解
没有MCP时,要让AI查数据库,你得写代码把MySQL结果转成文本塞给AI;要让它发邮件,又得另写一套。每个工具都要单独适配,开发量巨大

有了MCP,所有工具都遵循同一个接口规范(统一的输入输出格式、错误码、鉴权方式)。AI只需要学会MCP这一种"语言",就能调用任何接入了MCP协议的工具。

类比:就像USB-C接口,不管插的是显示器、硬盘还是充电器,只要都是USB-C,电脑就能识别。MCP就是AI领域的"USB-C标准"。

后端视角:MCP本质上是一个标准化的工具描述协议,类似OpenAPI/Swagger之于REST API。它定义了:

  • 工具的名称、描述、参数Schema(JSON格式)
  • 调用方式(同步/异步)
  • 返回结果结构
  • 错误码规范

后端开发只需要把现有的内部API、数据库操作、脚本工具封装成MCP标准格式,AI就能直接调用,无需为每个AI应用重复开发适配层。


六、Skill(技能)——给AI装个"快捷指令包"

一句话解释:将高频、固定的操作流程预先封装成可复用的指令模板,AI遇到特定场景时直接加载执行,不用每次都重新描述。

通俗理解
你每天都让AI帮你做代码审查,每次都重复说:“检查命名规范、查空指针、看事务注解加没加、检查日志打印”。烦不烦?

有了Skill,你把这些固定步骤存成一个叫/code-review的Skill。之后每次敲/code-review,AI自动执行整套流程,不用重复唠叨。

类比:就像IDE里的代码片段(Code Snippets)或宏命令——把高频操作固化成"一键执行"。

后端视角:Skill是System Prompt的模板化封装。一个Skill包含:

  • 触发词(如/review
  • 预置的System Prompt(定义角色和规则)
  • 关联的工具列表(可能需要调用哪些MCP工具)
  • 输出格式要求

本质上就是**策略模式(Strategy Pattern)**的AI版——不同场景加载不同策略,复用性强,维护成本低。


完整关系图谱

把这六个概念串起来,整个AI应用架构就清晰了:

                    ┌─────────────────────────────────────────┐
                    │           用户(你)                     │
                    └─────────────────────────────────────────┘
                                       │
                                       ▼
                              ┌───────────────────┐
                              │  User Prompt      │ ← 你每次问的具体问题
                              │  (动态输入)      │
                              └───────────────────┘
                                       │
                                       ▼
┌─────────────────────────────────────────────────────────────────┐
│                         System Prompt                          │
│                    (开发者预设的"人设+规则")                    │
│                    如:"你是Java架构师..."                       │
└─────────────────────────────────────────────────────────────────┘
                                       │
                                       ▼
┌─────────────────────────────────────────────────────────────────┐
│                          LLM(大模型)                          │
│                       ——那个"聪明的大脑"                        │
└─────────────────────────────────────────────────────────────────┘
              │                    │                    │
              ▼                    ▼                    ▼
     ┌──────────────┐   ┌──────────────┐   ┌──────────────┐
     │   RAG模块     │   │  Agent模块   │   │  Skill模块   │
     │ 外挂知识库    │   │ 自主规划执行  │   │ 快捷指令模板  │
     └──────────────┘   └──────────────┘   └──────────────┘
              │                    │                    │
              └────────────────────┼────────────────────┘
                                   ▼
                         ┌─────────────────────┐
                         │   MCP协议层          │
                         │ (万能插座/标准化接口)│
                         └─────────────────────┘
                                   │
              ┌────────────────────┼────────────────────┐
              ▼                    ▼                    ▼
       ┌─────────────┐   ┌─────────────┐   ┌─────────────┐
       │  数据库      │   │  文件系统    │   │  第三方API  │
       └─────────────┘   └─────────────┘   └─────────────┘

总结:一句话记忆法

概念一句话记住它
LLM那个聪明的AI大脑(大模型)
System Prompt给AI定的"岗位说明书"(固定人设+规则)
User Prompt你每次问AI的那句话(具体问题)
RAGAI的外挂知识库(自动检索+增强回答)
AgentAI自己规划步骤、自动干活(自主智能体)
MCPAI调用外部工具的"万能插头"(标准化协议)
Skill存下来的固定套路,一键复用(快捷指令)

如需深入了解LLM应用开发中的System Prompt工程化设计、RAG知识库构建与向量数据库选型对比、Agent ReAct模式实现与熔断机制、MCP协议封装实战、Skill模板化管理与版本迭代等内容,请持续关注本专栏《大模型应用开发实战》系列文章。

AI 时代程序员必备技能

Codex、Claude Code、Cursor、Hermes Agent、OpenClaw等工程化实战专栏 ,讲透 AI 如何接管脏活累活

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值