madebyayush/AgentOps
GitHub: madebyayush/AgentOps
AgentOps 是一个企业级自主 AI 编排操作系统,通过分层多智能体系统、记忆增强执行与人机协作治理来自动化复杂的企业工作流。
Stars: 1 | Forks: 1
# 🤖 AgentOps — 企业级 AI 编排操作系统
[](https://github.com/madebyayush/AgentOps/actions/workflows/ci.yml)
[](https://fastapi.tiangolo.com)
[](https://www.python.org)
[](https://www.postgresql.org)
[](https://redis.io)
[](LICENSE)
AgentOps 是一个自主的企业级操作系统,旨在管理和编排具有弹性的多 Agent 认知网络。它建立了一个强大且安全的基础设施,能够路由 workflow 流量,通过 MCP 适配器动态执行工具调用,管理复杂的情节和长期 vector 记忆,执行细粒度的基于角色的访问控制(RBAC),以及检测实时操作故障。
## 🗺️ 架构 Monorepo 蓝图
```
AgentOps/
├── apps/
│ ├── ui/ # React + Vite + TS Frontend Dashboard (Glassmorphism design)
│ ├── api-gateway/ # FastAPI Main Gateway entrypoint (Auth, middleware, & routes)
│ └── agent-runtime/ # Asynchronous Python cognitive engine & Kafka execution loop
├── packages/
│ ├── shared-types/ # Pydantic + TypeScript shared schemas & data contracts
│ ├── memory/ # Memory subsystems adapters (Qdrant, Pinecone, Redis)
│ ├── tools/ # Registered actions registry and MCP adapters
│ ├── observability/ # OpenTelemetry traces SDK configurations (Jaeger, Prometheus)
│ └── security/ # Auth, RBAC clearances, and dynamic PII redaction middleware
├── infra/
│ ├── docker/ # Multi-stage production Dockerfiles per service
│ ├── k8s/ # Kubernetes Deployment, Service, and HPA descriptors
│ └── terraform/ # IaC VPC network, RDS database, and ElastiCache modules
├── scripts/ # PowerShell and shell environment bootstrapping utilities
├── tests/ # Monorepo E2E integration and flow tests
├── .env.example # Exhaustive templates for third-party keys & database URIs
├── docker-compose.yml # Local development stack (Postgres, Redis, Kafka, Qdrant, etc.)
└── README.md
```
## 🚀 第一阶段后端完成
核心 Backend 和 Database 结构已完全实现、优化并验证:
### 1. 强大的关系型 Schema(通过 SQLAlchemy 2.0 Async 使用 PostgreSQL)
- **`Agent`**:已注册的模型配置和模型超参数。
- **`Run`**:跟踪执行流水线(排队中 → 运行中 → 已完成/失败)。
- **`MemoryEntry`**:管理命名空间隔离的短/长期语义输入。
- **`Tool`**:动态配置的工具、参数 schema 以及 MCP 绑定。
- **`Workflow`**:DAG 节点-边缘配置和状态版本跟踪。
- **`HitlRequest`**:Human-in-the-loop 待批准门控(阻塞运行决策)。
- **`AuditLog`**:用于操作行动的不可变、按顺序的安全跟踪。
- **`Incident`**:异常、SLA 违规和故障修复记录。
### 2. 高性能 Middleware 堆栈
- **`Auth Gate`**:双层验证,支持高安全性 JWT 验证(通过 `jose`)以及备用哈希 API-key 标头验证。
- **`Sliding Window Rate Limiter`**:快速的、由 Redis Sorted Sets 驱动的速率限制跟踪器,针对每个用户、每个 endpoint 存储桶执行。
- **`PII Redactor`**:扫描传出 JSON 响应中的电子邮件、电话号码、SSN、信用卡和 API-key 的 Middleware,自动清理日志文件。
## 🧠 第二阶段异步认知 Runtime 引擎(LangGraph 引擎)
核心异步认知 Agent 执行循环已完全构建、优化并测试:
### 1. 状态驱动的编排(LangGraph & StateGraph)
- **`AgentState` TypedDict**:管理线程安全的执行变量(包括记忆上下文、计划、当前执行步骤、工具调用历史以及 Human-in-the-loop 待批准标志)。
- **核心抽象(`BaseAgent`)**:标准化的 Agent 接口,包含 `think`(规划)、`act`(执行)和 `reflect`(评估)步骤,实现标准 ReAct 循环。
- **异步执行循环(`AgentRuntimeEngine`)**:处理从 Redis 队列中提取的运行,并发调度认知执行 workflow,并协调 pub/sub 遥测通知。
### 2. 多 Agent 与工具沙盒执行层
- **沙盒化工具运行器**:具有限制安全措施的安全执行环境:
- `CodeRunnerTool`:基于子进程的 Python 沙盒,具有 CPU/RAM 执行限制和 10 秒超时。
- `FileReaderTool`:阻止路径遍历的读写器,限制在 workspace 边界内。
- `WebSearchTool`:通过 SerpAPI 适配器进行动态网络搜索查询。
- `SqlRunnerTool`:只读 Postgres 查询,带有显式的 DML/DDL 黑名单。
- **分层认知团队**:将协调器、专家 Agent 和微型工作者构建为多 Agent 团队(`ResearchCrew`、`DevOpsCrew`、`FullStackCrew`),并具备自动化的多视角辩论逻辑。
### 3. 容错与记忆系统
- **双层记忆客户端**:将即时情景检索(通过 Redis)与语义搜索(在开发环境中为存根;已支持 Pinecone)集成。
- **自我纠正与门控批准**:实现对 schema 的验证和逻辑验证。故障安全路由在升级至 Human-in-the-loop (HITL) 检查点之前会触发自动重试(最多 3 次)。
## 💾 第三阶段 — 多层记忆子系统
一个全面的四层记忆系统,专为 Agent 上下文、会话历史、执行持久性和自我改进工具而设计:
### 1. 语义与情景记忆层
- **语义记忆(长期)**:使用 OpenAI 的 `text-embedding-3-small` (1536 维) 模型连接到真实的 Pinecone Serverless 数据库(`agentops-memory` 索引)。在离线/开发模式下,它会自动启用带有精确余弦相似度计算和确定性 embedding 存根的 `InMemoryVectorStore`。
- **情景记忆(短期)**:实现快速 Redis 列表以捕获并限制每个 Agent 命名空间的最近 **20** 次交互,并配备用于遥测 pub/sub 事件跟踪的持久 Redis Streams 日志记录器。
### 2. 工作与程序记忆层
- **工作记忆(持久化)**:在运行边界使用 `orjson` 将完整的 `AgentState` 快照序列化到 Redis 中,默认 **24 小时 TTL**,提供崩溃恢复和 REST 检查 endpoint。
- **程序记忆(自我改进工具)**:集成 PostgreSQL 工具执行日志记录。跟踪调用次数、失败率和执行延迟。具备 **自动禁用策略**,对于错误率超过 **30%** 的任何工具将自动禁用(在 **10 次调用**的最小样本量之后进行评估)。
### 3. 集成 RAG 流水线
- 结合语义检索(前 10 个块)、Cross-Encoder 重排序(通过 Cohere / 得分透传前 5 个相关性),以及带有块级审计引用的系统 prompt 上下文注入。
## 🛠️ 开发者速度与测试引擎
为了保持高开发速度,我在 `apps/api-gateway` 下引入了专门的开发者测试工具:
### 1. 样板 Mock 库(`tests/boilerplate_mocks.py`)
代表关键企业支柱的即用型、类型化的内存 Mock:
- `MockAsyncSession`:SQLAlchemy 异步会话 Mock。
- `MockRedisClient`:内存异步 Redis 缓存和 pub/sub 代理。
- `MockLLMClient`:现代 OpenAI `AsyncOpenAI` 客户端补全存根(`chat.completions.create`),无需 API key 即可返回合规的补全。
- `MockKafkaBroker`:跟踪消息分发的事件总线 Mock。
### 2. 自动化 AST Pytest 脚手架 CLI(`scripts/generate_pytest.py`)
读取任何 FastAPI 路由并立即搭建健壮的 pytest 套件:
```
python scripts/generate_pytest.py --router apps/api-gateway/app/routers/tools.py
```
这会在 `tests/` 文件夹下自动生成 `test_generated_tools.py`,用于检查成功状态(200/201)、身份验证门控(401)和 Pydantic 验证失败(422)。
## 🧪 运行测试套件
所有服务都通过了单元测试和集成测试的全面测试,旨在通过利用内存/Mock 工具(如 SQLite、`fakeredis` 和 API 客户端存根)与实时后端隔离运行。
### 1. API Gateway 测试套件 (FastAPI)
1. 导航到 API gateway 目录:
cd apps/api-gateway
2. 安装测试依赖项:
pip install -r pyproject.toml
3. 运行 API 测试用例:
python -m pytest tests/ -v
### 2. Agent Runtime 测试套件(LangGraph & Memory)
1. 导航到 agent runtime 目录:
cd apps/agent-runtime
2. 安装依赖项:
pip install -r pyproject.toml
3. 运行记忆和引擎测试用例:
python -m pytest tests/ -v --asyncio-mode=auto
*(注意:本地将通过 150 个测试。如果本地未运行 Postgres,将跳过 3 个 PostgreSQL 集成测试;这些测试将在 CI 中完整运行。)*
## 🌐 本地开发基础设施设置
1. 启动开发者依赖集群:
docker compose up -d
2. 设置并监控 monorepo 服务:
npm run dev
*服务映射:* PostgreSQL (`5432`)、Redis (`6379`)、Kafka (`9092`)、Qdrant (`6333`)、Jaeger (`16686`)、MinIO (`9000`)、Grafana (`3000`)。
标签:AI编排, API集成, AV绕过, FastAPI, LangGraph, PyRIT, 人工智能, 可观测性, 多智能体系统, 子域名突变, 搜索引擎查询, 测试用例, 用户代理, 用户模式Hook绕过, 自动化运维, 请求拦截, 逆向工具