发现 AI 代理的未来arrow_forward

SwiftSage

calendar_today收录于 2026年2月23日
category智能体与应用工具
code开源
Python工作流自动化大语言模型AI代理强化学习智能体框架智能体与应用工具其他教育/研究资源模型训练/推理

受人类认知双过程理论启发的生成式智能体框架,结合快思考与慢思考机制,通过上下文强化学习高效解决复杂交互式推理任务。

项目简介#

SwiftSage 是一个基于大语言模型的智能体系统,旨在解决需要复杂推理和多步交互的任务。其核心创新在于模仿人类的认知双过程理论(Dual-Process Theory),设计了双系统架构。

核心架构#

Swift Agent(快思考):基于较小参数模型(如 Llama 3.1 8B),负责快速直觉推理、生成初步计划和代码片段。主打高效率、低成本,对应人类的 System 1 认知模式。

Sage Agent(慢思考):基于大参数模型(如 Llama 3.1 405B),当 Swift 模式无法解决问题时介入。负责深度分析、错误纠正、复杂逻辑推演,对应人类的 System 2 认知模式。

Feedback Agent(反馈评估):基于中等/大模型(如 Llama 3.1 70B),充当评判员。评估 Swift/Sage 的输出,给出具体反馈文本和数值奖励(1-10分)。

核心创新点#

In-context Reinforcement Learning (ICRL):无需梯度更新的强化学习机制。通过 Prompt 将历史反馈和奖励注入上下文,指导 Agent 优化下一步动作,无需模型微调。

Python 代码执行器:内置沙箱环境。Agent 生成的动作表现为 Python 代码,由执行器运行并获得结果或状态变化,采用 Plan-Ground-Execute 统一任务范式。

动态切换机制:根据任务难度和 Feedback 的评分,自动在 Swift 模式和 Sage 模式之间切换,优化计算资源分配。

工作流程#

  1. 用户提交 Problem,SwiftSage 初始化
  2. Swift Agent 生成解题思路和 Python 代码,Executor 执行代码返回结果
  3. Feedback Agent 评估结果:
    • 分数达标(默认≥8)→ 返回最终答案
    • 分数不足 → 将反馈传回 Swift Agent,进行下一轮迭代(最多 max_iterations 次)
  4. 若 Swift 在最大迭代次数后仍失败,切换至 Sage Agent 进行深度分析

适用场景#

  • 复杂的科学推理任务(ScienceWorld 基准)
  • 多步数学问题求解(如二次方程求解)
  • 逻辑判断与陷阱问题(如数值比较 9.9 vs 9.11、字符统计)
  • 需要平衡响应速度与推理质量的交互式应用

学术成果#

在 ScienceWorld 基准的30个任务中显著优于 SayCan、ReAct、Reflexion 等方法。项目论文发表于 NeurIPS 2023 Spotlight。

安装与使用#

# 安装
pip install git+https://github.com/SwiftSage/SwiftSage.git

# 快速运行
swiftsage --problem "How many letter r are there in 'My strawberry is red.'?" \
          --api_provider Together \
          --swift_model_id meta-llama/Meta-llama-3.1-8B-Instruct-Turbo \
          --feedback_model_id meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo \
          --sage_model_id meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo

关键配置参数#

参数默认值说明
--api_providerTogetherAPI提供商 (Together, SambaNova, Groq)
--max_iterations5Swift Agent 最大重试次数
--reward_threshold8成功奖励分阈值(1-10)
--swift_temperature0.5Swift 模型温度
--start_with_sageFalse跳过 Swift 直接使用 Sage

Python API#

from swiftsage.agents import SwiftSage

s2 = SwiftSage(
    dataset, embeddings, prompt_template_dir,
    swift_config, sage_config, feedback_config,
    use_retrieval=False, start_with_sage=False
)
reasoning, solution, messages = s2.solve(
    problem="Solve 3x^2 + 7.15x + 4 = 0", 
    max_iterations=10, reward_threshold=8
)

项目版本#

  • V2 (beta):当前开发版本,仍在完善中
  • V1 代码:位于 science_world 分支,对应 NeurIPS 2023 论文实现

模块结构#

swiftsage/
├── agents/
│   ├── swiftsage.py      # 主协调器
│   ├── swift_agent.py    # Swift Agent
│   ├── sage_agent.py     # Sage Agent
│   └── feedback_agent.py # Feedback Agent
├── utils/
│   ├── LLMClient         # LLM API 封装
│   └── PythonExecutor    # 代码执行沙箱
└── prompt_templates/     # Jinja 提示模板

核心贡献者#

Bill Yuchen Lin, Yifan Song 等

保持更新

获取最新的 AI 工具和趋势,直接发送到您的收件箱。没有垃圾邮件,只有智能。

rocket_launch