Forsy-AI/agent-apprenticeship · Stars=469 · 新项目

Agent Apprenticeship:
真实任务强化学习循环

Agent Apprenticeship 把 AI Agent 的工作过程变成可积累、可交换、可学习的信号。开发者用本地 Agent 执行真实任务,产出 Contribution Bundle 回馈公共生态,生态反过来提供 Experience Pack 改进未来的 Agent。

⭐ 469 CLI (npm) MIT Seed: 500+ tasks · 495 lessons · 1000+ traces

# 架构总览

Agent Apprenticeship 是一个以 CLI 为核心的数据循环系统,围绕"任务→执行→Bundle→学习→改进"闭环构建。

┌─────────────────────────────────────────────────────────────────────────┐
│                        开发者本地的循环                                  │
│                                                                         │
│   apprentice run "创建 AI 采购工具市场地图"                               │
│           │                                                             │
│           ▼                                                             │
│   ┌─────────────────┐     ┌─────────────────────────────────────────┐    │
│   │  Apprentice Agent │────▶│ 1. 选择 Agent 后端(Codex/Claude/MiMo...)│    │
│   │  (本地 CLI)      │     └─────────────────────────────────────────┘    │
│   └────────┬────────┘                                                    │
│            │ 真实任务执行                                                │
│            ▼                                                             │
│   ┌────────────────────────────────────────────────────────────────┐    │
│   │ Contribution Bundle                                             │    │
│   │ ├── contribution_manifest.json   ← 任务元数据、状态、经济价值评估 │    │
│   │ ├── artifacts/                   ← 生成物(文件、截图、数据)     │    │
│   │ ├── traces/                     ← Agent 执行轨迹(完整对话历史)  │    │
│   │ ├── outputs/                    ← 任务输出                      │    │
│   │ ├── mentor_checkpoints/          ← 人工专家审核点(expert-led 模式)│    │
│   │ └── follow_ups/                 ← 后续改进建议                  │    │
│   └────────────────────────────────────────────────────────────────┘    │
│            │                                                             │
│            ▼ apprentice ecosystem contribute <bundle_path>              │
│   ┌─────────────────┐                                                   │
│   │  贡献到公共生态  │                                                   │
│   └────────┬────────┘                                                   │
└────────────┼────────────────────────────────────────────────────────────┘
             │
             ▼
┌─────────────────────────────────────────────────────────────────────────┐
│                          公共生态网络                                    │
│                                                                         │
│   Ecosystem Index (index.jsonl)                                         │
│   ├── seed_dataset/        ← 官方初始数据集(500+ 任务)                 │
│   ├── bundles/             ← 社区贡献的 Bundle                           │
│   └── submissions/         ← 等待审核的提交                             │
│                                                                         │
│   Experience Pack ← 从 Bundle 中提取的可复用学习单元                   │
│   apprentice ecosystem pull <task_id>                                  │
│   apprentice learn create <bundle_id>                                   │
│   apprentice learn replay <pack_id>       ← 用历史轨迹微调 Agent         │
└─────────────────────────────────────────────────────────────────────────┘

核心创新

不同于静态数据集,Agent Apprenticeship 让 Agent 在真实经济任务中学习,每次执行都同时产生价值(完成任务)和信号(学习素材)。

支持的后端

Codex、Cursor、Claude Code、OpenClaw、OpenCode、Hermes Agent,以及自定义命令模板。auto-detect 已安装的 CLI,无需手动配置。


# Contribution Bundle 格式

每个任务执行后产出 Contribution Bundle,Bundle 是生态的基本数据单元,也是学习的原材料。

// schemas/contribution_bundle.schema.json
{
  "contribution_manifest.json": {
    // 任务元数据:bundle_id、title、domains、subdomains
    // task_status: pending | running | completed | failed
    // run_status:   当前执行状态
  },
  "artifacts/":   [ ... ],  // 生成的文件产物
  "traces/":      [ ... ],  // 完整执行轨迹(多轮对话)
  "outputs/":     [ ... ],  // 任务最终输出
  "mentor_checkpoints/": [ ... ],  // 人工审核节点(expert-led 模式)
  "follow_ups/":   [ ... ]   // 后续改进建议
}

Bundle 的双重价值

Bundle 同时服务两个目的:① 作为贡献回馈生态,帮助其他 Agent 学习;② 作为学习素材通过 Experience Pack 机制改进本地 Agent。

任务状态机

Bundle 携带 task_status 和 run_status 双重状态。前者标识任务级别的完成度,后者标识当前执行阶段(准备→运行→等待人工审核→完成/失败)。


# Mentor 三模式

Mentor 是引导 Agent 执行的角色。Agent Apprenticeship 支持三种 Mentor 模式。

模式CLI 参数Mentor 来源适用场景
model-assisted--mentor-mode model-assisted模型 Provider(如 OpenAI/Anthropic)快速迭代、成本优先
expert-led--mentor-mode expert-led人类专家(checkpoint 审核)高精度领域任务
hybrid--mentor-mode hybrid模型 draft + 专家审核平衡速度与质量

expert-led 模式细节

人类专家在 mentor_checkpoints/ 中提供审核意见,Agent 在关键决策点等待人工反馈。与纯 RL 相比,这种模式在高经济价值任务(如法律/医疗/金融)中更安全。

hybrid 模式流程

Mentor Model Provider 先生成 draft 方案,人类专家在此基础上 approve 或 edit。这个模式保留了模型的生成速度,同时有人工质量门。


# 生态学习闭环

生态网络把分散的 Agent 执行经验汇聚成可搜索、可复用的学习资源。

┌──────────────┐     apprentice      ┌──────────────────┐
│ 开发者本地   │─── ecosystem ──────▶│  公共生态网络    │
│ Agent 执行   │     contribute      │                  │
└──────┬───────┘                     │  index.jsonl     │
       │ Bundle                      │  bundles/        │
       ▼                             │  submissions/    │
┌──────────────────┐                └────────┬─────────┘
│  Contribution    │                          │ apprentice
│  Bundle          │                          │ ecosystem
└──────┬───────────┘                          │ inspect / pull
       │ apprentice learn create              ▼
       ▼                              ┌──────────────────┐
┌──────────────────┐                 │  Experience Pack │
│  Experience Pack │◀── pull ───────│                  │
│  (可复制的学习   │                 └──────────────────┘
│   信号单元)      │                          │
└──────┬───────────┘                          │
       │ apprentice learn replay               │
       │ (回放历史轨迹进行学习)                │
       ▼                                       
┌──────────────────┐                           │
│ 改进后的          │◀─────────────────────────┘
│ Agent 执行        │    apprentice run --use-active-exp
└──────────────────┘

Ecosystem Search

开发者可以用 apprentice ecosystem search <keyword> 搜索公共生态中的经验包,找到相似任务的执行轨迹和教训。


# Experience Pack

Experience Pack 是从 Bundle 中提取的可复用学习单元。

# 从 Bundle 创建 Experience Pack
apprentice learn create aa-seed-task-501

# 预览 Pack 内容
apprentice learn preview <pack_id>

# 回放历史轨迹(Agent 观看自己/他人的执行过程)
apprentice learn replay <pack_id>

# 激活 Pack 用于后续任务
apprentice run "创建类似任务" --use-active-experience-packs

# 丢弃不合适的 Pack
apprentice learn revert <pack_id>

与 RAG 的区别

RAG 是检索已有文档;Experience Pack 是行为级学习——Agent 观看完整执行轨迹,理解"在什么情况下用什么策略完成了什么任务",而非简单检索知识点。


# 种子数据集

官方提供的初始数据集包含高质量的任务和轨迹,涵盖多个经济领域。

类型数量说明
Seed Tasks500+来自真实经济场景的精选任务
Agent Lessons495可复用的执行策略和教训
Full Traces1000+完整的多轮 Agent 对话轨迹
Task Rollouts1000+从初始状态到完成的完整执行episode

主题领域

数据集覆盖多个专业化、高经济价值领域(金融、医疗、法律、技术咨询等),这些领域的任务具有明确的成功标准和可衡量的经济价值,适合作为学习信号。


# 技术亮点

① 任务即数据

每个任务执行同时产生经济价值和训练信号,零浪费。不同于静态 RL 数据集,Agent Apprenticeship 的数据来自真实的、人类有需求的场景。

② 多导师制

model-assisted / expert-led / hybrid 三种 Mentor 模式,让不同精度要求的任务选择合适的质量门策略。

③ Bundle 开放格式

Contribution Bundle 是一个开放 JSON 格式,包含轨迹、生成物、审核点、经济评估,任何人都可以基于它构建分析工具或学习系统。

④ Experience Pack 可复用

从 Bundle 提取的 Experience Pack 可在多个 Agent 之间共享,形成社区级的知识沉淀,避免重复执行相同的探索。

⑤ 经济价值评估

系统评估任务的"经济价值"(特别是跨专业化领域),使学习信号有优先级,高价值任务的学习经验优先被复用。

⑥ 多 Agent 后端兼容

auto-detect 本地安装的 Agent CLI(Codex、Claude Code、OpenClaw、OpenCode、Hermes Agent 等),无需为每个后端单独配置。