build-your-ai-coding-assistant
从零构建端到端 AI 编程助手:IDE插件+模型选型+数据集+微调的完整开源方案
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
从零构建端到端 AI 编程助手:IDE插件+模型选型+数据集+微调的完整开源方案
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
图1:项目封面 — 从 IDE 插件到模型微调的完整技术栈图谱

2023 年,GitHub Copilot、JetBrains AI Assistant 等 AI 辅助编程工具相继爆火。然而,这些商业产品在功能定制、模型选择、数据隐私等方面存在天然限制。
大量国内企业在内部部署时面临以下困境:
那么,有没有一种方式可以从零构建一个完全自主可控的 AI 编程助手?
这就是 Unit-Mesh 团队(Thoughtworks 开源社区)发起本项目的初衷——用开源技术栈,搭建一套从 IDE 插件、模型选型、数据集构建到模型微调的端到端 AI 辅助编码解决方案。
本项目由 Thoughtworks 开源社区 主导,核心作者 Phodal(黄峰达)是国内知名的技术布道者和开源贡献者,曾著有《领域驱动设计》《自己动手设计物联网》等技术书籍。
项目于 2023 年 12 月 正式开源,至今已获得 717 Stars,GitHub 页面访问量可观。值得注意的是,该项目并非孤军作战,而是与 Unit-Mesh 组织下的多个开源项目形成矩阵:
code/intellij-horse 即为该插件的核心代码)整个生态围绕一个核心命题:如何让组织以最低成本、最可控的方式,构建符合自身业务需求的 AI 编程助手。
项目设计了一套三阶段递进的技术路径,每一步都有明确的目标和产出:
基于公开模型 API,开发 IDE 插件的基础功能。这阶段的核心任务是验证交互流程,不追求模型效果。
以 code/intellij-horse 为例,这是基于 JetBrains Platform 的 IntelliJ IDEA 插件项目,核心特性:
补全模式的划分直接对应了 FIM(Fill-In-The-Middle)训练范式——这是 Codeium、Copilot 等商业工具背后的核心技术之一。项目的 README 详细分析了各模式的适用场景和数据格式,为后续微调奠定了基础。
图2:模型选型指南 — 不同场景对应不同规模的模型

进入微调阶段后,项目推荐使用 DeepSeek Coder 6.7B 作为基础模型,原因有三:
code/finetune/finetune.ipynb 提供了完整的微调实验 notebook,包含:
围绕意图识别的数据工程,是本项目最具技术深度的部分。团队开发了 Unit Minions 工具链,支持:
项目对代码补全场景的拆解极为细致,这是理解 AI 编程助手设计原理的关键。
传统的左到右语言模型在代码补全中存在一个根本问题:补全内容可能横跨光标前后。例如:
val blogPost = new BlogPost()
光标在 new 和 BlogPost() 之间,输入的 prompt 既有前文的 val blogPost = new,也要包含后文的 BlogPost() 上下文。FIM(Fill-In-The-Middle)训练范式专门解决了这个问题:
<|fim▁begin|>前文代码<|fim▁hole|>后文代码<|fim▁end|>目标补全<|fim▁end|>
DeepSeek Coder 原生支持这种训练范式,实测在补全准确性上显著优于普通 GPT 模型。
这两种模式代表了上下文窗口大小的差异化设计:
| 模式 | 上下文范围 | 生成质量 | 响应速度 | 适用场景 |
|---|---|---|---|---|
| 块内补全 | 当前函数体内 | 中 | 快 | 函数实现、局部逻辑 |
| 块间补全 | 函数+相邻函数 | 高 | 中 | 新增方法、扩展功能 |
InBlock 补全只需理解当前函数的语法结构,响应快,适合作为"主动补全";AfterBlock 需要理解更大范围的代码关系,生成质量更高,适合作为"建议补全"。
本项目作为教程型项目,不提供一键部署。完整复现需要准备:
README.md,理解 AI 辅助编码的完整技术栈和设计思路code/finetune/finetune.ipynb,使用开源数据集微调自己的专属模型code/server/server-python38.py 提供了一个基于 FastAPI + Uvicorn 的 Python 服务端,支持 Gradio Web 界面,可快速验证模型推理效果。虽然未提供 Docker 化部署,但上手门槛不高,Python 开发者可快速运行。
项目主打"自主可控",但实际部署时仍需将代码发送给第三方模型 API(即使是本地部署的 DeepSeek Coder,也需要将代码上下文上传到 GPU 服务器)。真正敏感的企业代码库,隐私边界仍需审慎评估。
README 提到"RTX 4090 可跑",但这只是推理阶段。如果要进行有效微调(至少 6B 参数的模型 + 有效数据量),单卡 24GB 显存通常只能支撑 QLoRA 4-bit 量化。要做全参数微调,8×A100 级别的集群是更现实的选择。
项目最后更新于 2024 年 7 月,距今已近两年。考虑到 AI 编程助手领域演进极快(Claude Code、Cursor 等新生代产品已大幅领先),本项目的部分技术选型(如 DeepSeek Coder 6.7B)可能已显过时。
尽管如此,本项目的核心价值不在于提供一个"更好用的 Copilot",而在于拆解了 AI 编程助手的技术黑箱:
这些原本只有大厂内部才有的 Know-How,通过本项目向社区公开。对于想深入理解 AI 编程工具本质的开发者而言,这是难得的系统性学习素材。
截至目前,Unit-Mesh 生态下多个项目累计 Stars 已超过 10,000,影响了大量国内 AI + 开发工具领域的创业者和开发者,堪称 Thoughtworks 开源精神的又一次成功实践。