内容
<p align="center">
<img src="docs/assets/auditpilot-logo.svg" width="108" alt="审计试点 logo" />
</p>
<h1 align="center">审脉 AuditPilot</h1>
<p align="center">
面向审计交付场景的企业级 AI Agent 工作台:把 RAG 取证、控制映射、工具治理、评测门禁和人工复核放进同一条可追溯工作流。
</p>
<p align="center">
<img alt="Python" src="https://img.shields.io/badge/Python-3.10%2B-3776AB?style=flat-square&logo=python&logoColor=white" />
<img alt="FastAPI" src="https://img.shields.io/badge/FastAPI-Agentic%20Backend-009688?style=flat-square&logo=fastapi&logoColor=white" />
<img alt="RAG" src="https://img.shields.io/badge/Agentic_RAG-Evidence_Grounded-0F766E?style=flat-square" />
<img alt="Evaluation" src="https://img.shields.io/badge/Eval_Harness-Release_Gate-2563EB?style=flat-square" />
<img alt="Secrets" src="https://img.shields.io/badge/Secrets-Not_Committed-10B981?style=flat-square" />
</p>

## 为什么选择 AuditPilot
很多 Agent 项目停留在聊天框或 Demo。AuditPilot 选择一个更“硬”的落地场景:企业审计交付。它需要证据、控制、风险、复核、报告和整改闭环,也天然要求可追溯、可回归、可解释。
AuditPilot 的目标不是替代审计师,而是把审计师反复执行的取证、映射、检查、补证和交付动作,组织成一套可治理的 Agent 工作流。
## 功能介绍
| 模块 | 能力 |
| --- | --- |
| 审计工作空间 | 审计立项、控制矩阵、审计程序、抽样计划、发现、整改和交付包。 |
| Agent 运行环境 | Plan / Execute / Reflect、任务产物、失败恢复、安全门和运行指标。 |
| Agentic RAG | 知识写入、切块、检索、来源引用、证据质量门和缺证提示。 |
| 技能 / MCP 风格工具 | 工具 Schema、权限声明、TTL 缓存、熔断器、调用日志和工具指标。 |
| 记忆 | 工作 / 情景 / 配置记忆,保留多轮审计上下文。 |
| 评估框架 | Agent / RAG / Research 评测、基线对比、release gate 和 badcase 沉淀。 |
| 面试驱动的诊断 | 将大厂 Agent 面经/JD 中常问的 Runtime、RAG、Tool、Memory、评测和生产化问题转成可执行诊断。 |
## 截图
| 审计工作空间 | Agent 运行环境 |
| --- | --- |
|  |  |
| Agent 协作 | 移动端首页 |
| --- | --- |
|  |  |
## 架构
```text
审计请求
-> 混合意图路由器
-> 工作 + 情景 + 配置记忆
-> 计划 / 证据 / 控制 / 风险 / 合规 / 整改 Agent
-> Agentic RAG + 知识图谱 + 技能 / MCP 风格工具
-> 安全门 + 反思 + 人工复核
-> 审计仓库 + 评估基准 + 交付包
```
设计边界:
- LLMs 帮助理解、总结和解释。
- 证据缺口、质量门、权限、风险信号和交付状态保持可审计。
- 高风险或低置信度输出被路由到证据补充和人工复核。
## 快速开始
```powershell
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
Copy-Item config.env.example config.env
python start.py
```
系统可以在无模型密钥的情况下以确定性回退模式运行。仅当您需要 LLM 增强分析时,请添加 OpenAI 兼容的提供商。
## 安全
不要提交真实的 API 密钥。
- 将本地密钥放在 `config.env` 中。
- 在部署时使用平台密钥。
- `config.env`、`.env*`、运行时数据、日志、模型工件和本地数据库被 Git 忽略。
- 示例配置文件仅使用占位符。
## 验证
```powershell
.\.venv\Scripts\python.exe -m compileall -q agents services rag web tests scripts
.\.venv\Scripts\python.exe -m unittest discover -s tests -p "test_*.py"
```
当前测试涵盖意图路由、记忆压缩、技能验证/缓存、运行时反射、评估回归、自进化框架、质量诊断和全局搜索。
## 项目布局
```text
agents/ 审计 Agent 链和控制库
services/ 运行环境、记忆、路由器、技能、安全、评估、交付
rag/ Agentic RAG 和持久化知识库
knowledge_graph/ 可选图谱构造和 Neo4j 适配器
training/ 评估和离线训练入口
web/ FastAPI 应用和 API
templates/ + static/ 产品 UI
tests/ 回归测试
docs/ 项目存档、面试材料和截图
data/ 本地运行时数据,大部分被 Git 忽略
```
## 现实笔记
- 运行记录、工具调用、评估、记忆和审计案例由真实代码生成并本地持久化。
- 未测试的吞吐量、准确性或可用性声明不会作为项目事实呈现。
- SFT / RLHF 风格的模型训练被视为离线扩展;Web 应用专注于工作流、评估和数据准备。