navflow/navflow-cookbooks

GitHub: navflow/navflow-cookbooks

一套对比评测框架,通过在真实故障注入系统上运行相同的 Agent,量化 NavFlow 单一关联查询与提供商原始多工具调用路径在调用次数、轮次、成本和准确度上的差异。

Stars: 1 | Forks: 0

# NavFlow 实战手册 这是对模型提供商(Anthropic、OpenAI 等)发布的 agent 实战手册的配套补充。每一篇都选取一个已发布的 agent,保持其原样,并**仅替换其读取路径**为 NavFlow —— 然后在真实运行的系统上测量差异。 核心在于:按照提供商方式构建的 agent 会在每一步中分散调用许多工具来收集上下文。NavFlow 只需摄取这些源一次,就能向 agent 提供单一的、关联的查询(并且可以在已附加上下文的情况下触发它)。相同的 agent,相同的答案,但调用次数大大减少。 ## 布局 ``` navflow/ ← reusable in-process NavFlow simulation, shared by every cookbook dataplane.py the "dummy" data plane: register sources, define a view, consolidate mcp.py serve a view to the agent as one MCP `query` tool triggers.py the push half: watch a condition, hand back the correlated view platform/ ← the deployable demo system you run agents against app/api_server.py multi-lever fault-injecting API server (FastAPI + Prometheus) docker-compose.yml, prometheus.yml, grafana/ one-command local stack cookbooks/ ← one dir per cookbook 01_sre_incident_response/ Anthropic's SRE agent vs the NavFlow read path ``` `navflow/` 和 `platform/` 只需编写一次,即可被所有实战手册复用。NavFlow 的读取路径运行在**进程内** —— 无需外部服务,因此整个系统是自包含的。创建新的实战手册主要包括:定义其源/视图,将 baseline agent 和 NavFlow agent 指向同一个事件并进行测量。 ## 平台:一个系统,多个可注入的事件 Anthropic 的 SRE 演示仅公开了一个控制参数(DB 连接池大小),因此它只能模拟一个事件。我们的平台保持了同样简洁的 Prometheus 指标格式和 Grafana 仪表板,但 API 服务器公开了多个**独立**的故障,每个故障都有可区分的指标、日志和一个“部署”变更日志条目(即 SRE agent 所需的关联信号): | 事件 | 控制参数 | 表现形式 | |---|---|---| | DB 连接池耗尽 | `db_pool_size` | 连接池耗尽日志,`db_connections_active` 居高不下,`/api/users` 出现 500 错误 | | 延迟劣化 | `inject_latency_ms` | p99 飙升,连接池健康,无错误日志 | | 错误激增(错误部署) | `error_rate` | app-exception 日志,DB 健康 | | 依赖项中断 | `dependency_down` | `dependency_up{...}=0`,`/api/orders` 上出现“upstream unreachable”日志 | 在运行时注入和清除,无需重新部署: ``` curl -XPOST localhost:8080/admin/fault -d '{"lever":"db_pool_size","value":1}' curl -XPOST localhost:8080/admin/fault -d '{"lever":"inject_latency_ms","value":800}' curl -XPOST localhost:8080/admin/fault -d '{"lever":"dependency_down","value":"payments-api"}' curl -XPOST localhost:8080/admin/reset curl localhost:8080/admin/config # the current config an agent inspects curl localhost:8080/admin/changelog # recent "deploys" — the root-cause correlation ``` ## 每本实战手册的对比内容 - **Baseline** —— 提供商的 agent,将每个源都封装为单独的工具(读取路径的扇出)。 - **NavFlow 读取路径** —— 同一个 agent,将其工具替换为一个 `query(view, key, window)`。 - **NavFlow 触发** —— 由 NavFlow 唤醒的 agent,并且已经附加了关联的时间线。 ……所有这些都针对同一个注入的事件,并测量读取调用 / 轮次 / 成本 / 准确度。 ## 状态 - [x] `platform/` —— 多控制参数的故障注入 API 服务器 + docker-compose(Prometheus、Grafana、流量生成器) - [x] `navflow/` —— 可复用的进程内数据平面模拟 + MCP 服务器 - [x] `cookbooks/01_sre_incident_response/` —— baseline + NavFlow agent、触发器、`run.py` / `report.py` - [ ] 更多实战手册(其他提供商 / 用例) 请参阅 [`cookbooks/01_sre_incident_response/README.md`](cookbooks/01_sre_incident_response/README.md) 获取首个演示指南。 ## 许可证 Apache License 2.0 —— 详见 [`LICENSE`](LICENSE)。
标签:AI智能体, API集成, AV绕过, DLL 劫持, FastAPI, MCP, SRE运维, 可观测性, 大语言模型, 故障注入, 版权保护, 自定义请求头, 请求拦截, 逆向工具