基于 AI 的线上维护机器人

基于 AI 的线上维护机器人

提现功能是怎么实现的,它有没有调用风控的接口呢? 可否统计以下最近我们对 A 服务商的接口有多少次失败调用? xx订单已经是特殊渠道订单,为什么还是出现在审核列表? 。。。。

这些悬在开发同学头上的一个个魔咒, 一大半都可以通过 AI 来分担。

三类问题,本质一样

系统维护里的「问答题」,万变不离三类:

类型 典型场景 答案来源
逻辑咨询 「提现功能怎么实现的?」「这个接口谁调用的?」 代码库
数据统计 「今天失败订单有多少?」「某用户最近几笔交易?」 数据库
问题排查 「支付失败了帮看下」「这个报错什么原因?」 日志 → 库 → 代码

三类问题看起来不同,本质上是一样的:基于已有的数据进行归纳和分析,最终得到答案,而这,恰恰是 AI 的强项。

整体方案

信息图:IM、cc-connect、Agent、数据四层架构

聊天框里发一条消息 → cc-connect 长连接转发 → Agent 搜代码、查库查日志进行分析 → 结果回到对话框。

功能说明

  • IM(入口):飞书、钉钉、企微等聊天工具入口,让问题在聊天框内就得到解决
  • cc-connect(连接器):维护 IM 与 Agent 之间的长连接,消息双向转发;参考 《飞书与 cursor 互通》
  • Agent(打工仔):借助 Cursor / Claude / Codex 等成熟的 AI Agent ,可以让问题排查更加高效准确
  • 数据端:代码库、数据库、日志三路数据源;

如何保证代码是最新的?

cc-connect web 中有一个菜单是定时任务,可以用提示词的方式让 AI 定时更新代码。参考提示词:

s

AI 读生产数据和日志

使用提示词,让 AI 创建一个 skill 即可,Agent 会在需要的时候自主调用 创建一个 skill, 使用 xxx 用户名和 xxx密码 登陆到 xxx 系统

信息安全

方便安全 之间,每个团队总会有自己的风格。我只介绍一下我做了哪些防范措施,大家酌情取舍。

提示词围栏

在整个工作空间的根目录,我通过 AGENTS.md 给 agent 的能做的事情做了背景限定。大致配置如下:


数据账号权限

  1. git 使用的是个人开发账号,但是本地只拉取了受保护的master分支,不能直接提交代码
  2. 数据库使用的是类似 yearning 的审计平台,只读权限,查询的是从库,且有最大 1000 条的限制
  3. 日志使用的是只读 kibana 账号

IM 对话权限

  1. 出于可控考虑,我的对话机器人只在小范围产研群里添加,没有开放到业务群
  2. cc-connect web 中可以配置有权限跟机器人对话的用户id,参考图如下:

信息图:cc-connect 中配置对话的userId

Agent 权限

以 cursor cli 为例,它的配置文件中可以配置 agent 能执行的所有命令的黑白名单列表,用来兜底。 信息图:cursor cli 的配置文件

总结