非参数学习:让 AI Agent 通过经验成长

一种不改模型权重、通过记忆和技能文件积累知识的 Agent 学习范式

一、什么是非参数学习?

1.1 核心定义

非参数学习(Non-Parametric Learning) 是一种 AI Agent 的学习范式:Agent 不通过修改模型参数(weights)来学习,而是通过在外部文件系统中积累经验、提炼规则、构建知识库来提升能力。

用人类的类比:

1.2 为什么叫"非参数"?

在统计学中,"非参数方法"指不预设数据分布形式,让数据自己说话(如 KNN、核密度估计)。类似地,非参数学习的 Agent:

1.3 与传统方法的对比

维度参数学习(Fine-tuning)非参数学习(File-based)
知识存储模型权重(黑箱)文件系统(明文)
学习方式梯度下降记录 → 复盘 → 提炼
可解释性低(为什么模型这么认为?)高(打开文件就能看)
可编辑性需要重新训练直接改文件
可迁移性绑定特定模型换模型直接带走
成本高(GPU、数据标注)低(只是读写文件)
实时性需要周期性重训即时生效
遗忘风险灾难性遗忘文件不会遗忘

二、理论基础

2.1 知识的三层结构

非参数学习将 Agent 的知识分为三层:


┌─────────────────────────────────┐
│  Layer 3: 技能文件 (SKILL.md)    │  ← 结晶化的专家知识
│  "做这类事情的标准流程"            │     可复用、可分享
├─────────────────────────────────┤
│  Layer 2: 长期记忆 (MEMORY.md)   │  ← 提炼后的经验
│  "我学到了什么"                   │     跨项目通用
├─────────────────────────────────┤
│  Layer 1: 日志 (memory/*.md)     │  ← 原始经验记录
│  "今天发生了什么"                 │     详细但冗余
└─────────────────────────────────┘

信息流向:原始经验 → 定期复盘 → 提炼为长期记忆 → 结晶为可复用技能

这模仿了人类的学习过程:

1. 经历(日记)→ 2. 反思(总结经验教训)→ 3. 内化(形成直觉/方法论)

2.2 学习循环

非参数学习的核心是一个反馈循环:


    ┌──────────┐
    │  行动     │  ← 基于当前知识做决策
    └────┬─────┘
         ▼
    ┌──────────┐
    │  记录     │  ← 记录决策过程和结果
    └────┬─────┘
         ▼
    ┌──────────┐
    │  复盘     │  ← 对比预期 vs 实际
    └────┬─────┘
         ▼
    ┌──────────┐
    │  提炼     │  ← 更新规则/策略文件
    └────┬─────┘
         ▼
    ┌──────────┐
    │  应用     │  ← 下次行动时参考新规则
    └──────────┘
         │
         └──→ 回到"行动",循环往复

2.3 关键原则

原则一:外部化一切

> 不要"记住",要"写下来"。Agent 的上下文窗口是短期记忆,文件系统是长期记忆。

原则二:结构化存储

> 原始数据 ≠ 知识。需要有意识地组织和提炼。就像学生不是把教科书全抄一遍就学会了。

原则三:可回溯性

> 每个决策都应该可以追溯到其依据。"我为什么这么判断?" → 打开文件就能看到。

原则四:渐进式结晶

> 知识从模糊到清晰,从零散到系统。不要一开始就试图写完美的规则,让规则从经验中自然涌现。

原则五:人机协同

> 人类可以随时审查、修改、补充 Agent 的知识文件。这是参数学习做不到的。

三、实现架构

3.1 文件系统作为知识库


workspace/
├── MEMORY.md              # 长期记忆(跨项目通用经验)
├── memory/
│   ├── 2026-02-17.md      # 每日日志
│   ├── 2026-02-18.md
│   └── domain/            # 领域特定记忆
│       ├── case-001.md    # 个案记录
│       └── case-002.md
├── skills/
│   └── trading/
│       └── SKILL.md       # 结晶化的交易技能
├── data/
│   └── snapshots/         # 原始数据快照
└── reports/               # 分析报告

3.2 知识检索机制

Agent 在做决策时,按优先级检索知识:

1. 精确匹配memory_search("wolves vs arsenal") → 找到历史分析

2. 语义搜索memory_search("EPL injury impact") → 相关经验

3. 技能文件 — 读取 SKILL.md 获取标准流程

4. 外部搜索 — web_search 获取最新信息

3.3 自动化支撑

非参数学习不是纯手动的。自动化脚本负责:

人类和 Agent 负责的是解读提炼,而不是数据搬运。

四、实战案例

4.1 体育预测交易系统

场景:在 Polymarket 上进行 NBA 和英超的体育赛事预测交易。

传统做法:训练一个预测模型(需要大量历史数据、GPU 算力、持续重训)。

非参数学习做法

第一阶段:积累(前 20 笔交易)


# memory/epl/wolves-vs-arsenal-20260218.md

## 赛前分析
- Arsenal 缺 Odegaard (核心中场)、Havertz (前锋)
- 市场定价: Arsenal 胜 76.5%
- 我的估计: 70-73%(基于伤病影响下调)
- Baseline 模型: 65.9%
- 决策: 买 Arsenal -1.5 NO @ 47.5%

## 赛后复盘
- 实际结果: [待填]
- 盈亏: [待填]
- 反思: [待填]

第二阶段:提炼(20-50 笔后)


# MEMORY.md 新增条目

## 经验教训
- 核心球员缺阵时,市场往往反应不足(2-3% 偏差)
- 亚洲让分盘 NO 的 edge 通常在 underdog 一侧
- 赛前 2-4 小时的赔率变动信号最强

第三阶段:结晶(50+ 笔后)


# skills/sports-trading/SKILL.md

## 标准分析流程
1. 获取 baseline 概率(Elo + 主客场 + 伤病)
2. 对比市场价格,计算 edge
3. 仅在 edge ≥ 5% 时考虑下注
4. 核心球员缺阵调整: -3% 到 -6%
5. 背靠背/密集赛程: -2%

## 已验证的 Edge 来源
- 伤病信息延迟(市场 1-2 小时才消化)
- 热门球队溢价(平均 2-3%)
- ...

4.2 编程 Agent

场景:帮助用户写代码、修 bug。

学习循环


遇到 bug → 记录错误模式和解决方案 → 积累"踩坑手册"
         → 下次遇到类似问题,先搜索手册
         → 多次验证后,写入 SKILL.md

知识文件示例


# memory/debug-patterns.md

## Python 编码问题
- 症状: UnicodeDecodeError on file read
- 原因: 文件不是 UTF-8
- 解决: open(f, encoding='utf-8', errors='replace')
- 学到次数: 5 次
- 置信度: 高

## Docker 网络问题
- 症状: container 之间无法通信
- 原因: 没在同一个 network
- 解决: docker network create + --network 参数
- 学到次数: 3 次

4.3 客服/销售 Agent

场景:处理客户咨询和投诉。

学习循环


客户对话 → 记录成功/失败话术 → 标注客户类型和有效策略
         → 新客户来了,先搜索相似案例
         → 提炼为话术模板库

知识文件示例


# skills/customer-service/objection-handling.md

## "太贵了"
- ❌ 失败话术: "我们的价格已经很优惠了"(3/10 次成功)
- ✅ 有效话术: "理解。我们来看看哪些功能对您最重要,找到最合适的方案"(7/10)
- 关键: 不要直接反驳价格,转向价值讨论

## "我再考虑考虑"
- ❌ 失败: 催促下单
- ✅ 有效: 提供限时优惠 + 约定回访时间

4.4 研究助手

场景:帮助研究员追踪文献、整理知识。

知识结构


papers/
├── summaries/
│   ├── attention-is-all-you-need.md   # 每篇论文的结构化摘要
│   └── scaling-laws.md
├── topics/
│   ├── transformer-architectures.md   # 按主题归类的知识
│   └── in-context-learning.md
└── connections.md                      # 论文之间的关联

学习循环


读论文 → 写结构化摘要(问题/方法/结论/局限)
      → 归类到主题文件
      → 标注与其他论文的关联
      → 定期更新"领域综述"

4.5 个人健康管理

场景:追踪用户的健康数据,提供个性化建议。


# memory/health/sleep-patterns.md

## 观察记录
- 2026-02-01: 睡 6h,第二天精神差 → 咖啡因 3 杯
- 2026-02-05: 睡 8h,状态好,运动 45min
- 2026-02-10: 睡 5h(熬夜写代码),第二天头疼
- ...

## 提炼规律
- 最佳睡眠: 7-8h(低于 6h 必然状态差)
- 咖啡因: 下午 3 点后喝会影响入睡
- 运动: 早上运动比晚上运动睡得更好

4.6 游戏 AI

场景:在策略游戏中持续提升。


# memory/game/opponent-profiles.md

## 玩家 "DragonSlayer99"
- 偏好: 早期 rush,兵种偏好骑兵
- 弱点: 中后期经济管理差
- 对策: 防守 + 拖到后期
- 战绩: 5 胜 2 负

## 通用规律
- 排位赛 1500-1800 分段,70% 玩家会在 10 分钟内进攻
- 最佳开局: 经济优先 → 防御塔 → 15 分钟后反攻

4.7 内容创作

场景:运营社交媒体账号,优化内容策略。


# skills/content/what-works.md

## 高互动内容特征(基于 50+ 篇帖子统计)
- 标题带数字: 平均互动 +40%
- 分享失败经验: 比成功经验互动高 2x
- 最佳发布时间: 工作日 9-10am,周末 11am
- 配图 vs 纯文字: 互动 +60%

## 低互动内容特征
- 纯观点输出(没有数据/案例支撑)
- 超过 500 字的长文(除非是教程)
- 周五下午发布

五、优势与局限

5.1 核心优势

1. 透明可审计

每个决策都有据可查。"你为什么这么判断?" → 打开对应的记忆文件。这在金融、医疗等需要合规审计的领域尤为重要。

2. 人机协同

人类可以随时介入:修改策略文件、纠正错误记忆、添加领域知识。这比重新训练模型高效几个数量级。

3. 跨模型可迁移

知识存在文件里,不绑定任何特定模型。今天用 Claude,明天换 GPT,后天用开源模型 — 知识文件直接带走。

4. 零训练成本

不需要 GPU、不需要标注数据、不需要训练 pipeline。一个文件系统 + 一个 LLM 就够了。

5. 增量式学习

不存在"灾难性遗忘"。新知识是追加到文件中的,不会覆盖旧知识。

6. 即时生效

修改文件后立刻生效,不需要等重训完成。

5.2 局限性

1. 检索依赖

Agent 需要知道"去哪里找"相关知识。如果记忆文件组织混乱,或语义搜索失败,知识等于不存在。

2. 上下文窗口限制

Agent 不能一次加载所有知识文件。需要策略性地选择加载哪些文件(通过搜索、分层加载等)。

3. 知识质量不保证

如果记录的经验本身就是错的(样本量小、归因错误),会导致"垃圾进垃圾出"。需要统计验证机制。

4. 无法学习隐式模式

有些知识难以用文字表达(如"这个代码风格看起来不对"的直觉)。参数学习可能在这类隐式模式上更强。

5. 维护成本

知识文件需要定期清理、去重、更新。如果放任不管,会变成信息垃圾场。

5.3 与参数学习的互补

非参数学习不是要替代参数学习,而是互补

适合非参数学习适合参数学习
需要可解释性隐式模式识别
数据量小(几十到几百条)数据量大(几万到几百万)
需要人类随时干预全自动化
知识快速变化知识相对稳定
个性化/定制化通用化/标准化

理想组合:LLM 提供基础推理能力(参数学习),非参数学习提供领域知识和个性化经验。

六、实施指南

6.1 从零开始

Step 1: 建立文件结构


mkdir -p memory/ skills/ data/ reports/
touch MEMORY.md

Step 2: 定义记录模板

为每种类型的经验设计记录模板:


## [日期] [事件类型]
- 背景: 
- 决策: 
- 结果: 
- 反思: 
- 下次改进: 

Step 3: 开始记录

每次行动后立即记录。不要等"以后再补"。

Step 4: 定期复盘

每周/每月回顾日志,提炼到 MEMORY.md。

Step 5: 结晶为技能

当某类经验积累到 20+ 条时,写成 SKILL.md。

6.2 质量控制

避免"垃圾进垃圾出"的关键机制:

1. Baseline 对照 — 每个判断都和机械基准比较

2. 样本量标注 — "基于 3 次经验" vs "基于 50 次经验"

3. 置信度分级 — 低/中/高,随数据积累升级

4. 定期回测 — 用新数据验证老结论是否还成立

5. 人类审查 — 关键规则变更需要人类确认

6.3 扩展策略

当知识量增大时:

七、哲学思考

7.1 这是"真正的学习"吗?

有人会质疑:把东西写在文件里,然后读回来,这算"学习"吗?

反过来想:人类的学习也大量依赖外部存储 — 笔记、书籍、维基百科。没有人会说"查笔记不算学习"。学习的本质不是改变存储介质,而是通过经验改善未来行为

7.2 知识的涌现

当零散的经验积累到足够多时,会涌现出模式和规律 — 这些是事先设计不出来的。就像 @swisstony 在 Polymarket 上的策略,不是从理论推导出来的,而是从几千笔交易中涌现的。

7.3 Agent 的身份连续性

对于 LLM Agent 来说,每次对话都是从零开始。非参数学习的记忆文件提供了身份连续性 — 让 Agent 知道"我是谁、我经历过什么、我学到了什么"。某种意义上,这些文件就是 Agent 的"灵魂"。

八、总结

非参数学习的核心信念:

> 知识应该是透明的、可编辑的、可迁移的。

它不是最强大的学习方法,但可能是最实用的 — 特别是对于需要快速上手、持续迭代、人机协同的场景。

与其花几周训练一个黑箱模型,不如花几小时建立一个好的记忆系统。前者可能更"智能",但后者你能理解、能控制、能信任。

在 AI Agent 的时代,可控性就是竞争力

文档版本: 1.0 | 作者: Tony (TonyZH) | 日期: 2026-02-18

基于 Polymarket 体育交易系统的实践经验总结