7.4 持续学习与知识更新
目前的许多 AI 系统是静态的:训练 -> 部署 -> 冻结。一旦部署,它就不会变了,直到下一次版本更新。但真正的智能体应该是动态的,能够在与环境和用户的交互中不断学习,越用越聪明。
本节探讨智能体实现 终身学习 的三种主要机制:记忆积累、自我提示优化和模型微调。
7.4.1 终身学习的三条路径
实现智能体持续进化主要有三条路径,成本由低到高,周期由短到长:
这是一种借鉴自强化学习的技术,但在这里通过 RAG 来实现。
当智能体成功解决了一个难题(例如修复了一个罕见的 SQL 错误)后,它不应只是把结果扔掉,而应该把这次成功的 轨迹转化为一条经验,存入长期记忆。
经验提取: 当任务成功完成时,触发提取器:
prompt = """
任务:{task}
执行轨迹:{trajectory}
请总结这次成功的关键经验。这不仅是针对这个具体任务,而是针对这类问题的方法论。
"""
存储: 将 (Task_Embedding, Key_Insight) 存入专门的 "经验向量库"。
回放(Retrieval): 当下次遇到新任务时,先检索是否存在类似经验。
experience = experience_db.query(new_task)
system_prompt += f"""
参考经验:
在处理类似任务时,之前的成功经验是:{experience}
请参考这个思路来解决当前问题。
"""
效果:这种机制实现了 即时单样本学习,智能体可以在不更新权重的情况下,瞬间学会不再犯同样的错误。
智能体不仅可以优化答案,还可以优化自己的"源代码"——系统提示词。
当智能体上线后,收集失败案例。
诊断:让另一个高级智能体分析失败原因。
"失败原因:智能体忘记了在搜索前先检查本地缓存。"
建议:提出系统提示词修改建议。
"建议:在系统提示词的工具使用规范中,添加一条:'优先检查 Cache'。"
更新:自动或半自动地更新线上的 Prompt 配置。
7.4.4 自动提示词优化框架(思路)
一些框架把 Prompt 当成可优化的参数:你提供 Metric(评估标准)与少量训练样例,系统自动搜索更优的指令、示例与结构化输出模板。
工程上要特别注意:
可审计:Prompt 的每次变更要可回放、可对比。
对于企业级智能体,数据飞轮 是最大的护城河。
7.4.5 数据飞轮 运作模式
冷启动:用通用的高能力模型部署 V1 版本智能体。即使成本更高,也要保证初始体验与数据质量。
收集数据:记录所有用户交互。重点收集以下两类数据:
构建数据集:将 [User Input] 和 [Corrected Action] 配对,清洗出高质量的 SFT 数据集。
微调:
使用这些私有领域数据,微调一个更小、更便宜的模型。
目标:让 8B 模型在 特定垂直领域 接近更大模型在该垂直领域的效果。
迭代:部署微调后的 V2 版本。V2 通常能显著降低成本并提升速度。
7.4.6 什么时候需要微调?
不要上来就微调。遵循以下原则:
Prompt Engineering First:先试 Prompt,改几次还是不行。
Fine-tuning Last:如果是缺 形式(Format)、缺 风格(Style)或需要极致的 低延迟,才考虑微调。
7.4.7 记忆的维护:遗忘与整理
如果只学不忘,智能体的记忆库很快会被噪声填满,检索准确率下降。
类似于人类睡眠时的记忆整理,智能体需要后台维护进程:
合成:将 10 条零散的对话记录合并为一条事实:"用户偏好 Python 语言,不喜欢写注释。"
冲突解决:如果前天记"用户喜欢红色",今天记"用户讨厌红色",以最新的为准,删除旧记忆。
最近最少使用(LRU):长期不被检索的记忆,逐渐降低权重或归档。
持续学习让智能体具有了"生命力"。
数据飞轮 让它能随着使用规模扩大而不断降低成本、提升壁垒。
一个好的智能体架构,不仅要有聪明的"大脑"(LLM),还要有完善的"成长机制"。
下一章将进入实战,介绍主流的智能体开发框架。
下一节: 本章小结