ChatOps
主动回复
介绍 VeAIOps 中的主动回复 Agent 功能与配置
主动回复 Agent (Proactive Agent) 能够主动识别群聊中的问题,基于知识库自动生成回复建议,无需用户显式 @机器人。通过智能问题识别、知识检索和答案生成,帮助团队提高问题响应效率,减少重复性问答工作。主动回复仅在群聊场景生效。
- 采用自定义 Agent Workflow架构,ProactiveAgent 内部协调三个子 Agent(Identify、Rewrite、Analysis)和知识库检索逻辑。
- 通过Short-term Memory 状态管理机制在各阶段之间传递数据,存储中间结果(识别结果、改写查询、知识点等)。
设计模式
问题识别
使用 Identify Agent 判断消息是否在职责范围内(可回答的技术或业务问题)
查询改写
如果在范围内,使用 Rewrite Agent 将口语化问题改写为标准检索查询,支持生成多个子查询
知识检索
从自有(自动生成)和自定义挂载的多个知识库检索相关知识片段,充分利用不同来源的知识资源,并行化检索以提升检索效率
答案生成
使用 Analysis Agent 基于检索结果评估是否可以回答,并生成答案
答案去重
使用 Embedding 模型计算当前答案与历史回复的相似度,超过预设阈值(SIM_THRESHOLD 预设)则不发送回复,防止重复回复相似问题
回复质量评审
质量评审 Review Agent 作为独立后台任务异步运行,不阻塞主动回复流程,持续优化知识库质量
- 外部链接检测与知识提取:
- 自动识别群聊中分享的外部文档链接(支持飞书文档等)
- 抓取并解析文档内容,添加到由Agent自动维护的 AutoDoc 知识库
- 回复质量评审:
- 收集群聊中对主动回复的反馈,基于该反馈维护 AutoQA 知识库
- 持续追踪主动回复后的群聊下文,并分析该话题的进展,维护 AutoQA 知识库
- 实现AutoQA 知识库的增、删、改
Review Agent 作为独立后台任务运行,负责主动回复的质量保障与持续优化。
配置与概念说明
主动回复 Agent 的主要设计思路是尽量减少用户配置负担,提供开箱即用的体验。在无需任何配置情况下即可开箱使用。
知识库配置(可选)
主动回复支持挂载外部知识库,用于冷启动场景:
| 知识库类型 | 说明 | 来源 | 是否可配置 |
|---|---|---|---|
| Custom | 自定义知识库 | 火山知识库 | 是 |
| AutoDoc | 自动文档知识库 | 火山知识库 | 否(自动生成) |
| AutoQA | 自动QA知识库 | 火山知识库 | 否(自动生成) |
默认创建的两个知识库如图所示,您可以在火山知识库管理界面查看和管理这些知识库。
场景示例
内部Oncall或技术支持群,适用于用户直接接收答案,机器人自动回答常见问题
群聊中存在外部客户,适用于机器人提供回复建议,由使用者采纳后发送
:: ::
效果展示
| 分析群聊内容 | 自动录入知识库 | 触发主动回复 |
|---|---|---|
![]() | ![]() | ![]() |
回复质量评审与自动改进
Review Agent 持续优化问答的回复质量:
负面反馈/无反馈:
时间 10:00
主动回复:使用命令 kubectl restart deployment/xxx
时间 10:05
用户反馈:👎 (不满意)
用户B:上面的命令是错的,应该是 kubectl rollout restart
Review Agent 处理:
- 记录负面反馈
- 识别正确答案
- 更新知识库
- 优化后续回复策略
正面反馈:
时间 10:00
主动回复:使用本地客户端连接数据库,需要先将本地IP地址加入白名单中
时间 10:05
用户反馈:👍 (满意)
Review Agent 处理:
- 记录正面反馈
- 将QA对增量更新到知识库中
基于上下文的优化:
时间 10:00
主动回复:该问题可能是网络连接问题
时间 10:15
用户A:检查了网络,没问题,是数据库锁表了
Review Agent 处理:
- 检测到原回复不准确
- 从对话中学习新的诊断方法
- 更新知识库
:: ::
实践与优化建议
- 初始机器人缺少领域知识,可以考虑挂载外部知识库提升效果
- 对于群聊中不会出现的文档内容,可以考虑挂载知识库
- 例如内部文档不会直接出现在外部群聊
- 根据实际部署场景调整问题识别Prompt
- 记录识别结果、回答结果等,持续优化识别准确率(如AutoPrompt技术)


