从 Prompt 到智能体系统:Function Calling、Memory 与 Synthetic RAG 的全栈解析

一、引言: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 不再只是模型,而是一个可编程的认知操作系统。

相关推荐
Deepoch1 小时前
基于 VLA 边缘计算的除草机器人自主作业技术研究
人工智能·开发板·具身模型·deepoc·除草机器人
ws2019072 小时前
智行未来,驱动变革:AUTO TECH China 2026 广州汽车技术展蓄势待发
人工智能·科技·汽车
小超同学你好2 小时前
OpenClaw 深度解析与源代码导读 · 第2篇:Skills——能力扩展平面与源码中的「目录即技能」
人工智能·语言模型
空中湖2 小时前
光计算:用“光“代替“电“,AI算力的下一场革命
人工智能
小江的记录本2 小时前
【 AI工程化】AI工程化:MLOps、大模型全生命周期管理、大模型安全(幻觉、Prompt注入、数据泄露、合规)
java·人工智能·后端·python·机器学习·ai·架构
quetalangtaosha2 小时前
Anomaly Detection系列(CVPR2025 TailedCore论文解读)
人工智能·计算机视觉
Flying pigs~~2 小时前
企业级模块化RAG项目(mysql➕redis➕milvus➕模型微调➕bm25➕fastapi➕ollama➕Prompt➕多策略选择)
人工智能·redis·mysql·docker·prompt·milvus·rag
小oo呆2 小时前
【自然语言处理与大模型】Harness Engineering是什么?和提示词工程、上下文工程有什么关系?
人工智能·自然语言处理
财经资讯数据_灵砚智能2 小时前
基于全球经济类多源新闻的NLP情感分析与数据可视化(日间)2026年4月16日
人工智能·python·信息可视化·自然语言处理·ai编程