系统提示学习:教会大型语言模型从经验中学习解决问题的策略
我们很高兴地宣布**系统提示学习(SPL)**,这是一种新范式,使大型语言模型能够通过经验学习和提高其解决问题的能力。这种方法已作为开源插件在optillm中实现,在多个基准测试中显示出显著的性能改进。
动机:弥合系统提示的差距
如果你曾想知道为什么 ChatGPT、Claude 和其他流行的 AI 助手如此强大,部分秘密在于它们复杂的系统提示。这些提示包含精巧的问题解决策略、推理框架和详细指令,指导模型获得更好的性能。然而,大多数开发者和研究人员使用基本或空的系统提示,完全错过了这些优势。
这种差异促使我们探索Andrej Karpathy 提出的 LLM 学习“第三范式”
- 预训练:从海量文本语料库中学习事实和模式
- 微调:通过监督/强化学习行为
- 系统提示学习:通过经验学习显式的问题解决策略 ← **新**
什么是系统提示学习?
系统提示学习代表了大型语言模型解决问题方式的根本转变。SPL 不再将每个查询视为孤立的挑战,而是使模型能够:
- 从经验中学习:建立有效问题解决策略的知识库
- 分类问题:自动将查询分类为特定的问题类型
- 应用相关策略:为每种问题类型选择并应用最有效的策略
- 随着时间推移而改进:根据成功率和新示例完善策略
- 保持透明:生成可检查和理解的人类可读策略
令人印象深刻的结果
我们使用 `gemini-2.0-flash-lite` 在多个基准测试中评估了 SPL,学习阶段使用了 400 个训练实例,并在单独的测试集上进行了评估。
基准测试 | 基线 | 使用 SPL | 改进 |
---|---|---|---|
OptILLMBench | 61% | 65% | +4% |
MATH-500 | 85% | 85.6% | +0.6% |
竞技场自动困难 | 29% | 37.6% | +8.6% |
AIME24 | 23.33% | 30% | +6.67% |
这些改进对于竞技场自动困难和 AIME24 等具有挑战性的基准测试尤其显著,因为战略性的问题解决方法在这些测试中发挥着最大的作用。
工作原理
SPL 系统维护一个动态的问题解决策略数据库,该数据库随着时间推移而演变
1. 问题分类
每个查询都会自动分类为 16 种问题类型之一(算术、应用题、逻辑推理、编码等)
2. 策略管理
- 创建:为不熟悉的问题类型生成新策略
- 选择:为推理选择最相关的策略(最多 3 个)
- 评估:每次使用后评估策略的有效性
- 完善:每 10 次应用后改进策略
- 维护:合并相似策略并剔除表现不佳的策略
3. 系统提示增强
所选策略被整合到系统提示中,为模型提供了如何处理问题的明确指导。
示例策略
这是系统为应用题学习到的一个完善策略:
**Strategy for Solving Word Problems:**
1. **Understand:**
* Read the problem carefully (multiple times)
* Identify the question (what are you trying to find?)
* List all given information (facts, numbers, units)
2. **Plan and Translate:**
* Define all variables with units
* Identify relationships between knowns and unknowns
* Write equations or expressions
* Ensure units are consistent throughout
3. **Solve:**
* Show work step-by-step
* Track units throughout calculations
* Calculate accurately
4. **Verify:**
* Check if the answer is reasonable
* State the final answer with units
经过 500 次训练查询后,我们的系统开发了
- 创建了 129 个策略
- 完善了 97 个策略
- 合并了 28 个策略
- 346 次成功解决
开始使用
SPL 在 optillm 中作为插件实现,使其易于与现有工作流集成
安装
pip install optillm
基本用法(推理模式)
from openai import OpenAI
client = OpenAI(
api_key="your-api-key",
base_url="https://:8000/v1" # optillm proxy
)
response = client.chat.completions.create(
model="spl-gpt-4o", # SPL prefix enables the plugin
messages=[
{"role": "user", "content": "Your challenging problem here"}
]
)
学习模式(策略创建/完善)
response = client.chat.completions.create(
model="spl-gpt-4o",
messages=[
{"role": "user", "content": "Your problem here"}
],
extra_body={"spl_learning": True} # Enable learning mode
)
与其他技术的结合
# Combine SPL with other optillm techniques
response = client.chat.completions.create(
model="spl&memory-gpt-4o", # SPL + memory plugin
messages=[...]
)
主要优势
🧠 累积学习:LLM 随着时间推移在特定问题类型上不断改进
📖 透明知识:策略是人类可读的,提供对推理的洞察
⚡ 效率:重复使用成功的处理方法,而不是从头开始解决每个问题
🎯 适应性:针对不同问题类型采用不同策略
🔍 可检查:学习过程和结果可以被检查和理解
实现细节
完整实现可在 optillm 仓库中找到。主要组件包括
- 策略数据库:基于 JSON 的持久存储
- 问题分类器:自动查询分类
- 策略生成器:LLM 驱动的策略创建
- 有效性评估器:完成后策略评估
- 策略完善器:持续改进现有策略
未来影响
系统提示学习为人工智能开发开启了激动人心的可能性
- 领域特定专业知识:在特定领域发展专业知识的模型
- 协作学习:在不同部署之间共享策略数据库
- 人机协作:允许人类专家贡献和完善策略
- 多模态策略:将方法扩展到文本之外,包括视觉和其他模态
今天就试用
准备好让你的大型语言模型具备从经验中学习的能力了吗?
🔗 GitHub 仓库:https://github.com/codelion/optillm
📁 SPL 插件:https://github.com/codelion/optillm/tree/main/optillm/plugins/spl
📄 文档:仓库中提供了完整的设置和使用指南
我们相信系统提示学习代表着迈向更智能、更具适应性的人工智能系统的根本一步。通过使模型以透明、可解释的方式从经验中学习,我们正在接近真正随着时间推移而改进的人工智能。
你的大型语言模型将学到哪些策略?今天就尝试 SPL,一探究竟!
系统提示学习在 optillm 中实现,这是一个专注于通过最先进技术优化 LLM 推理的开源项目。加入我们的社区,帮助塑造自适应 AI 系统的未来。
标签:#机器学习 #AI #LLM #问题解决 #开源 #推理优化