蓝戒博客

  • 首页
  • 研发说
  • 架构论
  • 效能录
  • AI谈
  • 随笔集
智构苍穹
融合 AI、架构与工程实践,沉淀方法论,构建可持续的技术价值。
  1. 首页
  2. AI谈
  3. 正文

VS Code 插件 + MCP + RAG 实战

2026年1月22日 159点热度 0人点赞 0条评论

当 AI 在聊天中解决不了问题,如何优雅地“一键转 Issue”

不是所有问题都该立刻变成 Issue
但所有“解决不了的问题”,都应该被正确记录下来


一、背景:Issue 不应该是“问题的起点”

在很多团队里,GitLab Issue 的现状是:

  • 🤯 问题一出现就先提 Issue
  • 📋 Issue 里是聊天记录、截图堆砌
  • ❓ 问题是否真实存在、是否可复现,其实并不清楚
  • 🧑‍💻 开发者一边查问题,一边“反向补全 Issue”

但在 AI 出现之后,我们开始反思一个问题:

Issue,真的应该由“人一开始就写”吗?


二、我们想要的理想流程

我们重新设计了一个更符合真实研发心智的流程:

  1. 开发者 先问 AI
  2. AI 基于企业知识库(RAG)进行解答
  3. 如果问题被解决 → 结束
  4. 如果 AI 明确无法解决
  5. 👉 将完整上下文整理为一个高质量 Issue
  6. 人工确认 / 编辑
  7. 提交到 GitLab

Issue 不再是“提问工具”,而是“问题沉淀工具”


三、整体方案架构

1️⃣ 核心组件

  • VS Code 插件
    • 聊天窗口
    • AI 回答展示
    • 「转 Issue」按钮
  • MCP AI 服务
    • 对话上下文管理
    • RAG 检索
    • Issue 结构化整理
  • RAG 知识库
    • 内部文档
    • 历史 Issue
    • 设计文档 / FAQ
  • 企业私有 GitLab

2️⃣ 架构示意(文字版)

┌──────────────────────────┐
│ VS Code Plugin           │
│                          │
│  Chat UI                 │
│  ├─ 用户提问             │
│  ├─ AI 回答               │
│  └─ 「整理为 Issue」按钮 │
└────────────▲─────────────┘
             │ MCP
┌────────────┴─────────────┐
│ MCP AI 服务              │
│                          │
│ - 会话管理               │
│ - RAG 检索               │
│ - Issue 结构化           │
└────────────▲─────────────┘
             │ 内网
┌────────────┴─────────────┐
│ 企业 GitLab              │
└──────────────────────────┘

四、聊天优先:VS Code 中的 AI 助手设计

1️⃣ 为什么一定是“聊天窗口”?

原因很简单:

  • 开发者已经习惯:
    • 问问题
    • 描述上下文
    • 逐步补充信息
  • 聊天是最低成本的交互方式
  • AI 最擅长的也是多轮上下文理解

2️⃣ 一次典型对话流程

Q:某个列表页在数据量大的时候特别卡,怎么优化?
A:基于你们的框架和历史方案,可能原因有……
Q:我按你说的试了,还是不行
A:当前信息不足,建议进一步确认……

此时,AI 会给出一个明确的状态:

“当前问题无法直接解决,建议整理为 Issue”


五、RAG:为什么这是“企业级”的关键

1️⃣ 没有 RAG 的 AI,有什么问题?

  • 不知道你们的:
    • 技术栈
    • 组件库
    • 内部约定
  • 回答容易:
    • 泛化
    • 不落地
    • 和实际方案冲突

2️⃣ 我们的 RAG 数据来源

RAG 知识库并不追求“大而全”,而是高度贴近真实研发:

  • 历史 GitLab Issue(已关闭)
  • 内部技术文档
  • 常见问题 FAQ
  • 组件库 README / 设计文档

AI 回答的不是“通用知识”,而是“你们团队的经验”


六、兜底能力:从聊天到 Issue 的“智能转换”

1️⃣ 什么时候出现「整理为 Issue」按钮?

不是一开始就有,而是满足以下条件之一:

  • AI 多轮尝试后仍无法给出解决方案
  • 问题明显涉及:
    • Bug
    • 性能
    • 需求缺失
  • 用户主动点击「转 Issue」

2️⃣ Issue 并不是“直接生成”

这是整个方案里最重要的设计点:

❌ 不是:AI 自动提交 Issue
✅ 而是:AI 整理 Issue 草稿


3️⃣ AI 会整理哪些内容?

MCP 服务会基于完整对话上下文生成:

  • Issue 标题(高度概括)
  • 问题背景(来自对话)
  • 已尝试方案(非常关键)
  • 当前结果
  • AI 判断的可能方向
  • 推荐标签 / 优先级

4️⃣ Issue 结构示例

## 问题背景
在数据量超过 5000 条时,列表页面渲染明显卡顿。

## 已尝试方案
- 虚拟列表
- 节流滚动事件
- 减少 Watch 监听

## 当前问题
卡顿问题仍然存在,怀疑与组件内部实现有关。

## 补充说明
问题经过 AI 辅助排查,暂未找到明确解决方案。

七、人工确认:企业级 AI 的“安全阀”

为什么一定要人工确认?

因为在企业环境里:

  • Issue = 成本
  • Issue = 排期
  • Issue = 责任

我们坚持一个原则:

AI 只负责“整理事实”,不负责“发起决策”


VS Code 中的确认能力

  • 编辑标题 / 描述
  • 补充截图 / 日志
  • 修改标签
  • 最终点击「提交到 GitLab」

八、GitLab 接入与安全设计

  • GitLab Token 仅存在 MCP 服务
  • VS Code 插件无写权限
  • 所有提交都有:
    • 操作日志
    • 来源标记(AI Assisted)

这保证了:

  • 安全
  • 可追溯
  • 可审计

九、落地效果:Issue 质量发生了什么变化?

📈 真实变化

  • Issue 平均信息完整度 ↑
  • Issue 反复追问 ↓
  • “无效 Issue” 明显减少
  • 开发者更愿意使用 Issue,而不是逃避

🧠 更重要的变化

  • 团队习惯变成:
    • 先问 AI
    • 再决定要不要提 Issue
  • Issue 从“情绪输出”,变成“问题总结”

十、这个方案还能怎么扩展?

同一套架构,可以自然扩展到:

  • 聊天 → 自动生成 MR 描述
  • 聊天 → 生成复现用例
  • 聊天 → 测试点建议
  • 聊天 → 技术债 Issue

RAG + MCP + VS Code,本质是研发流程的智能中枢。


十一、总结

AI 不应该制造更多 Issue,而是减少不必要的 Issue。

通过:

  • 聊天优先
  • RAG 提供“企业记忆”
  • Issue 作为兜底沉淀
  • 人工确认作为安全边界

我们终于让 AI:

  • 真正进入研发流程
  • 又不破坏原有协作秩序

这不是一个“炫技型 AI 功能”,
而是一个能长期在企业里活下来的工程方案。

标签: AI 研发助手 GitLab Issue mcp RAG VS Code 插件
最后更新:2026年1月22日

cywcd

我始终相信,技术不仅是解决问题的工具,更是推动思维进化和创造价值的方式。从研发到架构,追求极致效能;在随笔中沉淀思考,于 AI 中对话未来。

打赏 点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

cywcd

我始终相信,技术不仅是解决问题的工具,更是推动思维进化和创造价值的方式。从研发到架构,追求极致效能;在随笔中沉淀思考,于 AI 中对话未来。

最新 热点 随机
最新 热点 随机
Codex + Agent Browser:让 AI 精准还原前端 UI 的新范式(从设计稿到像素级实现) 一人指挥 AI 程序员军团:OpenAI:Codex App 来了,开发效率或将提升 10 倍 AI 开始雇佣人类?RentAHuman 爆火背后:一场关于「AI 代理经济」的真实实验 大模型巅峰对决:GPT-5.4 Pro 横空出世,Gemini 3.1、Grok 4.2、Claude Opus 4.6 谁才是最强 AI? AI 编程神器 Qoder 专业版免费体验攻略 + QoderWork 全面解析 OpenClaw 太费 Token 的终极解决方案(可省 90%+)
Skills Desktop 完全指南:从认识到实践,打造你的 AI 技能中枢不只是聊天机器人:Composio,让 AI 真正“动手干活”ChatDev:把 AI 组织成“团队”,帮你把事做完的多智能体平台Codex 国内如何使用与安装?一篇真正能跑通的完整教程CodeGeeX:更懂中文的开源 AI 编程助手,上手真的很简单OpenRouter热度榜第一竟是"中国制造"!匿名测试期间已封神的GLM-5
vue中使用v-for循环,动态绑定失效解决方法,循环列表显示/隐藏单独控制实例 HTML5中input的placeholder颜色设置及兼容性解决方案 MCP Server 的 Prompt / Schema 设计实践 CSS命名规范—BEM思想 intro.js网站页面使用分步引导插件 js异步编程的解决方案全解析
最近评论
渔夫 发布于 4 个月前(11月05日) 学到了,感谢博主分享
沙拉小王子 发布于 8 年前(11月30日) 适合vue入门者学习,赞一个
沙拉小王子 发布于 8 年前(11月30日) 适合vue入门者学习,赞一个
cywcd 发布于 9 年前(04月27日) 请参考一下这篇文章http://www.jianshu.com/p/fa4460e75cd8
cywcd 发布于 9 年前(04月27日) 请参考一下这篇文章http://www.jianshu.com/p/fa4460e75cd8

COPYRIGHT © 2025 蓝戒博客_智构苍穹-专注于大前端领域技术生态. ALL RIGHTS RESERVED.

京ICP备12026697号-2