Skip to content

Deepsight

项目概述

  • 目标:Deepsight 旨在探索 “AI for Systems” 的新范式,致力于构建一个高吞吐、低延迟且具备“时间感知”能力的可观测性底座。
  • 动机:现代大语言模型(LLM)虽然具备极其强大的逻辑推理与自然语言处理能力,但它们往往受限于静态知识壁垒。而在面对真实的、瞬息万变的生产环境故障时,如果缺乏对系统底层动态运行状态的实时感知,大模型往往只能给出“放之四海而皆准”的通用排查建议,甚至陷入“幻觉”。Deepsight 正是为了打破这一壁垒而生,通过结合底层的 eBPF(扩展的伯克利数据包过滤器) 无侵入式可观测技术与顶层的 MCP(Model Context Protocol) 标准大模型接口,本项目打通从 Linux 内核态到 AI 智能体的全链路。
  • 定位:Deepsight 不仅是一个负责协议转换的MCP Server,而是一个专为大模型设计的内核感知实验性底座。它涵盖了从边缘高频数据采集、动态限流降维、基于字典的高效网络传输,到服务端冷热分级缓存与语义重组的全生命周期基础设施,为 AI 赋予了所见即所得的“底层神经感知”能力。

系统架构

为保证系统的极致性能与大模型推理的连贯性,Deepsight 采用了 C/S 物理架构。底层探针专注高效数据提取与安全熔断,服务端作为复合型有状态守护进程,专注连接管理、记忆存储与 AI 协议转换。

Deepsight-arch.drawio

Deepsight Probe

  • 部署环境:eBPF 层,分布式部署于目标节点,需 rootCAP_BPF 特权以守护进程形式运行
  • 开发语言:C (高效的 eBPF 字节码) + Go (强并发的采集与通信框架)
  • 核心模块
    • eBPF Loader:探针加载器,负责安全地动态注入/卸载 eBPF 内核探针,利用 Linux 严格的内核验证器机制,确保内核鲁棒性。
    • Telemetry Transformer:数据转义与编排引擎,在边缘侧执行地址符号化翻译,同时强制启用令牌桶限流。面对内核事件风暴,能够动态触发同质化截断,仅向上传递高价值样本与统计指标,严守宿主机资源红线。
    • gRPC Client:通信组件
      • Telemetry Exporter:数据上行,将编排后的遥测流通过增量字典压缩后,实时单向推送到 Deepsight Server。
      • Task Executor:任务执行,接收下钻任务,驱动探针状态切换,闭环诊断结果。

Deepsight Server

  • 部署环境:MCP 层,集中部署于监控集群,以普通用户权限持续沙箱化运行
  • 开发语言:Go (高并发网关首选) 或 Python (丰富的 AI/LLM 生态)
  • 核心模块
    • gRPC Server:通信与调度组件
      • Telemetry Ingester:数据摄入,接收并解压来自各节点的遥测流,执行“延迟翻译”,将底层数字 ID 还原为纯文本调用栈后分发至缓存引擎。
      • Task Dispatcher:任务调度,将大模型的诊断意图转化为具体的 RPC Task,基于任务耗时智能选择同步阻塞或异步凭证分发。
    • Memory Buffer:缓存与记忆区。实行冷热数据分级存储策略,包含纯内存的滑动窗口、轻量级内嵌 KV 引擎持久化的事件队列,以及长短任务分流状态机,完美化解底层高频数据与 LLM 消费之间的时差。
    • MCP Interface:大模型 MCP 接口层,严格遵守 MCP 标准规范,对外暴露出 Resources、Tools 和 Prompts,将底层数据结构化呈现给 LLM。

NOTE

  • MCP Server:整个 Deepsight 系统在逻辑上共同扮演了 MCP 官方语境中 MCP Server 的角色。物理部署上,它由可信区域的 Deepsight Server 和受监控主机的 Deepsight Probe 共同组成。
  • MCP Host&Client:大模型(如 Claude 客户端或 LangChain 智能体)作为 Host 运行,其内部的 MCP Client 模块负责将大模型意图翻译为标准协议,向 Deepsight 发起连接。
  • Memory Buffer:这是 Deepsight 系统的灵魂中枢。底层的物理高频流和上层大模型的低频推理在这里交汇,其冷热分级记忆引擎抹平两者在生命周期与频率上的巨大鸿沟。

设计要点

为了构建一个高吞吐、低延迟且语义透明的底座,Deepsight 在技术选型与架构演进上采用了以下核心设计哲学:

重边缘,轻中心

  • 可观测系统的最大梦魇是“因监控开销拖垮业务机器”或“海量日志打爆带宽”。Deepsight 将数据提取与符号翻译下放到 Probe 端。
  • 边缘熔断机制:当遭遇网络风暴或频繁 OOM 时,Probe 内置的令牌桶限流器会拦截超限的同质化事件,在内存中聚合并附加 truncated_count 字段上报。这种设计不仅保障了宿主机安全,也使大模型只需阅读极少量的典型栈样本即可迅速掌握全局灾情。

数据与通道解耦

系统在底层通信设计上,采用了数据类型与传输通道解耦正交分离的理念。并在网络压缩与语义透明之间实现了完美解耦:Probe 利用动态字典将长字符串压缩为整数 ID 节省带宽,Server 网关则通过全量字典反向解析,确保交付给大模型的始终是 100% 可解释的纯文本 JSON。

  • 数据类型
    • Metric:高频、连续、聚合度高的常态遥测指标,来自eBPF Map,反映系统的“当前健康度与背景底噪”
    • Event:低频、突发、上下文丰富(包含字符串/调用栈)的事件与异常栈,来自 eBPF RingBuffer,反映系统的“确切病理特征与确凿证据”
  • 传输通道
    • PushTelemetry:数据面上行通道,Probe 主动持续推送采集的数据,单向客户端流,将目标机器的真实物理状态倾泻给网关
    • TaskChannel:控制面指令通道,双向流,响应大模型的按需下钻探测指令并返回证据
通道设计交互触发模式传输的数据业务场景比喻
PushTelemetry (上行流)Probe 主动触发 (持续推送)常态 Metric + 突发 Event大楼的监控摄像头:一直在录像(Metric),如果画面里突然出现火情,也会主动发出报警信号(Event)。
TaskChannel (双向流)Server 主动触发 (按需下发指令,Probe 响应)控制 Task (下) + 追踪结果 Event (上)保安手中的对讲机:总控室(Server)呼叫保安去某个房间查房,保安查完后单独把那个房间的情况(Event)汇报回来。

TIP

  • Protobuf 契约:系统利用强类型定义与 oneof 联合体确保不同业务模块(如网络、存储)的数据结构稳定,在保证向下兼容的同时,让 Server 网关具备明确的字段解析能力。
  • 主动连接: 在绝大多数现代企业 IT 架构中,Deepsight 的通信链路由处于严格 VPC 私有子网内的 Probe(作为 gRPC Client),主动向位于可信区域的 Server 发起出站连接。
  • 通信协议:底层通信框架同时支持 gRPC over UDS(用于单机高性能排查)和 gRPC over TCP/TLS(用于分布式跨网排查)。

缓存与记忆机制

大语言模型本质上是“无状态”且“按需唤醒”的。Deepsight Server 在内存中构建了分级记忆引擎,赋予 LLM 穿越时间的感知力:

  • 时间滑动窗口 (纯内存 FIFO):应对高频连续的常态指标(Metrics)。 Server 仅在内存中保留最近 N 分钟的趋势快照,追求极致响应速度,数据供大模型无阻塞获取。
  • 持久化事件队列 (内嵌 KV 引擎 + 防抖):应对极具价值的异常栈(Events)。采用 mmap 技术的轻量级内嵌数据库(如 bbolt / BadgerDB),确保 Server 重启后“案发现场”不丢失。存入前通过内核栈指纹进行防抖去重(Debouncing),防止内存撑爆。
  • 长短任务智能状态机
    • 短任务(< 15秒):Server 采用同步阻塞模式,挂起大模型的请求,等底层 eBPF 执行完毕后一次性回传结构化结果,彻底消灭 AI 的轮询等待幻觉。
    • 长任务(> 15秒):Server 采用**取件码(Ticket)**模式。立即返回受理凭证,并配合强制的 Prompt 约束规范大模型行为,由大模型在指定时间后通过专用 Tool 提取结果。

更多

了解了 Deepsight 的全局宏观架构后,请参考后续专项设计文档以深入实施细节:

  1. 想了解内核数据是如何一步步安全提取、语义翻译并最终抵达大模型视野的?👉 数据流动过程
  2. 准备进行跨语言联调,需要了解 Probe 和 Server 的通道实现及具体的字段载荷定义?👉 RPC 核心通信契约
  3. 服务端研发人员,需要实现化解时间差的滑动窗口与缓存机理?👉 缓存与记忆机制

Apache 2.0 Licensed