一、引言:LLM 已经不是"对话工具",而是"系统组件"
在早期,人们把大模型当成一个"更聪明的搜索引擎"。但随着能力演进,大模型逐渐变成:
可编排、可扩展、可训练的计算核心
今天,一个完整的 AI 应用系统通常包含:
- Prompt Engineering(提示工程)
- Function Calling(工具调用)
- Memory(记忆系统)
- Context 管理(上下文工程)
- Training(训练体系)
- RAG / Synthetic RAG(知识增强)
这些能力组合起来,本质上就是一个:
具备认知能力的软件系统(Cognitive System)
二、Generating Code(代码生成)
1. 本质
代码生成是大模型最稳定的能力之一,其核心原因在于:
- 代码具有强结构性(语法规则明确)
- 可验证(运行结果可判断对错)
- 可迭代(错误 → 修复)
2. Prompt 设计原则
高质量代码生成 Prompt 一般包含五个要素:
角色 + 任务 + 输入 + 输出格式 + 约束条件
示例:
你是一个高级后端工程师
请实现一个 REST API
要求:
-
使用 Python Flask
-
支持用户注册与登录
-
返回 JSON 格式
-
包含异常处理
3. 进阶策略
(1)分阶段生成
步骤1:设计系统架构
步骤2:定义接口
步骤3:生成代码
步骤4:优化代码
(2)结构化输出
{
"architecture": "...",
"code": "...",
"explanation": "..."
}
4. 实战案例:自动生成数据处理模块
请编写一个数据清洗模块:
输入:CSV 文件
输出:清洗后的数据
要求:
-
去除空值
-
标准化时间格式
-
输出统计信息
5. 核心总结
代码生成的本质是:将自然语言转化为结构化执行逻辑
三、提示函数(Prompt Functions)
1. 定义
Prompt Function 指的是:
将 Prompt 模板函数化,实现复用与组合
2. 示例
function classifyPrompt(text) {
return `
请对以下文本进行分类:
${text}
类别:
-
技术
-
商业
-
其他
`
}
3. 工程价值
- 降低重复劳动
- 提升一致性
- 支持模块化设计
4. 实战案例:文本分析流水线
输入文本
↓
提取关键信息(extract)
↓
分类(classify)
↓
总结(summarize)
每一步都是一个 Prompt Function。
5. 本质
Prompt Function = Prompt 的"组件化封装"
四、Function Calling(函数调用)
1. 定义
Function Calling 是指:
让大模型决定何时调用外部函数,并生成调用参数
2. 为什么需要?
大模型本身无法:
- 获取实时数据
- 操作数据库
- 执行真实动作
Function Calling 解决了这个问题。
3. 工作流程
用户输入
↓
模型判断是否调用函数
↓
生成函数参数
↓
系统执行函数
↓
返回结果给模型
↓
生成最终回答
4. 示例:订单查询系统
定义函数:
{
"name": "getOrderStatus",
"parameters": {
"orderId": "string"
}
}
用户输入:
帮我查一下订单12345的状态
模型输出:
{
"name": "getOrderStatus",
"arguments": {
"orderId": "12345"
}
}
5. 核心价值
Function Calling = 将语言模型变成"可执行代理"
五、Memory(记忆机制)
1. 为什么需要 Memory?
默认情况下,大模型是"短期记忆":
- 只能看到当前上下文
- 无法长期记住用户信息
- 无法积累经验
因此需要 Memory 系统。
2. Memory 的三种类型
(1)短期记忆(Short-term Memory)
- 当前对话上下文
- 存在于 Prompt 中
(2)长期记忆(Long-term Memory)
- 存储在数据库或向量库
- 可跨会话使用
示例:
用户偏好:喜欢简洁回答
(3)工作记忆(Working Memory)
- 当前任务临时信息
- 用于复杂推理过程
3. Memory 的实现方式
(1)基于向量数据库
文本 → embedding → 存储 → 相似度检索
(2)基于 Key-Value 存储
{
"user_preference": "short_answer"
}
4. 实战案例:个性化助手
流程:
用户行为 → 写入 memory
下一次请求 → 检索 memory → 注入 prompt
效果:
- 输出更符合用户习惯
- 具备"连续性"
5. Memory vs RAG
| 模块 | 作用 |
|---|---|
| Memory | 存用户/历史 |
| RAG | 存知识 |
6. 核心总结
Memory = 让模型"有记性"
六、Context Caching(上下文缓存)
1. 问题
每次请求都重复传递上下文:
- 成本高
- 延迟高
2. 解决方案
Context Caching:
- 缓存历史上下文
- 避免重复计算
3. 架构
请求 → 判断缓存 → 命中 → 直接返回
↓
未命中 → 正常推理 → 写入缓存
4. 实战案例:文档问答系统
传统方式:
- 每次传入整份文档
优化后:
- 首次处理 → 缓存 embedding
- 后续直接复用
5. 核心价值
- 降低成本
- 提升性能
- 提高一致性
七、Training(训练体系)
1. 定义
Training 是指:
通过数据让模型能力发生变化
2. 三种主要训练方式
(1)预训练(Pretraining)
- 使用海量数据训练
- 构建基础能力
(2)微调(Finetuning)
- 在特定数据上训练
- 强化某一能力
(3)指令训练(Instruction Tuning)
- 教模型"如何理解任务"
3. Finetuning GPT-4o
使用场景:
- 固定格式输出
- 风格统一
- 专业领域任务
4. 数据格式示例
{
"messages": [
{"role": "user", "content": "写一个产品介绍"},
{"role": "assistant", "content": "这是一个高性能产品..."}
]
}
5. 实战案例:风格统一生成
目标:
- 所有回答保持统一语气
做法:
- 收集示例输出
- 进行微调
6. Training vs RAG
| 方法 | 是否改模型 | 是否实时 |
|---|---|---|
| Training | 是 | 否 |
| RAG | 否 | 是 |
7. 核心总结
Training = 改变模型本身
RAG = 给模型提供外部知识
八、Generating Textbooks(生成教材)
1. 定义
大模型可以自动生成:
- 教程
- 课程体系
- 学习路径
2. Prompt 结构
主题 + 受众 + 结构 + 深度
3. 示例
生成一份机器学习入门教程:
要求:
-
面向初学者
-
包含案例
-
包含练习题
4. 实战案例:课程自动生成
输入:
主题:数据分析
输出:
- 章节结构
- 每章内容
- 练习题
5. 核心价值
- 知识结构化
- 教学自动化
九、Synthetic RAG(合成数据增强)
1. 问题
RAG 依赖数据,但现实中:
- 数据不足
- 数据质量不高
2. 解决方案
Synthetic RAG:
用模型生成训练数据
3. 工作流程
原始文档
↓
生成问答对
↓
构建向量库
↓
RAG 检索
4. 示例
原文:
光合作用是植物利用光能合成有机物
生成:
{
"question": "光合作用的作用是什么?",
"answer": "利用光能合成有机物"
}
5. 进阶:Self-Instruct
模型自动生成:
- 问题
- 答案
- 任务
6. 核心价值
- 解决冷启动问题
- 提升检索质量
十、系统架构总结
完整 AI 系统如下:
用户输入
↓
Prompt Functions
↓
LLM
↓
Function Calling(工具)
↓
Memory(记忆)
↓
RAG / Synthetic RAG(知识)
↓
Context Cache(优化)
↓
Finetuned Model(增强)
↓
输出
十一、最终结论
现代 AI 系统的本质已经发生变化:
从"单次问答" → "持续运行的智能系统"
关键能力:
- Function Calling:执行能力
- Memory:记忆能力
- Training:进化能力
- RAG:知识能力
一句话总结
LLM 不再只是模型,而是一个可编程的认知操作系统。