# 7.4 持续学习与知识更新

目前的许多 AI 系统是静态的：训练 -> 部署 -> 冻结。一旦部署，它就不会变了，直到下一次版本更新。但真正的 **智能体** 应该是动态的，能够在与环境和用户的交互中不断学习，越用越聪明。

本节探讨智能体持续进化的三种主要机制：**运行时适配**、**配置层优化** 与 **权重层持续学习**。这三者都会让系统表现发生变化，但严格来说，并不都是“模型学会了新东西”。

## 7.4.1 持续进化的三条路径

实现智能体持续进化主要有三条路径，成本由低到高，周期由短到长：

1. **运行时适配（Runtime Adaptation）**：通过检索、记忆、路由和上下文拼接改变当前这一轮的行为，但**不修改模型权重**。
2. **配置层优化（Configuration Updates）**：动态修改系统提示词、工具策略或工作流配置，改变系统行为，但通常仍**不属于参数学习**。
3. **权重层持续学习（Parametric Continual Learning）**：通过持续预训练、SFT、DPO、RL 等方式真正更新模型参数，让能力写入权重。

这一区分很重要：**RAG、记忆检索、Prompt 改写** 常常能让系统“下一次做得更好”，但更准确地说，那是**运行时适配**或**系统配置改进**，而不是狭义上的“模型持续学习”。

## 7.4.2 经验回放与非参数记忆

通过 RAG 或记忆库复用历史经验，是最常见、最实用的运行时适配方案。其核心思想是：当智能体成功解决一个难题（例如修复罕见的 SQL 错误）后，不应只保留最终答案，而应把成功轨迹压缩成可检索的 **经验**，写入外部记忆。

1. **经验提取**： 当任务成功完成时，触发提取器：

   ```python
   prompt = """
   任务：{task}
   执行轨迹：{trajectory}

   请总结这次成功的关键经验。这不仅是针对这个具体任务，而是针对这类问题的方法论。
   """
   ```
2. **存储**： 将 `(Task_Embedding, Key_Insight)` 存入专门的 “经验向量库”。
3. **回放（Retrieval）**： 当下次遇到新任务时，先检索是否存在类似经验。

   ```python
   experience = experience_db.query(new_task)

   system_prompt += f"""
   参考经验：
   在处理类似任务时，之前的成功经验是：{experience}
   请参考这个思路来解决当前问题。
   """
   ```

**效果**：这种机制可以让系统在**不更新权重**的情况下快速改善后续任务表现。更准确地说，它利用的是 **非参数记忆（external / non-parametric memory）**，而不是把新知识写入模型参数。

智能体不仅可以优化答案，还可以优化自己的“源代码”——系统提示词。

## 7.4.3 自动提示词优化

当智能体上线后，收集失败案例。

1. **诊断**：让另一个高级智能体分析失败原因。
   * “失败原因：智能体忘记了在搜索前先检查本地缓存。”
2. **建议**：提出系统提示词修改建议。
   * “建议：在系统提示词的工具使用规范中，添加一条：'优先检查 Cache'。”
3. **更新**：自动或半自动地更新线上的 Prompt 配置。

这里也要区分概念：**Prompt change** 会改变系统行为，但通常仍属于**配置层优化**，不等于模型在权重层完成了持续学习。它更接近“改策略”而不是“改大脑”。

## 7.4.4 自动提示词优化框架（思路）

一些框架把 Prompt 当成可优化的参数：你提供 Metric（评估标准）与少量训练样例，系统自动搜索更优的指令、示例与结构化输出模板。

工程上要特别注意：

* **防回归**：优化某个指标时不要牺牲其他关键能力。
* **可审计**：Prompt 的每次变更要可回放、可对比。
* **边界控制**：避免自动优化写入高风险指令或越权工具。

对于企业级智能体，真正把经验沉淀进模型参数的，通常是后面的 **数据飞轮 + 权重更新**。

## 7.4.5 数据飞轮与权重层持续学习

1. **冷启动**：用通用的高能力模型部署 V1 版本智能体。即使成本更高，也要保证初始体验与数据质量。
2. **收集数据**：记录所有用户交互。重点收集以下两类数据：
   * **正样本**：用户点了赞，或任务成功完成的轨迹。
   * **负样本**：用户点了踩，或经过人工修正后的正确轨迹。
3. **构建数据集**：将 `[User Input]` 和 `[Corrected Action]` 配对，清洗出高质量的 SFT 数据集。
4. **微调 / 持续训练**：
   * 使用这些私有领域数据，对模型做持续预训练、SFT、DPO 或 RL 等权重更新。
   * 目标：把反复出现的领域模式、输出格式和策略偏好真正写入模型参数，而不是每次都依赖检索或长提示词。
5. **迭代**：部署微调后的 V2 版本。V2 通常能显著降低成本并提升速度。
6. **循环**：V2 继续收集数据，训练 V3...

这是更严格意义上的“持续学习”，但代价也更高：需要数据治理、评测门禁、回归测试，以及对**灾难性遗忘（catastrophic forgetting）** 的控制。

## 7.4.6 什么时候需要权重更新？

不要上来就做权重更新。遵循以下原则：

* **Runtime Adaptation First**：如果问题是“需要最新知识”或“需要复用历史经验”，优先用检索、记忆和路由。
* **Prompt / Workflow Second**：如果问题是工具调用顺序、约束说明、输出模板不稳定，优先改 Prompt 或工作流。
* **Parametric Update Last**：如果问题高频、模式稳定、对延迟敏感，或者希望把领域习惯固化到模型里，再考虑持续预训练或微调。

## 7.4.7 记忆的维护：遗忘与整理

如果只学不忘，智能体的记忆库很快会被噪声填满，检索准确率下降。

### 记忆整理

类似于人类睡眠时的记忆整理，智能体需要后台维护进程：

* **合成**：将 10 条零散的对话记录合并为一条事实：“用户偏好 Python 语言，不喜欢写注释。”
* **冲突解决**：如果前天记“用户喜欢红色”，今天记“用户讨厌红色”，以最新的为准，删除旧记忆。

### 遗忘机制

* **生存时间（TTL）**：为短期记忆设置过期时间。
* **最近最少使用（LRU）**：长期不被检索的记忆，逐渐降低权重或归档。

## 7.4.8 小结

持续进化让智能体具有了“生命力”。

* **经验回放 / 外部记忆** 让系统在运行时利用非参数记忆改善当前决策。
* **Prompt 优化** 让系统在配置层持续调整行为准则。
* **数据飞轮 + 权重更新** 才是真正把经验沉淀进模型参数的持续学习路径。

一个好的智能体架构，不仅要有聪明的“大脑”（LLM），还要有完善的“成长机制”。

下一节将探讨推理能力的提升路径。

***

**下一节**: [7.5 推理能力的提升](/agentic_ai_guide/di-er-bu-fen-qun-ti-zhi-neng-yu-jin-hua/07_evolution/7.5_reasoning.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://yeasy.gitbook.io/agentic_ai_guide/di-er-bu-fen-qun-ti-zhi-neng-yu-jin-hua/07_evolution/7.4_continuous_learning.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
