彭展玮
返回项目列表

Project

NovaMind 可审计深度研究 Agent 内核

可审计深度研究 Agent 内核(v3.0.0 架构重构):自研异步状态机替代 LangGraph,五钩子横切中间件,五层长期记忆,三组件零信任沙箱,三层技能自进化,多 Agent 委派,LLM 链式降级。

PythonAsyncIOLangChainAgentSQLiteMCP
NovaMind 可审计深度研究 Agent 内核 - novamind run · 三协程交互对话

novamind run · 三协程交互对话

1 / 2

Architecture

分层架构

01CLI + GUI 入口Typer · config / run / gui / monitor / doctor入口02三协程编排user_input · agent_worker · pacemakerEventBus 队列03自研状态机agent ⇄ tools 循环 · max_iter=50 · __limit__ 事件替代 LangGraph04五钩子中间件before/after agent·model · wrap_tool_call横切可插拔05上下文治理token 预算 · P0-P5 分段舍弃 · Context Pack控成本06五层长期记忆衰减懒计算 · BM25 强化写回 · 后台沉淀跨会话07技能 + 多 Agent37 技能自进化 · Git 棘轮 · pi 委派扩展面08LLM 链式降级ModelRouter · 只切瞬时错误 · 链尾兜底高可用09三组件沙箱Runtime · PathTranslator · SecurityGuard零信任10持久化 + 可观测SQLite 记忆 · 优先级审计日志 · Token 追踪可追溯

自上而下分层 · 虚线框为核心自研模块(状态机 / 协程编排 / 沙箱)

解决的问题

现成 Agent 框架在决策链路、成本统计与会话状态上偏黑盒、难调试。做一个每个模块都能独立验证的可审计 Agent 内核。

个人职责

独立设计:自研异步状态机引擎、五钩子中间件架构、五层长期记忆、三组件沙箱、三层技能自进化、多 Agent 委派、链式降级与 P0-P5 上下文治理。

技术栈

Python 3.10+ · AsyncIO · LangChain · Typer · SQLite · JSONL · Rich · pywebview · jieba · MCP · Pytest

Outcomes

成果一览

572常规测试全绿unit 510 + integration 53 + 9 审查回归 · 0 failed
19/19真实 LLM 验收DeepSeek · 功能验收 34 用例
81%覆盖率三轮 66% → 81% · CI 底线 78
0策略违规13 次连续工具调用 · 真实 LLM 验证

Self-Evolution

技能自进化闭环

v3.0 核心亮点 · 技能不只是存储,还能自己变好,且只进不退

L1 · Store

存储与选择

  • SQLite 存储 + 版本 DAG + 四计数器(选择/应用/完成/回退)
  • LLM 混合选择:按任务语义匹配技能
  • 37 个内置技能(全英文)

L2 · Evolve

只进不退的变异

  • 应用率跌破阈值触发:五问诊断 → LLM 重写技能文本
  • 分数门槛:变异后分数更高才通过
  • Git 棘轮机制:一旦退化自动回滚

L3 · Evaluate

三层评估回灌

  • 逐技能逐任务判定是否被应用
  • 四维加权打分:准确 0.50 / 完整 0.35 / 效率 0.05 / 深度 0.10
  • 响应契约检查:从技能文本提取规则校验输出

退化信号回灌 L2 · 触发再进化

RuntimeTracker 持续跟踪技能应用率趋势,发现退化信号就回灌给 L2 触发新一轮进化——评估不只是打分,而是进化的燃料。进化开关默认关闭(启动时提醒),避免不可控变更。

Trade-offs

取舍决策

选择

自研异步状态机替代 LangGraph

放弃

现成编排生态

因为

条件路由 + 循环上限完全可控,核心循环保持薄

选择

链式降级只切瞬时错误

放弃

任何错误都自动切换 provider

因为

鉴权错误换谁都不行,还会把密钥泄露给错误 provider

选择

技能进化配 Git 棘轮回滚

放弃

变异即生效的激进进化

因为

分数门槛 + 自动回滚保证只进不退

可继续追问

  • ?五层长期记忆各自管什么?
  • ?技能自进化怎么保证只进不退?
  • ?多 Agent 委派与共享沙箱如何工作?
  • ?链式降级为什么只切瞬时错误?
向 AI 分身提问