AI 技术栈与提示词
第一部分:基础设施层(推理与记忆)
1. 推理服务(Inference Service)
定义:承载大模型运行的 HTTP 服务,负责接收请求、执行推理并返回结果。
特点:
- 无状态设计:单次请求-响应即结束,不保存会话信息
- 高并发架构:多实例负载均衡,水平扩展应对流量高峰
- 标准接口:通过 HTTP API 暴露能力,供各类客户端调用
典型场景:
用户输入 → 推理服务 → DeepSeek/GPT 模型 → 返回生成结果
↓
配合前端网页 → 聊天 AI 界面(如 ChatGPT、Claude Web)
2. Memory(记忆机制)
问题背景:推理服务无状态,如何实现多轮对话?
核心原理:每次请求携带完整历史聊天记录(上下文),让模型"看到"对话历史。
上下文管理策略:
| 类型 | 机制 | 存储内容 | 特点 |
|---|---|---|---|
| 短期记忆 | 全量传输 | 最近 N 轮完整对话 | 精准、消耗 Token 多 |
| 长期记忆 | 压缩摘要 | 早期对话的关键信息提取 | 节省 Token、可能丢失细节 |
工作流程:
用户提问
↓
[组装上下文] ← 短期记忆(近期全量)+ 长期记忆(远期摘要)
↓
发送给推理服务
↓
模型基于完整上下文生成回复
3. RAG(检索增强生成)
问题背景:大模型训练数据有截止日期,无法获取最新信息或内部私有数据。
定义:通过外部知识库增强模型回答能力的方案(Retrieval-Augmented Generation)。
架构流程:
用户提问
↓
[向量化] → 将问题转为向量
↓
[向量检索] → 在向量数据库中匹配相似内容
↓
[知识注入] → 将检索结果 + 原问题拼接
↓
大模型生成基于最新知识的回答
关键技术:
| 组件 | 作用 | 示例 |
|---|---|---|
| 嵌入模型 | 文本 → 向量转换 | OpenAI Embedding、BGE |
| 向量数据库 | 存储和检索向量 | Milvus、Pinecone、PostgreSQL + pgvector |
| 语义匹配 | 解决"机器猫"≈"小叮当"的同义问题 | 余弦相似度、向量距离计算 |
数据流向:
原始文档 → 分块 → 向量化 → 存入向量数据库
↓
用户查询 → 向量化 → 相似度检索 → 取 Top-K 结果 → 注入 Prompt
第二部分:工具与协议层(MCP 与 Skills)
4. MCP(Model Context Protocol)
问题背景:大模型只能对话思考,如何获得操作外部工具的能力?
定义:模型上下文协议,规范大模型与外部工具交互的标准。
工作原理:
1. 约定格式:告诉大模型有哪些工具(名称、参数、用途)
2. 意图识别:大模型判断需要调用工具时,输出特定 JSON 格式
3. 执行工具:MCP Host 解析 JSON,调用实际工具
4. 结果返回:工具执行结果喂给模型,生成最终回复
角色划分:
| 角色 | 职责 | 示例 |
|---|---|---|
| MCP Host | 解析结构化消息,调度工具执行 | Claude Desktop、Cursor |
| MCP Client | 本地工具连接器 | 文件操作、命令执行 |
| MCP Server | 远程服务提供者 | Slack API、GitHub API |
| MCP 插件 | 具体工具实现 | 查天气、发邮件、操作数据库 |
消息流转:
用户:查一下北京天气
↓
大模型:{"tool": "weather", "params": {"city": "北京"}}
↓
MCP Host → 调用天气查询 API
↓
工具返回:{"temp": "25°C", "condition": "晴"}
↓
大模型:北京今天晴天,25°C,适合出行
5. Skills(技能)
问题背景:MCP 插件众多,大模型如何知道该用什么、按什么顺序用?
定义:结构化的操作手册,指导大模型在特定场景下如何选择和编排工具。
与 MCP 的关系:
| 维度 | MCP | Skills |
|---|---|---|
| 定位 | 工具能力 | 工具使用指南 |
| 内容 | API 接口、参数定义 | 操作流程、决策逻辑、Prompt 模板 |
| 作用 | 让 AI 能做事 | 让 AI 知道何时做、怎么做 |
| 类比 | 工具箱里的锤子 | 木工操作手册(何时用锤子,何时用锯子) |
示例:故障排查 Skill
监控告警处理流程
- 查看监控指标(调用 MCP: prometheus_query)
- 检查 CPU、内存、QPS 异常时间点
- 查询错误日志(调用 MCP: log_search)
- 根据异常时间检索 ERROR 级别日志
- 分析配置变更(调用 MCP: git_diff)
- 检查近期是否有相关配置发布
- 决策分支:
- 若发现明确错误 → 执行回滚(调用 MCP: rollback)
- 若需人工介入 → 生成告警通知(调用 MCP: send_alert)
第三部分:应用层(Agent 与交互)
6. AI Agent(智能体)
定义:具备自主感知、规划、记忆和工具调用能力的 AI 系统,能够独立完成复杂目标。
核心组件:
┌─────────────────────────────────────────┐
│ AI Agent │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ 大模型 │ │ Memory │ │ RAG │ │
│ │ (大脑) │ │ (记忆) │ │ (知识) │ │
│ └────┬────┘ └────┬────┘ └────┬────┘ │
│ └─────────────┴─────────────┘ │
│ ↓ │
│ ┌─────────────┐ │
│ │ Skills │ │
│ │ (操作手册) │ │
│ └──────┬──────┘ │
│ ↓ │
│ ┌─────────────┐ │
│ │ MCP 工具层 │ │
│ │ (执行能力) │ │
│ └─────────────┘ │
└─────────────────────────────────────────┘
能力矩阵:
| 能力 | 组件 | 作用 |
|---|---|---|
| 思考规划 | 大模型 | 理解目标、拆解步骤、决策判断 |
| 记忆 | Memory | 保持对话连续性,记住用户偏好 |
| 知识 | RAG | 获取最新信息,回答专业领域问题 |
| 工具 | MCP + Skills | 操作外部系统,执行具体动作 |
| 角色 | System Prompt | 定义身份、语气、行为边界 |
本质:通过提示词设定的"智能工具人",听从指令自主完成目标。
7. Prompt(提示词)
定义:用户输入给 AI 的指令或问题,用于引导 AI 生成回复。
问题:当提示词内容过多时,会导致:
- AI 回复不够精准
- 上下文理解混乱
- 容易"跑偏"或"不听话"
8. Command(快捷命令)
定义:用简短的命令替换冗长提示词的功能。
作用:减少重复输入,快速调用常用指令。
示例:
/translate → 触发翻译提示词
/summary → 触发总结提示词
/code → 触发代码生成提示词
9. System Prompt(系统提示词)
定义:在对话开始前预设的底层指令,用于设定 AI 的角色、行为规则和输出格式。
与用户提示词的区别:
| 类型 | 作用层级 | 影响范围 | 设置方式 |
|---|---|---|---|
| System Prompt | 底层 | 全局对话 | 配置文件/特殊文件 |
| User Prompt | 表层 | 单次对话 | 输入框直接输入 |
常见配置方式:
- Claude:
claude.md文件 - Cursor:
.cursorrules文件 - OpenAI API:
system角色消息
第四部分:工程化架构(Skills 工程)
10. Metadata(元数据)
定义:附加在提示词文件开头的描述性信息,用于标识文件用途和适用场景。
作用:让 AI 快速判断何时加载哪个文件,避免一次性加载所有提示词。
结构示例:
---
title: "前端代码审查"
description: "适用于 Vue/React 代码的规范和性能检查"
tags: ["vue", "react", "code-review"]
trigger: "当用户要求审查前端代码时"
---
# 正式提示词内容...
工作流程:
- 用户输入提示词
- AI 接收所有 metadata(数据量小,不占用 token)
- AI 根据 metadata 判断场景
- 动态加载对应的完整提示词文件
11. Reference(参考资料)
定义:存放细化场景提示词的目录,用于拆分过大的提示词文件。
使用场景:当单个 skill 文件仍然过大时,通过引用外部文件实现渐进式披露。
目录结构:
skill_name/
├── skill.md # 主入口文件
└── reference/
├── api_guide.md # API 使用规范
├── style_guide.md # 代码风格指南
└── examples.md # 示例代码库
工作原理:
- 主文件(skill.md)保留入口和索引
- 使用类似
cat命令按需读取 reference 文件 - AI 根据需要逐步加载,减少初始 token 消耗
12. Scripts(脚本)
定义:存放可执行文件的目录,让 AI 具备纯文本聊天之外的功能。
使用场景:
- 文件操作(读取、写入、移动)
- 外部 API 调用
- 自动化任务执行
目录结构:
skill_name/
├── skill.md
├── reference/
└── scripts/
├── deploy.sh # 部署脚本
├── test_runner.py # 测试执行
└── format_code.js # 代码格式化
调用方式:在提示词中明确说明执行条件和脚本路径。
13. Skills 工程化结构(完整版)
定义:将提示词、参考资料和脚本打包成的功能单元。
组成结构:
skill_name/
├── skill.md # 主入口(含 Metadata + 核心逻辑)
├── reference/ # 参考资料目录(渐进式披露)
│ ├── api_guide.md
│ └── examples.md
└── scripts/ # 可执行脚本目录
├── deploy.sh
└── test_runner.py
安装方式:
- 将文件夹放入 Claude 的
skills目录下 - 通过 metadata 实现自动识别和加载
第五部分:概念辨析
14. Skills vs MCP(再审视)
| 维度 | Skills | MCP |
|---|---|---|
| 比喻 | 操作手册 | 手 + 工具 |
| 作用 | 告诉 AI 何时做什么、怎么做 | 让 AI 能够使用外部工具 |
| 内容 | 提示词、流程、决策逻辑 | 工具接口、API 连接规范 |
| 关系 | 使用 MCP 工具 | 被 Skill 调用 |
| 抽象层 | 应用层(编排) | 协议层(连接) |
类比:
- 大模型 = 大脑
- MCP = 手(具备抓取能力)+ 工具(锤子、螺丝刀等)
- Skills = 操作手册(指导何时用锤子,何时用螺丝刀,按什么顺序)
15. Skill vs Workflow
| 维度 | Skill | Workflow |
|---|---|---|
| 驱动方式 | 大模型自主驱动 | 预设流程驱动 |
| 灵活性 | 高(动态决策) | 低(固定步骤) |
| 结构 | 松散,按需加载 | 严格,步骤编排 |
| 适用场景 | 复杂、多变的任务 | 标准化、重复性任务 |
| 容错性 | 可中途调整策略 | 需按预设路径执行 |
核心区别:
- Workflow:步骤在设计时已确定,如
A → B → C - Skill:流程由大模型根据上下文实时决策,可能
A → C → B或A → 结束
一句话总结:Skill 是大模型驱动的 Workflow。
16. Agent vs 传统 AI 应用
| 维度 | 传统 AI 应用 | AI Agent |
|---|---|---|
| 交互 | 单轮/多轮对话 | 自主规划、多步骤执行 |
| 记忆 | 无或简单缓存 | 短期 + 长期记忆机制 |
| 知识 | 预训练知识 | 预训练 + RAG 实时检索 |
| 能力 | 文本生成 | 文本生成 + 工具操作 |
| 目标 | 回答问题 | 独立完成任务 |
第六部分:完整技术栈架构图
┌─────────────────────────────────────────────────────────────┐
│ 用户交互层 │
│ (Web 界面 / CLI / API / 第三方应用) │
└─────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ AI Agent 层 │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────────────┐ │
│ │ 大模型 │ │ Memory │ │ RAG │ │ System Prompt │ │
│ │ (推理) │ │ (记忆) │ │(外部知识) │ │ (角色设定) │ │
│ └────┬────┘ └────┬────┘ └────┬────┘ └─────────────────┘ │
│ └─────────────┴─────────────┘ │
│ ↓ │
│ ┌─────────────┐ │
│ │ Skills │ ← 操作手册(何时、如何做) │
│ │ (Prompt + │ │
│ │ 流程编排) │ │
│ └──────┬──────┘ │
│ ↓ │
│ ┌─────────────┐ │
│ │ MCP 协议层 │ ← 工具调用标准 │
│ │ (JSON 格式) │ │
│ └──────┬──────┘ │
└─────────────────────┼───────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ 工具执行层 │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────────────┐ │
│ │ Scripts │ │ MCP │ │ MCP │ │ 向量数据库 │ │
│ │ (本地) │ │ Client │ │ Server │ │ (RAG 存储) │ │
│ └─────────┘ │ (本地) │ │ (远程) │ └─────────────────┘ │
│ └─────────┘ └─────────┘ │
└─────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ 基础设施层 │
│ ┌─────────────────┐ ┌─────────────────┐ │
│ │ 推理服务集群 │ │ 向量数据库集群 │ │
│ │ (DeepSeek/GPT) │ │(Milvus/PGVector)│ │
│ │ 无状态 HTTP │ │ 语义存储检索 │ │
│ └─────────────────┘ └─────────────────┘ │
└─────────────────────────────────────────────────────────────┘
总结速查表
| 概念 | 一句话定义 | 所在层级 |
|---|---|---|
| 推理服务 | 暴露 HTTP 接口的大模型运行实例 | 基础设施 |
| Memory | 管理对话历史的上下文机制 | 记忆层 |
| RAG | 通过外部知识库增强回答的方案 | 知识层 |
| MCP | 大模型调用外部工具的协议标准 | 协议层 |
| Skills | 指导大模型使用工具的操作手册 | 编排层 |
| Agent | 具备自主规划、记忆、工具调用能力的 AI 系统 | 应用层 |
| Prompt | 用户输入的指令 | 交互层 |
| Command | 提示词的快捷方式 | 交互层 |
| System Prompt | 设定 AI 底层行为的配置 | 角色层 |
| Metadata | 文件的"身份证",用于场景识别 | 工程化 |
| Reference | 按需加载的细分知识库 | 工程化 |
| Scripts | AI 可调用的可执行文件 | 工程化 |
| Workflow | 预设的固定流程 | 流程层 |
💡 核心洞见:现代 AI 应用 = 推理能力(大模型)+ 记忆能力(Memory)+ 知识能力(RAG)+ 行动能力(MCP)+ 编排能力(Skills),共同构成能够自主完成复杂任务的 Agent。