如果这个项目对你有所帮助,欢迎点一个 Star,也欢迎通过 Issue 或 PR 参与共建。
一、项目背景
传统大模型可以快速回答问题,但在执行复杂研究任务时,往往会遇到一些更棘手的问题:
- 研究任务持续时间长,执行过程中容易超时或中断;
- 检索、分析、写作和验证之间缺少可靠的闭环;
- 多轮工具调用难以追踪,出现问题后无法准确定位;
- 长报告需要引入大量证据,容易导致上下文膨胀和 Token 耗尽;
- 任务中断后只能重新开始,前面的检索和推理结果无法复用;
- Agent 生成的经验难以长期沉淀,也缺少可靠的评测与准入机制。
为解决这些问题,我开发了 DeepReseach Agent Harness。
这是一个面向复杂研究场景的可恢复多智能体系统,融合了 Deep Research、Agent Harness、持久化运行时、上下文工程、全链路可观测、Agent 评测与受控自进化,支持私域知识库和联网搜索两种信息源,可完成多步骤检索、证据分析、长篇报告生成及结果验证。
二、系统整体架构
系统的核心不是简单调用一次大模型,而是由 Harness Runtime 驱动一套可持续执行、可恢复、可验证的 Agent Loop:
用户问题
│
▼
Context 构建
│
▼
任务规划 Plan
│
▼
DAG 多 Agent 执行 Execute
│
├── 私域知识库检索
├── 联网搜索
├── 页面读取
├── 证据抽取
└── 缺口分析与补充检索
│
▼
Evidence Card 上下文工程
│
▼
分章节报告生成 Report
│
▼
Completion Contract 验证
│
├── 通过 → 输出最终报告
│
└── 失败 → Reflection / Replan / 修复
Agent 并不是按照固定脚本一次性执行到底,而是会根据检索结果、证据缺口和验证结果动态调整后续任务。
三、核心亮点
1. 可恢复的 Agent Harness Runtime
系统构建了持久化 Harness Runtime,对长任务的整个生命周期进行管理。
核心能力包括:
- Session / Run 状态机;
- Worker Lease 与任务占用管理;
- 版本化 Checkpoint;
- 工具调用记录;
- 中断恢复与断点续跑;
- 幂等执行与异常重试;
- Completion Contract 完整性验证。
当模型调用超时、服务异常或程序重启时,系统可以从最近的有效 Checkpoint 恢复,而不需要从头重新执行整个研究任务。
2. Plan--Execute--Report 闭环 Agent Loop
系统采用 Plan → Execute → Report → Verify → Replan 的闭环执行方式。
在 Plan 阶段,系统会将复杂研究问题拆解为带有依赖关系的 DAG 任务图;在 Execute 阶段,不同 Worker 独立执行检索、阅读和分析任务;在 Report 阶段,根据证据和章节路由生成报告;最后由验证模块检查结果是否满足交付要求。
如果验证失败,系统不会直接结束,而是根据失败原因进入 Reflection 或 Replan,例如:
- 引用不完整时补充证据;
- 主张缺乏支持时重新检索;
- 报告结构缺失时定向重写章节;
- 内容存在矛盾时重新核对来源;
- 报告一致性不通过时触发修复循环。
3. DAG 多 Agent 协同
复杂研究任务通常包含多个可以并行或存在依赖关系的子任务。
系统将研究计划转换为 DAG,并根据依赖关系调度不同 Worker:
- 每个 Worker 拥有隔离的执行状态;
- 支持并行检索与分析;
- 上游任务结果可以作为下游任务输入;
- 单个任务失败不会直接破坏整个 Run;
- 支持 Reflection、重试和任务级恢复;
- 工具调用、证据及输出均可追踪到具体任务。
这种设计可以降低多 Agent 之间的状态污染,同时提高复杂任务的执行稳定性。
4. Evidence Card 上下文工程
长篇研究报告往往需要保留大量证据。如果把所有原始网页、工具输出和历史消息反复放入上下文,会迅速造成 Token 膨胀。
本项目没有通过"精选少量证据"解决问题,而是保留全部证据,并将原始内容压缩为结构化的 Evidence Card:
Evidence Card
├── 来源与链接
├── 证据摘要
├── 核心主张
├── 关键数据
├── 时间与适用范围
├── 支持的章节
├── 可信度信息
└── 原始证据追踪标识
在此基础上,系统进一步实现:
- 全量 Evidence Ledger;
- Evidence Card 去重与压缩;
- 章节级证据路由;
- 每章节独立上下文;
- 递归 Map-Reduce;
- 阶段预算与 Token 控制;
- 引用和原始来源回溯。
即使相关 Evidence Card 超出单个章节的上下文预算,系统也不会直接丢弃证据,而是通过递归分组、局部归纳和中间表示进行处理,最后再合并为章节级输入。
5. 持久化与全链路可观测
系统对研究任务的关键状态进行持久化,包括:
- Session;
- Message;
- Run;
- Plan;
- Task;
- Tool Call;
- Evidence;
- Report;
- Completion Contract;
- Checkpoint;
- Memory;
- Skill。
前端通过 SSE 实时接收任务进度、工具调用和阶段结果,避免等待所有工具执行结束后才一次性返回。
系统还提供"白板"功能,用于查看一次任务中的完整链路日志:
用户输入
→ AI 回复
→ 任务规划
→ Worker 执行
→ 工具调用
→ 工具输出
→ 证据生成
→ 报告写作
→ 验证结果
→ Reflection / Replan
这使 Agent 的执行过程不再是不可解释的黑盒,更方便调试、评测和问题定位。
6. Memory 与受控自进化
系统构建了持久化 Memory 和 Skills 上下文体系。
Memory 并不是简单保存完整的 AI 回复,而是通过内容治理形成结构化、可复用的长期记忆,并结合会话摘要、FTS5 历史检索和按需加载,实现跨 Session 的历史召回。
在自进化方面,系统会从验证通过的任务轨迹中提炼 Skill Candidate,但候选 Skill 不会自动进入生产环境,而是经过:
任务轨迹
→ Skill 蒸馏
→ 静态检查
→ 自动评测
→ 人工审核
→ Promote
→ 版本化管理
→ 必要时回滚
这种机制让 Agent 可以持续沉淀成功经验,同时避免未经验证的行为直接影响系统稳定性。
7. Agent 评测与 Completion Contract
系统通过 Completion Contract 对最终结果进行门禁验证,而不是仅凭模型自己判断"任务已经完成"。
当前验证维度包括:
- 引用完整性;
- 主张支持度;
- 最小证据数量;
- 报告一致性;
- 必需章节完整性;
- 来源多样性;
- 证据覆盖率;
- 交付结果完整性。
只有全部门禁通过,任务才会被标记为完成;否则系统将进入针对性的修复流程。
四、上下文优化效果
在固定回放评测中,系统使用了 58 条证据、5 个报告章节,并对优化前后的上下文消耗进行了对比。
| 指标 | 优化效果 |
|---|---|
| 累计上下文暴露量 | 降低 93.58% |
| 跨章节重复证据注入 | 降低 80.00% |
| 单章节最大证据上下文 | 降低 97.48% |
| 真实链路 LLM Token | 降低 19.23% |
| 输入 Token | 降低 22.28% |
| LLM 调用次数 | 降低 34.15% |
| 执行时间 | 降低 9.29% |
| 全量证据覆盖率 | 100% |
同一研究任务在优化前消耗约 201,773 Token ,最终因超过 200,000 Token 预算而失败;引入 Evidence Card、章节路由及递归 Map-Reduce 后,任务以约 162,980 Token 完成。
最终生成报告约 28,079 字符,Completion Contract 全部门禁通过。
这说明上下文优化并不是简单删减信息,而是在保留全部证据可追溯性的前提下,减少重复注入和无效上下文传递。
五、支持的研究模式
项目目前支持两类主要信息源。
私域知识库模式
适合企业资料、内部文档、专业知识库等场景。
系统通过实体抽取与消歧、Leiden 社区划分和分层摘要构建多层知识图谱,并结合:
- Chunk 向量检索;
- Community 全局检索;
- 图谱关联分析;
- 证据级来源追踪。
形成 Hybrid GraphRAG 检索能力。
联网研究模式
适合需要获取公开资料、最新信息和多来源证据的研究任务。
系统支持:
- 搜索引擎检索;
- 网页内容读取;
- 多轮迭代搜索;
- 来源去重;
- 缺口分析;
- 矛盾检测;
- 引用追踪;
- 报告生成与验证。
六、适用场景
DeepReseach Agent Harness 可以用于:
- 行业研究报告;
- 技术调研与竞品分析;
- 医学及生命科学资料研究;
- 企业私域知识库问答;
- 政策与市场信息分析;
- 学术资料整理;
- 长周期、多阶段的复杂 Agent 任务;
- Agent Harness、Memory、Skill 和上下文工程研究。
七、项目价值
这个项目关注的不只是"让大模型生成一篇报告",而是如何把一个长时间运行、包含大量工具调用和证据处理的 Agent 系统真正工程化。
系统希望解决以下问题:
- Agent 如何持续可靠地运行;
- 任务中断后如何恢复;
- 多个 Agent 如何安全协作;
- 大量证据如何进入有限上下文;
- 每一个结论如何追溯到来源;
- Agent 的行为如何被观察和调试;
- 最终结果如何通过确定性的门禁验证;
- 成功经验如何沉淀为可评测、可回滚的 Skill。
八、开源地址
项目已经在 GitHub 开源:
如果你对以下方向感兴趣:
- Deep Research;
- Multi-Agent;
- Agent Harness;
- GraphRAG;
- 上下文工程;
- Agent Memory;
- Skill 自进化;
- Agent Evaluation;
- 长任务恢复与可观测性;
欢迎到 GitHub 查看项目。