madebyayush/AgentOps

GitHub: madebyayush/AgentOps

AgentOps 是一个企业级自主 AI 编排操作系统,通过分层多智能体系统、记忆增强执行与人机协作治理来自动化复杂的企业工作流。

Stars: 1 | Forks: 1

# 🤖 AgentOps — 企业级 AI 编排操作系统 [![CI Pipeline](https://static.pigsec.cn/wp-content/uploads/repos/cas/67/673a2c112abeb043b2257ff2681167fdee7b4d1f054d34d658f8875a531de6de.svg)](https://github.com/madebyayush/AgentOps/actions/workflows/ci.yml) [![FastAPI](https://img.shields.io/badge/FastAPI-005571?style=flat&logo=fastapi)](https://fastapi.tiangolo.com) [![Python Version](https://img.shields.io/badge/python-3.11%2B-blue)](https://www.python.org) [![Database](https://img.shields.io/badge/PostgreSql-4169e1?style=flat&logo=postgresql)](https://www.postgresql.org) [![Cache](https://img.shields.io/badge/Redis-DC382D?style=flat&logo=redis)](https://redis.io) [![Licensed](https://img.shields.io/badge/license-MIT-green.svg)](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绕过, 自动化运维, 请求拦截, 逆向工具