Calcifer Calcifer 2 Calcifer 3 Calcifer 4
Teg

一个面向开发、测试与运维的多智能体协作系统

2026/04/13 17:43 4 次阅读 王梓
打赏
✸ ✸ ✸

一个面向开发、测试与运维的多智能体协作系统

多 Agent 协作 · 可观测数据 · 工程实践|架构解读,接口与配置以实际部署为准

一句话概括:这是一套多智能体协作的可观测助手——开发、测试、运维都能用:你用自然语言提问 → 一个主管 Agent 理解问题后,分派给多位专家 Agent(查链路、查指标、查日志、查 K8s、查数据库)→ 各自去对应数据源拿证据 → 最后汇总成一份带结论的报告。

一、能力全景:它能做什么?

核心能力:用一句人话描述你的故障或分析目标,系统自动完成「理解意图 → 调度合适的专家 → 查询各类数据源 → 输出带证据的结论」这一整条链路。

1.1 它能帮我们做哪些事?

能做什么怎么做的优先级
Apdex 下降 / 性能退化根因分析 自动串联链路追踪 + 指标数据,定位是哪个服务、哪个接口、哪条 SQL 变慢了 P0 核心能力
值班告警快速分析(RCA) 收到告警后自动关联错误日志、异常 Trace、相关指标,给出可能根因和排查建议 P0 核心能力
多源指标联合查询 同时对接 Prometheus 和 AWS CloudWatch,按需查询 CPU、内存、延迟、连接数等 P0 核心能力
Kubernetes 集群诊断 查看 Pod 状态、容器事件、重启原因、资源水位等(需要 K8s 环境支持) P1
MySQL 数据库分析 查看表结构、索引情况,结合链路中的慢查询定位缺索引或锁等待问题 P1
OpenSearch 索引健康度 检查日志/链路索引的体量分布、Top 服务、字段基数等 P1
日志检索与告警解析 按服务名、TraceID、关键词搜索日志;解析告警内容并联动其他数据源 P1
IM / ChatOps 对接 通过 HTTP API 一问一答,可接入飞书、钉钉、Slack 等 IM 机器人或定时巡检任务 P1
Web UI 多轮对话 浏览器里直接聊天式交互,支持会话历史、标题自动生成 P1

1.2 有哪些使用入口?

入口方式适合什么场景特点
命令行(CLI) SRE 本地排障、脚本化批量查询 启动快、单次提问或交互模式,适合开发调试
Web UI(HTTP 服务) 日常使用、多人共享、产品化界面 长驻进程、流式输出、支持多轮对话与会话管理
无状态 HTTP API IM 机器人、定时任务、工单系统回调 一问一答 JSON 格式,无需维护服务端会话状态
💡 典型调用示例
  • CLI:python main.py "分析过去30分钟 svc-a 的 Apdex 与错误率趋势"
  • API:POST /api/v1/ask,Body 为 {"query":"...", "thread_id":null}
  • UI:浏览器打开 Web 服务监听的地址与端口(由部署配置或环境变量指定),在对话框中直接输入问题

先看一张全局图,了解「谁指挥谁、数据从哪来」:

核心架构:主管调度专家 · 双通道获取信息 左侧「数据通道」访问线上系统;右侧「知识通道」读取本地文档 Supervisor 主管 派活 · 汇总 · 多轮对话 ↓ 调度多名专家 Agent ↓ 🔍 链路专家 📊 指标专家 📋 日志专家 ☸️ K8s 专家 🗄️ DB专家 更多… 每位专家都有两类「武器」: 🔧 数据通道 — 真正访问线上系统的工具 Native 原生工具:用 SDK 直连 OpenSearch / MySQL 等,返回聚合后的结果 MCP 协议工具:走标准化远程调用,接入 Prometheus / K8s / CloudWatch ⚡ 这两类都会真正请求线上数据! 📚 知识通道 — 只读本地文档 按需加载 Markdown 说明书(PromQL模板、K8s排障步骤…) 本质是把「运维手册」按页塞给 AI 帮它写得更专业 ⚠️ 不等于查 Prometheus!那是左边的数据通道 📖 本地 .md 文件 ↓ 底层数据源(仅数据通道可达)↓ OpenSearch Prometheus Kubernetes MySQL CloudWatch

二、三种入口方式:同一套大脑,不同门铃

不管你从哪个入口进来,背后都是同一套「Supervisor + 专家 Agent」。区别只在于:有没有浏览器界面、要不要保存会话历史

三种入口 → 同一套编排引擎 1 💻 CLI 终端 单次提问 / 交互调试 最快上手,适合脚本和本地排查 uv run python main.py 2 🌐 Web UI + 流式输出 浏览器多轮对话 保存会话、生成标题、CopilotKit 端口依部署配置 3 🔌 无状态 API 一问一答 JSON 飞书/钉钉机器人、Cron、工单回调 POST /api/v1/ask Supervisor + 专家 Agent LangGraph 编排引擎
对比维度CLI 终端Web UI(HTTP 服务)无状态 API
对话记忆内存暂存(进程退出即丢失)PostgreSQL 持久化,跨重启保留无(每次独立)
适用对象开发者、SRE 排障普通用户、日常使用机器人、自动化流水线
输出格式终端文本流式富文本 + 会话列表JSON 结构化响应
会话管理列表 / 创建 / 标题生成 / 删除可选返回 thread_id 关联

三、技术栈一览

下面列出这套系统用到的关键技术选型——不需要背,了解大致方向即可。若你对「LangChain / LangGraph」完全陌生,建议先看下一小节再用表。

3.0 读表前先懂:LangChain、LangGraph、MCP 都是什么?

这些名字听起来像「框架全家桶」,可以先用生活里的比喻理解,再对照下表:

  • LangChain:可以理解为一套搭 LLM 应用的积木库。它帮你把「接大模型、接工具、拼 Prompt、跑多步对话」这些重复劳动封装好,避免事事自己写 HTTP、自己解析返回。本系统中的主管、各位专家,本质上就是用这类库拼出来的「会调工具的对话代理」。
  • LangGraph:是在 LangChain 生态里偏流程与状态的一层——把一次用户请求想成一张有向图:节点里做事(例如调用 Supervisor),边上决定下一步,并且能把多轮对话、checkpoint(检查点)存进数据库,服务重启还能接着聊。简单说:LangChain 偏「零件怎么拼」,LangGraph 偏「拼好的流水线怎么长期跑、怎么记会话」。表里写「LangChain + LangGraph」,就是指底层用 LangChain 建 Agent,部署形态上用 LangGraph 管编排与持久化(和「只在命令行跑一单」的用法侧重点不同)。
  • MCP(Model Context Protocol):可以理解为给外部工具准备的「标准 USB 口」。Prometheus、Kubernetes、云监控等只要提供符合 MCP 的服务端,应用就能用同一套发现与调用方式去用这些工具,而不必为每个系统各写一套专用适配代码(具体仍要部署和配置 MCP Server)。
  • CopilotKit 与 AG-UI:浏览器里聊天界面常用的一层——AG-UI约定流式事件(例如「正在推理」「正在调工具」),CopilotKit提供前端组件/适配,让页面像聊天产品一样逐字流出,而不是干等一整块 JSON 返回。
  • ReAct:一种行为模式,不是单独产品——Reasoning(想一步)+ Acting(动一手,例如调工具),看结果再决定要不要继续,循环直到能回答用户。
一句话串起来:用 LangChain 做出「会调工具的专家」;用 LangGraph 在 HTTP 服务里把多轮对话和状态可靠地跑下去;用 MCP 把 Prometheus / K8s / 云监控接到同一条工具总线上;用 CopilotKit + AG-UI 让浏览器端像聊天一样流式展示
层级技术方案在这套系统里的角色
AI 编排框架LangChain + LangGraph构建多 Agent 协作流程(Supervisor 模式)
工具协议MCP(Model Context Protocol)标准化连接 Prometheus / K8s / CloudWatch
状态管理LangGraph Checkpoint多轮对话记忆(优先 PostgreSQL,可回退内存)
配置管理Pydantic Settings从环境变量读取;本地开发可用 .env,生产敏感项建议由 AWS Secrets Manager 托管后再注入
可观测性Langfuse记录每次 Agent 决策和工具调用,方便事后复盘
链路数据源OpenSearch(原生 SDK 直连)分布式追踪、日志检索
指标数据源Prometheus / CloudWatch(经 MCP)时序指标查询
集群数据源Kubernetes API(经 MCP)Pod / Event / 日志
数据库元数据MySQL(原生 SDK 直连)表结构、索引信息
Web 服务FastAPI + CopilotKit(AG-UI)流式对话前端 + REST API 后端

四、核心架构展开:Supervisor 如何指挥专家

4.1 什么是 Supervisor 模式?

在多 Agent 架构里有几种主流的组织方式。这里采用的是 Supervisor(主管)模式——你可以把它类比成一个项目经理

  • 主管自己不干活——不直接查数据库、不写 PromQL、不调 K8s API
  • 主管的职责只有三件事:听懂你的问题 → 决定叫哪位专家 → 把各位专家的答案汇总成报告
  • 每位专家都是「独立的大脑 + 自己的工具箱」,互不干扰

为什么选这种模式?有三个关键优势:

  • 上下文隔离:每个专家有自己的「人设」和工具集,不会互相污染思维窗口
  • 防溢出:专家返回的结果超过长度上限时自动截断,不会撑爆主管的上下文
  • 好扩展:新增一种专家 = 新增一个 Agent + 几个工具函数,主管的路由规则几乎不用改

4.2 Supervisor 的工作流程(ReAct 循环)

Supervisor 采用业界常见的 ReAct 模式(Reasoning + Acting):先推理再行动——模型先想「该派谁」,再真正去调专家工具,看到结果再决定要不要继续派别人。上面第三节里说的 LangChain,在这里就是支撑这种循环的常用运行时之一。下面用一张图把循环画清楚:

Supervisor 工作流程:推理 → 行动 → 观察 → 再决定 ① 接收你的问题 "分析 svc-a 的 Apdex 为什么下降" ② LLM 推理判断 决定先调哪位专家 ③ 调用专家 Tool ask_traces_expert(...) ④ 拿到结果 专家的分析报告 需要更多信息?继续调用其他专家 ↺ ⑤ 综合输出最终报告 中文根因 + 证据链 + 建议 📋 实战案例:RDS 慢查询导致 Apdex 下降 ① 你问:"svc-a 今天 Apdex 只有 84%,什么情况?" ② Supervisor → 先让 链路专家 查最近 30 分钟的异常 Trace ③ 链路专家回报:"db-query 这个接口平均耗时 2.5s,涉及 RDS db-inst-1" ④ Supervisor → 再派 指标专家 查该 RDS 的 CPU 和连接数 ⑤ 指标专家回报:"CPU 95%、连接池已满、读取延迟从 2ms → 50ms" 💡 根因:缺联合索引 → 全表扫描慢查询 → 连接池满 → RDS CPU飙升 → 延迟增加 → Apdex下降 ✅ 建议:添加(user_id,status)索引 | 优化慢SQL | 扩容或调整连接池
💡 工程保护措施
  • 调用次数上限:防止死循环(比如专家A调专家B再调回A)
  • 结果截断:单个专家回复超过约 8000 字符时自动精简
  • 可观测性透传:Langfuse 追踪 ID 随请求向下传递,整条链路可在平台复现

五、六大专家 Agent 各司其职

目前系统内有六位专家 Agent。它们的关系可以这样理解:

六位专家的能力矩阵 专家名称 负责什么数据 手里有什么工具 特殊本领 一句话概括 🔍 链路专家 OpenSearch trace_error_summary(概要统计) trace_samples / trace_by_id(详情) 分层查询策略 从宏观到微观逐步深入 📊 指标专家 Prometheus CloudWatch execute_range_query (MCP) get_metric_data (MCP) PromQL 技能加持 写查询前先查说明书 ☸️ K8s 专家 Kubernetes API pods_list / events_list (MCP) pods_get / pods_log (MCP) 轻量级(无中间件) 只看不动,安全只读 🗄️ DB 专家 MySQL get_mysql_indexes get_mysql_tables 从链路提取 DB 连接信息 🔎 索引专家 OpenSearch get_index_stats top_services / attributes 摘要+限流 索引体量与分布分析 📋 日志专家 OpenSearch analyze_alarm / search_logs_* 轻量级 告警解析 + 日志搜索

5.1 链路专家的分层查询策略(设计精华)

这是整个系统中最值得讲的设计。核心理念:别一次性把所有数据塞给 AI,而是像剥洋葱一样一层层深入

分层查询:从宏观到微观,省 Token 又精准 第一层:Summary 概要 只返回统计数据 —— 错误类型分组、Top N 异常接口、延迟分布 💰 约 500 字符 | 500 条 Trace → 输出 Top 10 错误 📊 ▼ 还需要具体样本?进入第二层 ▼ 第二层:Samples 样本 取 3~5 个代表性 Trace,每个只保留 4 个关键 Span(简化后的) 💰 支持按错误类型过滤 | Span 只保留摘要信息 🔍 ▼ 需要深挖某条 Trace?进入第三层 ▼ 第三层:Details 详情 单条 Trace 完整信息,最多 20 个 Span,含完整错误堆栈 🔬

为什么要这样分层?因为 LLM 的「注意力窗口」(Context Window)是有限的。如果第一层就把几百条原始 Trace 全扔进去,不仅费 Token 还容易迷失重点。先看统计找到方向,再按需取样本,最后才拉详情——整个过程 Token 消耗可控且精准。


六、工具层:两种「武器」的区别

专家们手上的工具分为两大类,理解它们的区别很重要:

Native 原生工具 vs MCP 协议工具 🔧 Native 原生工具 连接方式 Python 进程内 SDK 直连数据库 数据处理 代码内部做聚合/过滤/简化后再返回 适合场景 需要复杂逻辑的查询(如分层统计) • 链路追踪(三层查询) • OpenSearch 索引分析 • MySQL 表结构和索引 • 时间格式智能解析 🔗 MCP 协议工具 连接方式 通过标准协议远程调用 MCP Server 数据处理 Server 端处理后返回结构化结果 适合场景 标准化查询接口的外部系统 • Prometheus 指标查询 • Kubernetes Pod/Event/Log • AWS CloudWatch 云监控 • 可扩展:ArgoCD、Backstage…

一句话区分:Native 工具是自己写的代码,想怎么处理数据就怎么处理;MCP 工具是别人提供的服务端点,只能按它的接口规范来调用。两者可以共存互补。


七、渐进式知识库:不是「查库」,是「翻手册」

7.1 用大白话理解 load_skill

很多人看到架构图里有个 load_skill,会以为它是某种数据库查询。不是的。它做的事情非常简单:

load_skill("http_latency") = 去技能目录里找到 http_latency.md 这个文件,把里面的全文内容原样返回,塞进当前对话上下文。

为什么需要这个东西?因为如果直接把所有运维知识(PromQL 模板、K8s 排障步骤、告警类型说明……)全部写进 System Prompt,Token 窗口瞬间就爆了;但如果不写,AI 写出的查询又经常不靠谱。

所以采用三阶段渐进加载策略:

渐进式技能加载:省 Token、又不瞎编 阶段一:启动时扫描 扫描 skills/*.md 目录 提取文件名 + 第一段简介 存入内存索引(不注入 Prompt) Token 消耗:≈ 0 (只是列了个目录而已) 阶段二:Prompt 注入目录 把技能"菜单"写入 System Prompt - http_latency:HTTP 延迟分析 - k8s_pod:Pod 资源排查 AI 现在知道"有哪些手册可查" Token:≈ 100 字/技能 阶段三:按需加载正文 AI 判断"我需要查 Prometheus" → 调用 load_skill("http_latency") 返回完整 .md 内容: PromQL 模板 + 注意事项 + 示例 Token:仅在用到时消耗

7.2 谁身上挂了哪些"手册"?

角色能翻开的手册目录什么时候用
Supervisor 主管architecture/(组织架构、团队边界、平台说明)需要交代背景信息的时候
MetricsAgent 指标专家promql/(各种指标的查询模板和约束)写 PromQL 查询之前
KubernetesAgent K8s 专家kubernetes/(集群排查套路、注意事项)查 K8s 问题之前
LogAgent 日志专家log/(告警类型说明、日志字段约定)解析告警或搜索日志之前
💡 加新技能超简单:在对应目录下新建一个 .md 文件,写好标题和正文,系统启动时会自动发现它。不需要改任何 Python 代码。这就是「知识库驱动」的好处——运营同学也能参与维护 AI 的「专业知识」。

八、Prompt 工程:每个 Agent 的「人设」

每个专家 Agent 都有一份自己的「人设文件」(System Prompt),里面规定了:

  • 你是谁(角色定位)
  • 你应该先调用哪个工具、后调用哪个(工作流约束)
  • 输出应该是什么格式(结构化要求)
  • 什么事情绝对不能做(禁止行为)
各 Agent 的 Prompt 要点速览 🔄 公共模块:动态时间上下文 Supervisor 主管 • 多专家 Tool 清单 & 职责描述 • 服务名格式规则 • 时间范围强制转换规则 • RDS 分析工作流 ⚠️ 禁止猜测、必须委派专家 Trace 链路 • 分层查询工作流(必须遵守) • RDS 实例标识提取 • MySQL 索引分析 ⚠️ 禁止跳过 Summary 层 Metrics 指标 • 查询预算:最多 6 次 PromQL • 高基数控制(topk 优先) • CloudWatch profile 规范 ⚠️ 写查询前必须 load_skill K8s 集群 • 工具调用顺序(list → event) • 技能加载映射 • 结构化输出要求 ⚠️ 先 list 后 detail

特别设计:时间补全规则

当用户只说了一个时间点(比如「10:00 出的问题」)而不是一个时间段时,Supervisor 会强制将其转换为 [T-10分钟, T+5分钟] 的时间区间再去查询。这避免了 AI 用模糊的「大约在那附近」去碰运气,保证查询结果的准确性。


九、配置与安全

9.1 配置从哪来?

系统采用环境变量优先、配置文件兜底的策略。应用侧只认「环境变量里有什么」,生产环境下敏感取值宜放在 AWS Secrets Manager(或你所在云上的等价密钥服务),由 CI/CD 或 Sidecar/CSI 等在运行时注入,避免进镜像与代码仓库。主要配置分组:

配置组管什么典型例子
大模型API 地址、鉴权信息、模型选择、温度、超时OPENAI_BASE_URLOPENAI_API_KEYMODEL_NAME
OpenSearch主机、端口、访问凭据/TLSOPENSEARCH_HOSTOPENSEARCH_PORTOPENSEARCH_USER
MCP 端点各 MCP 是否启用、地址、认证MCP_PROMETHEUS_ENABLED=trueMCP_KUBERNETES_URL=...
关系型数据库MySQL 元数据查询、PG 用于 checkpointMYSQL_HOSTDATABASE_URL(PostgreSQL 连接串)
可观测性是否启用 Langfuse 及连接信息LANGFUSE_ENABLED=trueLANGFUSE_SECRET_KEY

9.2 安全:敏感信息脱敏

系统在日志输出前会对敏感子串做遮蔽或哈希处理——覆盖常见敏感字段名与模式。生产环境务必开启,避免凭据随排障日志外泄到采集系统或 IM。


十、部署架构:从 Docker 到 Kubernetes

典型的云原生部署路径:CI 构建 → 推送到镜像仓库 → 滚动发布到 K8s

部署架构:CI/CD + Kubernetes 🔨 CI Pipeline Step 1 打包 docker build → registry push Step 2 发布 kubectl apply → rollout restart 📦 镜像仓库 app:latest mcp-server:latest ☸️ Kubernetes 集群 主应用 Deployment Image: app:latest | Port: Service 暴露 资源: 200~500m CPU, 256~512Mi MEM 敏感配置: AWS Secrets Manager → Env MCP Server(侧车/独立) Image: prometheus-mcp:latest 连接内网 Prometheus(环境变量配置) 外部数据源 📊 Prometheus(内网) 🔍 OpenSearch(内网) 🗄️ MySQL RDS(内网) ☁️ CloudWatch(AWS API) 🔭 Langfuse(SaaS)

关键实践

  • 依赖层与业务层分离:Dockerfile 中先安装依赖再拷贝应用代码,利用缓存加速构建
  • 密钥不入镜像:敏感项在生产环境建议统一进 AWS Secrets Manager(或等价密钥服务),由工作负载在运行时拉取或经同步机制映射为环境变量;禁止硬编码进代码或打进镜像。本地开发可用 .env 等,勿提交版本库。
  • MCP 端点可插拔:某个数据源暂时不需要?关掉对应的 MCP 启用开关即可,不影响其他功能

十一、可观测性:全链路追踪

如果开启了 Langfuse(在 Secrets Manager 或安全渠道配置好连接信息即可),可以看到一次完整的用户请求经过的所有环节:

🔭 一次 RCA 分析的全链路追踪示例

用户输入 → Supervisor 推理决策 → 调用 TraceExpert(工具: get_trace_error_summary ×1, get_trace_samples ×1)→ 调用 MetricsExpert(工具: execute_range_query ×2)→ 综合输出报告
↑ 每一步的 Token 消耗、耗时、中间结果都可在 Langfuse 平台查看,便于事后复盘和成本核算


十二、设计原则与演进路线

12.1 五大设计原则

原则在系统中如何体现
减少上下文消耗分层查询、结果截断、技能按需加载、聚合优先于原始数据
安全第一日志脱敏、K8s 只读工具、凭据不进 Prompt、危险操作需人工确认
证据驱动要求「不猜、用数据说话」,必须附带 TraceID / 指标名等证据
易扩展新增 Agent = 加文件 + 注册工具;新技能 = 加 .md 文件;新 MCP = 配置地址
优雅降级某路 MCP 不可用时尽量不影响其他功能;未启用 Prometheus 时不加载 PromQL 技能

12.2 演进路线图

演进路线图:从 MVP 到自动化运维 ✅ Step 1:当前(MVP) ✅ CLI + Web UI + 无状态 API ✅ ReAct 多 Agent + 6 位专家 ✅ Prometheus/K8s/CW 通过 MCP 接入 ✅ OpenSearch 链路 + MySQL 索引 ✅ 渐进式技能系统(load_skill) ✅ Langfuse 可观测性 ✅ K8s 部署 + CI/CD 运行时: LangChain Agent 🔜 Step 2:增强 🔜 Grafana OnCall 集成 🔜 IM / ChatOps 统一入口 🔜 ReAct + Plan 混合模式 🔜 Runbook RAG 支持 🔜 动态模型选择 🔜 持久化 Checkpoint 🔜 E2E 自动化测试 框架升级: LangGraph StateGraph 🔮 Step 3:自动化 🔮 故障自动恢复建议 🔮 Human-in-the-loop 确认 🔮 主动异常检测 🔮 Jira 工单自动创建 🔮 Confluence 日报生成 🔮 ArgoCD 变更审查 框架: LangGraph + 操作确认

从 Step 1 到 Step 2 的最大变化是引入 LangGraph StateGraph,带来几个关键能力提升:

  • Human-in-the-loop:危险操作(如删除资源)前暂停等待人工确认
  • Plan 模式:复杂 RCA 先制定计划再逐步执行,过程透明可控
  • 持久化 Checkpoint:Postgres 存储,服务重启后对话不断

十三、实战演示:一次完整的 RCA 分析

让我们用一个具体的例子把前面所有组件串起来。假设你在值班时收到一条告警:"svc-a 在 prod 环境 Apdex 从 99% 骤降到 84%"

完整 RCA 数据流:Apdex 下降根因分析 ① 你的问题 "分析今天 10:00~10:30,svc-a 在 prod 环境 Apdex 降到 84% 的根因" ② Supervisor 分析意图 → 判断需要「链路分析 + 可能还需要指标分析」 → 决策:先派 🔍 链路专家 ③ 链路专家:分层查询 → Summary:45 条异常 Trace,Top 错误 = "db-query 高延迟(2.5s)" 占 28 次 → Samples:取 3 个样本 → 发现指向 RDS 实例 db-inst-1 → 提取信息:database=db_demo, table=tbl_demo, instance=db-inst-1 ④ Supervisor 继续调度 → 同时派 📊 指标专家 + 🗄️ DB 专家 ⑤ 指标专家:查 CloudWatch → CPUUtilization: 95%(峰值) → DatabaseConnections: 达到上限 ⚠️ ⑤ DB 专家:查索引 → tbl_demo 表:3 个索引 → ❌ 缺少 (user_id, status) 联合索引 ⑥ Supervisor 最终报告 🔑 根因链 缺联合索引 → 全表扫描慢查询 → 连接池满 → RDS CPU飙升 → 延迟增加 → Apdex下降 🔭 Langfuse 全程追踪 Session: sess-a1b2c3 | 调用 3 位专家 | Token / 耗时 / 工具调用树均可查看 💡 建议:添加(user_id,status)联合索引 | 优化慢SQL | 扩容RDS或调整连接池

十四、总结

这类多智能体可观测助手的核心价值可以用一句话概括:让 AI 的推理能力与可观测性工具链结合,关键在于「工具契约清晰、上下文可控、证据可追溯」

🏗️ 多智能体协作Supervisor 模式让各专家各司其职,上下文隔离,Token 可控
🧅 分层查询从宏观到微观逐层深入,避免上下文爆炸
📚 渐进式知识库Prompt 只列技能目录,正文按需加载,新技能只需加 .md 文件
🔗 MCP 标准化集成通过统一协议接入 Prometheus/K8s/CloudWatch,工具可插拔可开关
🛡️ 生产级工程实践Pydantic 配置、日志脱敏、链路追踪、K8s 部署、CI/CD

🎯 上线前建议:结合实际数据模型和安全边界做评审,持续审计 Prompt、工具权限和日志处理规则。先用内部数据跑通全链路,再逐步放开使用范围。

说明:本文为架构与实践解读,文中工具名、环境变量与部署路径仅供对照思路;以你方代码仓库与运行环境为准。

✸ ✸ ✸

📜 版权声明

本文作者:王梓 | 原文链接:https://www.bthlt.com/note/369957528-Teg一个面向开发、测试与运维的多智能体协作系统

出处:葫芦的运维日志 | 转载请注明出处并保留原文链接

📜 留言板

留言提交后需管理员审核通过才会显示