Skip to content

Commit 903c2fe

Browse files
committed
docs: add zhihu repository introduction
1 parent 9b4f15a commit 903c2fe

4 files changed

Lines changed: 500 additions & 0 deletions

File tree

Lines changed: 112 additions & 0 deletions
Loading
Lines changed: 274 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,274 @@
1+
# Bayesian-Agent:让 Agent 的 Skill 进化从经验主义走向贝叶斯推理
2+
3+
> 仓库地址:[https://github.com/DataArcTech/Bayesian-Agent](https://github.com/DataArcTech/Bayesian-Agent)
4+
> 文档地址:[https://dataarctech.github.io/Bayesian-Agent/](https://dataarctech.github.io/Bayesian-Agent/)
5+
> 当前版本:v0.4,arXiv coming soon
6+
7+
过去一年,Agent 框架越来越多。每个框架都在讲工具调用、memory、planner、browser、workflow、multi-agent,但如果把这些概念拨开,本质问题其实很朴素:
8+
9+
**一个 Agent 做错了一次任务之后,它到底有没有真的变聪明?**
10+
11+
很多系统的答案并不令人满意。失败轨迹可能被塞进长上下文,成功经验可能被写成一段 prompt,SOP 可能越积越厚,但这些“经验”通常没有明确的证据权重,也很少回答三个问题:
12+
13+
1. 这条 Skill 到底在什么场景下有效?
14+
2. 它失败时通常死在哪个 failure mode?
15+
3. 继续使用它,是省 token,还是在制造噪声?
16+
17+
这就是我们开源 **Bayesian-Agent: A Bayesian Self-Evolving Agent Framework with Cross-Harness Adaptation** 的原因。
18+
19+
Bayesian-Agent 不是又一个试图替代所有人的 Agent runtime。它更像一个可以挂在不同 Agent harness 旁边的 **Bayesian Skill/SOP evolution layer**:从 Agent 的成功和失败轨迹中提取证据,维护每条 Skill 的 posterior belief,再把更可靠、更省 token、更贴近当前任务的 Skill context 注入下一次运行。
20+
21+
## 一句话介绍
22+
23+
Bayesian-Agent 把 Agent 的每条 Skill / SOP 当成一个关于成功率的假设:
24+
25+
```text
26+
P(success | theta, C, skill)
27+
```
28+
29+
其中:
30+
31+
- `theta` 是底层大模型参数
32+
- `C` 是推理环境,包括 prompt、context、tools、memory、harness feedback
33+
- `skill` 是可复用的任务流程或 SOP
34+
35+
每次 Agent 执行任务后,Bayesian-Agent 会读取经过验证的 trajectory evidence,更新 Skill 的 posterior belief,并在下一次运行时生成 posterior-weighted Skill context。
36+
37+
换句话说,它不是“把失败经历都塞进记忆里”,而是问:
38+
39+
**哪些经验被验证过?哪些经验在当前任务里值得相信?哪些经验应该 patch、split、compress 或 retire?**
40+
41+
## 仓库架构图
42+
43+
下面这张图是当前仓库结构和数据流。核心点是:Bayesian-Agent 的 `core` 不绑定任何具体 Agent runtime;GenericAgent 只是当前实验使用的 backend harness,未来也会上传我们自己的 Agent harness。
44+
45+
<div align="center">
46+
<img src="../assets/bayesian_agent_repository_architecture.svg" width="900" alt="Bayesian-Agent repository architecture"/>
47+
<br/>
48+
<em>Bayesian-Agent repository architecture: a reusable Bayesian Skill/SOP evolution layer across harnesses.</em>
49+
</div>
50+
51+
仓库中最重要的几层是:
52+
53+
- `bayesian_agent/core/`:框架无关的 Bayesian evolution engine
54+
- `bayesian_agent/adapters/`:外部 Agent harness 的适配边界
55+
- `schemas/`:trajectory evidence 和 Skill belief 的通用 JSON schema
56+
- `artifacts/`:GenericAgent + deepseek-v4-flash 的实验结果
57+
- `docs/`:方法、实验、API、adapter 和部署文档
58+
59+
这个边界设计很重要。它意味着 Bayesian-Agent 不需要复制 GenericAgent,也不需要把自己变成一个封闭的大型 Agent 框架。只要某个 Agent framework 能产出统一的 trajectory schema,它就可以接入 Bayesian-Agent。
60+
61+
## 为什么是 Bayesian?
62+
63+
我们可以把大模型系统的优化方式粗略分成两条 MECE 路线:
64+
65+
1. 改变模型参数分布:预训练、SFT、RL、微调等
66+
2. 改变推理条件分布:prompt、context、RAG、tools、memory、harness 等
67+
68+
如果基础模型是在采样:
69+
70+
```text
71+
P(X | theta)
72+
```
73+
74+
那么 Agent 系统其实是在采样:
75+
76+
```text
77+
P(X | theta, C)
78+
```
79+
80+
这里的 `C` 就是整个推理环境。所谓 prompt engineering、context engineering、RAG、tool use、memory、harness engineering,本质上都在改变 `C`,从而改变模型下一步吐字和行动的条件概率分布。
81+
82+
Bayesian-Agent 聚焦的是 Skill / SOP 这一层 `C` 的进化。
83+
84+
传统做法像是:
85+
86+
```text
87+
做过一次 -> 写进经验 -> 下次看到类似任务就用
88+
```
89+
90+
Bayesian-Agent 的做法是:
91+
92+
```text
93+
执行轨迹 -> Verifier -> Evidence -> Posterior -> Skill Context -> 下一次执行
94+
```
95+
96+
这让 Skill 不再是“看起来有用的一段提示词”,而是一个被持续验证、持续修正、持续压缩的操作假设。
97+
98+
## 三个核心优势
99+
100+
### 1. 从零跑:Full Self-Evolving Mode
101+
102+
Bayesian-Agent 可以从零开始运行任务。没有历史 traces,没有人工预置的大量 SOP,也可以在任务执行过程中收集 evidence,并逐步进化 Skill beliefs。
103+
104+
这对应的是研究问题:
105+
106+
**一个 Agent 能不能在没有先验经验的情况下,通过执行和验证自我沉淀 Skill?**
107+
108+
在 SOP-Bench 上,我们用 GenericAgent + `deepseek-v4-flash` 做了原型验证:
109+
110+
| Benchmark | Agent | Model | Accuracy | Input Tokens | Output Tokens | Total Tokens | Efficiency |
111+
|---|---|---|---:|---:|---:|---:|---:|
112+
| SOP-Bench | GA | deepseek-v4-flash | 80% | 1.34M | 57k | 1.39M | 11.47 |
113+
| SOP-Bench | GA+Bayesian | deepseek-v4-flash | 100% | 1.07M | 52k | 1.12M | 17.86 |
114+
115+
结果很直观:full mode 不只是把准确率从 80% 拉到 100%,token 使用也从 1.39M 降到了 1.12M。
116+
117+
这说明 Skill 进化不是“越写越长”的记忆堆叠。用 posterior belief 过滤和组织经验,反而可能让上下文更短、更准。
118+
119+
### 2. 增量跑:Incremental Repair Mode
120+
121+
从工程落地角度看,更有价值的是增量模式。
122+
123+
很多团队已经有自己的 Agent 框架、自己的业务 harness、自己的评测流水线。要求他们换一套 Agent runtime 并不现实。Bayesian-Agent 的设计不是替换这些系统,而是作为 repair layer 插进去。
124+
125+
流程是:
126+
127+
```text
128+
Base Agent -> Failure Traces -> Bayesian Skill Evolution -> Rerun Failures -> Higher Accuracy
129+
```
130+
131+
也就是:
132+
133+
1. 原来的 Agent 先跑
134+
2. Bayesian-Agent 读取成功和失败轨迹
135+
3. 对失败模式进行 posterior update 和 repair planning
136+
4. 只重跑失败任务
137+
138+
在我们的增量实验里:
139+
140+
| Benchmark | Agent | Model | Final Accuracy | Incremental Input | Incremental Output | Incremental Total | Incremental Efficiency |
141+
|---|---|---|---:|---:|---:|---:|---:|
142+
| SOP-Bench | GA+BayesianIncremental | deepseek-v4-flash | 100% | 216k | 10k | 226k | 17.73 |
143+
| Lifelong AgentBench | GA+BayesianIncremental | deepseek-v4-flash | 100% | 71k | 7k | 78k | 25.57 |
144+
145+
这点非常关键:如果一个 Agent 已经能做到 80% 或 90%,Bayesian-Agent 不需要完整重跑所有任务,只需要针对失败部分做增量修复。
146+
147+
这让它从“研究算法”变成了一个很实用的工程模块。
148+
149+
### 3. 跨 Harness:Cross-Harness Adaptation
150+
151+
Bayesian-Agent 最重要的定位,是 **cross-harness adaptation**
152+
153+
我们现在的实验基于 GenericAgent,但仓库没有 copy 一份 GenericAgent,也没有把自己写成 GenericAgent fork。原因很简单:
154+
155+
**真正有价值的不是某个 harness 本身,而是 Skill/SOP 进化的方法可以跨 harness 复用。**
156+
157+
Bayesian-Agent 把边界定义在两件事上:
158+
159+
- 外部 Agent 需要产出 `TrajectoryEvidence`
160+
- 外部 Agent 能接收 posterior-weighted Skill context
161+
162+
最小 adapter contract 是:
163+
164+
```python
165+
class AgentAdapter(Protocol):
166+
def run(self, task: Mapping[str, Any], skill_context: str) -> Mapping[str, Any]:
167+
...
168+
```
169+
170+
这意味着 GenericAgent、我们后续上传的自研 Agent harness,以及其他 agent frameworks,都可以作为 Bayesian-Agent 的 backend。
171+
172+
我们希望 Bayesian-Agent 成为一个 **Skill evolution substrate**,而不是又一个孤立的 Agent 应用。
173+
174+
## 仓库里现在有什么?
175+
176+
v0.4 已经包含:
177+
178+
- Bayesian Skill registry
179+
- Beta posterior belief update
180+
- failure-mode-aware rewrite policy
181+
- posterior-weighted context builder
182+
- incremental repair utilities
183+
- result summarization CLI
184+
- GenericAgent optional adapter boundary
185+
- trajectory 和 skill belief schema
186+
- SOP-Bench / Lifelong AgentBench 实验 artifacts
187+
- MkDocs 文档站和 GitHub Pages 部署
188+
189+
安装方式:
190+
191+
```bash
192+
git clone https://github.com/DataArcTech/Bayesian-Agent.git
193+
cd Bayesian-Agent
194+
python -m pip install -e .
195+
```
196+
197+
CLI 示例:
198+
199+
```bash
200+
bayesian-agent evolve \
201+
--results artifacts/ga_deepseek_baseline/sop_results.json \
202+
--registry temp/bayesian_skill_beliefs.json \
203+
--context-out temp/skill_context.md
204+
```
205+
206+
Python API 示例:
207+
208+
```python
209+
from bayesian_agent import BayesianSkillRegistry, SkillContextBuilder, TrajectoryEvidence
210+
211+
registry = BayesianSkillRegistry("temp/beliefs.json")
212+
registry.record(
213+
TrajectoryEvidence(
214+
task_id="sop_12",
215+
skill_id="benchmark/sop_bench",
216+
context="sop_bench",
217+
outcome="failure",
218+
failure_mode="xml_wrapped_answer",
219+
input_tokens=70123,
220+
output_tokens=4242,
221+
)
222+
)
223+
224+
print(SkillContextBuilder(registry).render(task_context="sop_bench"))
225+
```
226+
227+
## 和普通 Agent 框架的区别
228+
229+
我觉得可以用一句话概括:
230+
231+
**普通 Agent 框架关注“怎么执行任务”,Bayesian-Agent 关注“执行经验如何被验证、加权、修复、迁移”。**
232+
233+
所以它不是在和 GenericAgent、OpenHands、Claude Code、各类 browser agent 抢同一个位置。
234+
235+
更准确的位置是:
236+
237+
```text
238+
Agent Harness below
239+
Bayesian Skill Evolution above
240+
```
241+
242+
底层 harness 负责执行任务,Bayesian-Agent 负责从执行轨迹中学习,形成可迁移的 Skill posterior。
243+
244+
这也是为什么我们强调 cross-harness adaptation。因为未来真正有价值的 Agent 资产,可能不是某一个 runtime,而是跨 runtime 可复用的 verified operational knowledge。
245+
246+
## Roadmap
247+
248+
接下来我们会继续做几件事:
249+
250+
- 上传我们自己的 Bayesian-Agent harness,让用户不依赖 GenericAgent 也能完整跑 full loop
251+
- 完善更多 agent frameworks 的 adapter examples
252+
- 增加更丰富的 rewrite policy,比如 context-specific split、cost-aware compression、failure taxonomy
253+
- 加入可执行 benchmark runner,方便外部复现实验
254+
- 推进论文版本,arXiv coming soon
255+
256+
## 结语
257+
258+
Agent 的下一阶段,不只是更强的工具调用,也不只是更长的上下文。
259+
260+
更关键的问题是:
261+
262+
**Agent 的经验如何成为可验证、可更新、可迁移的工程资产?**
263+
264+
Bayesian-Agent 给出的答案是:把 Skill/SOP 当成假设,把执行轨迹当成证据,用 Bayesian posterior 管理它们的可靠性和成本。
265+
266+
如果说 prompt engineering 解决的是“怎么问”,context engineering 解决的是“给模型看什么”,harness engineering 解决的是“怎么让模型做事”,那么 Bayesian-Agent 想解决的是:
267+
268+
**做完之后,系统如何真正进化。**
269+
270+
仓库地址:
271+
[https://github.com/DataArcTech/Bayesian-Agent](https://github.com/DataArcTech/Bayesian-Agent)
272+
273+
文档地址:
274+
[https://dataarctech.github.io/Bayesian-Agent/](https://dataarctech.github.io/Bayesian-Agent/)

0 commit comments

Comments
 (0)