AI 会取代程序员吗?这个案例给出了一个不同的答案。
这是一次真实的技术架构决策记录。AI 提供了惊人的知识广度和分析深度,人类带来了判断力、洞察力和架构直觉。最终方案不是任何一方独立产出的——它在 6 轮对话中,从追问与展开的碰撞中涌现。
没有 AI 的展开,追问就没有素材。没有人类的追问,AI 就停在第一个安全方案上。两者相加,才有判断力、洞察力和对代码的品味。
实践案例
第一幕:问题的提出
背景:Unity 大型 C# 项目,代码检索依赖 grep,效率低且不懂语义。
人类提问:C# 代码检索是 grep,效率低且不懂语义,有没有其他什么办法?
AI 给出了完整的技术菜单:tree-sitter、Roslyn、向量检索、Sourcegraph、ast-grep、semgrep……并建议分三个阶段实施。看起来很专业,但这只是 AI 的"安全方案"——风险低、步子小。
AI 的价值:一次性给出 6 种技术方案的完整菜单,每种附带适用场景分析。人类在几分钟内获得了可能需要几天调研的信息广度。
第二幕:引入外部实践,交叉验证
人类判断:Code Graph MCP 会不会更好?另外有一个 Code Graph 实践分享可以参考。你交叉对比下。
人类没有被 AI 的分阶段方案说服,直接提出了更激进的方向,并引入了《我的世界》团队的 Code Graph MCP 实践文章要求交叉对比。AI 在人类引导下得出了关键发现:
- tree-sitter 对强类型语言远远不够——MC 实践明确验证了这一点
- 数据流追踪是杀手级能力——AI 之前完全没提到
- 应该直接上 Roslyn,跳过 tree-sitter 过渡
人类的价值:知道去哪里找参照物,知道要交叉验证,而不是只听 AI 的"安全方案"。
第三幕:坚持用 Roslyn,深究本质区别
人类判断:我觉得应该用 Roslyn,不应该中间方案。但是你提到的 LSP 和 Code Graph MCP 深入分析下这个区别。
人类做了两个决断:直接否决"中间方案",并要求深入分析 LSP vs Code Graph 的本质区别。AI 深入对比发现三个决定性差距:
| 维度 | LSP — IDE 协议 | Code Graph — 知识图谱 |
|---|---|---|
| 调用链 | 多层需多次往返 | 预计算全部结构关系 |
| 字段读写 | 完全没有 | 原生支持 |
| 跨函数数据流 | 不可能 | 独有能力 |
第四幕:追问结合使用的问题
人类判断:结合使用会不会出现某些场景并不是最优解?
不是问"能不能结合",而是问"结合了会不会反而更差"——这是典型的逆向思维。AI 被迫暴露了组合方案的五个真实问题:
- 数据一致性冲突——两套系统给出矛盾结果
- 路由决策的模糊地带
- 维护成本翻倍
- AI 24 个工具有重叠
- LSP 唯一不可替代的场景只有实时诊断(IDE 已有)
AI 的结论从"可以结合"转变为"推荐 Roslyn Workspace MCP 单一方案"。
第五幕:抓住核心矛盾——实时性
人类判断:基于 Code Graph 的现实问题,你需要给出其他方案,我担心 coding 过程中出现延迟。
人类把问题从"能力对比"切换到了使用体验:再强大的分析能力,如果在写代码时卡 5 秒,开发者就不会用。AI 被迫跳出框架,提出四个全新替代方案。
第六幕:关键洞察——盲区可以降级
人类判断:Code Graph + 校验层,缺陷是新代码盲区,新代码是不是盲区但是可以识别出来,降级处理?
整个对话中最精彩的一刻:AI 把"新代码盲区"标记为缺陷,人类直接指出——盲区 ≠ 错误。盲区是"已知的未知",可以识别,可以降级。
由此衍生出降级策略:查询命中干净区域时走图谱(99%,毫秒级);图谱缺失时降级到 Roslyn(1%,秒级)。
第七幕:最终洞察——它们根本不冲突
人类判断:其实我觉得 Roslyn Workspace MCP 和 Code Graph 本身不冲突啊,结合使用更好?
回到了第四幕的"结合使用"话题——但这次完全不同。第四幕是 LSP + Code Graph(两个竞争方案的拼凑),第七幕是 Roslyn Workspace + Code Graph(真相源 + 加速缓存的分层架构)。
人类看到了 AI 没看到的东西:Roslyn 是数据源,Code Graph 是缓存——就像 MySQL + Redis,它们在架构上是不同层,天然互补。
最终架构
AI(CodeMaker / Claude)通过 MCP Protocol 访问统一 MCP Server,Server 由智能路由层、脏文件追踪器、结果合并器组成,下接两层引擎:
Code Graph(Memgraph)— 加速层 + 深度引擎
- 多层调用链(毫秒级)
- 跨函数数据流(独有能力)
- 全局拓扑分析(独有能力)
- 字段读写分析
Roslyn Workspace(常驻进程)— 真相层 + 实时引擎
- 实时符号解析(永远准确)
- 新代码感知(无盲区)
- 类型推断 / 编译诊断
- 增量更新(反哺 Code Graph)
Roslyn 增量更新数据源,反哺 Code Graph。整体关系类比 MySQL + Redis:Roslyn 为真相层,Code Graph 为加速缓存。
路由规则
| 条件 | 路由动作 |
|---|---|
| 图谱有 && 文件干净 | 走图谱(最快) |
| 图谱有 && 部分文件脏 | 图谱 + Roslyn 补脏部分 |
| 图谱没有(新代码) | Roslyn 兜底 |
| 只有图谱能做(数据流、全局拓扑) | 图谱独占 |
决策路径回顾
6 轮对话如何逐步推动方案演进:
-
第 1 轮:人类引入 MC 实践交叉对比;AI 读完长文逐条对比,识别自身不足。
结果:从"tree-sitter 过渡"转向"直接 Roslyn"。 -
第 2 轮:人类要求深究 LSP vs Code Graph 本质;AI 产出多维度系统对比,发现三个决定性差距。
结果:明确 Code Graph 的核心优势。 -
第 3 轮:人类追问结合使用的问题;AI 诚实暴露 5 个组合方案的真实代价。
结果:从"都要"到"聚焦"。 -
第 4 轮:人类聚焦 coding 实时性;AI 跳出框架,快速产出 4 个替代方案。
结果:引入 Roslyn Workspace MCP 新思路。 -
第 5 轮:人类指出"盲区可以识别,降级处理";AI 展开完整降级机制设计。
结果:Code Graph 的实时性问题变为可管理。 -
第 6 轮:人类指出"它们不冲突,是互补的";AI 立刻产出统一架构设计。
结果:最终方案为 Roslyn + Code Graph 统一 MCP Server。
三方价值解构
AI 的价值
- 海量技术知识——瞬间给出 6 种方案、每种优缺点
- 深度分析能力——要求多维度对比时能产出完整矩阵
- 快速响应——每次对话都能在分钟级内产出高质量分析
- 诚实自省——被追问时能承认局限性、修正结论
- 严谨的方案设计——一旦方向确定,架构细节详尽
人类的价值
- 判断力——从 AI 的"安全方案"中识别保守倾向
- 洞察力——提出"盲区 ≠ 错误"这种关键区分
- 架构直觉——发现 Roslyn + Code Graph 类比 MySQL + Redis
- 逆向思维——问"结合了会不会反而更差"
- 场景敏感——意识到 coding 实时性是关键约束
人机协作的价值
- 1 + 1 > 2——最终方案不是任何一方能独立产出的
- 效率放大——几小时完成几天调研的深度
- 质量提升——碰撞中暴露盲点、修正偏差
- 能力互补——AI 的广度 + 人类的判断力
人的十项核心能力
这 10 个能力体现了人类在 AI 时代的不可替代性,按"提问能力 → 判断能力 → 思维能力 → 系统能力"四层递进。
第一层:提问能力(差距最大)
- 问对问题的能力
不是问"有什么方案",而是问"结合使用会不会反而更差"——这种逆向思维的提问方式,是 AI 最难自主产生的。 - 追问到底的能力
不满足于 AI 的第一轮回答。"深入分析本质区别""给出其他方案"——每一次追问都让方案更精炼。 - 敢于否定权威的能力
"不应该中间方案""这个设计不对"——当 AI 给出看似合理但保守的方案时,人类敢于直接推翻。
第二层:判断能力(核心差异)
- 识别"盲区"vs"错误"的能力
AI 把"新代码盲区"标记为缺陷,人类能看出这是"已知的未知"——这种哲学层面的区分,是 AI 最难自主产生的。 - 架构直觉
看到 Roslyn + Code Graph 像 MySQL + Redis 的结构相似性,跨领域类比能力需要长期积累。 - 场景感知
意识到 coding 实时性是关键约束——用户体验维度,AI 往往忽略。
第三层:思维能力(工程智慧)
- 交叉验证意识
不只听 AI,还要对比 MC 团队的实践——跨信息源验证是工程判断的基础。 - 系统思维
看到"Roslyn 是数据源,Code Graph 是缓存"的分层架构——系统思维需要长期训练。
第四层:系统能力(方法论)
- 对话驱动能力
能在 6 轮对话中逐步推动方案演进,每一轮都在做关键判断。 - 价值判断能力
在 AI 给出 6 种方案时,能识别哪个是"安全但保守",哪个是"激进但正确",价值判断最难训练。
深层思考:三个关键区别
1. 问题导向 vs 方案导向
AI 是方案导向的——给出所有可能的方案,让你选。人类是问题导向的——先搞清楚问题的本质,再找方案。
案例:AI 给出 6 种代码检索方案,人类直接问"有没有更好的方案?"——这就是问题导向思维。
2. 宽度 vs 深度
AI 有宽度——知道所有技术方案。人类有深度——能识别每种方案的真实价值。
案例:AI 列出了 tree-sitter、Roslyn、向量检索……人类问"Code Graph 会不会更好?"——这种深度识别来自实践经验。
3. 完整 vs 核心
AI 追求完整——给出所有可能的选项和细节。人类追求核心——找出关键矛盾和本质。
案例:AI 给出"三阶段实施计划",人类问"直接上 Roslyn 不好吗?"——这是抓住核心的能力。
对比总览
| 维度 | AI 独立能力 | 人类独立能力 | 协作产出 |
|---|---|---|---|
| 方案数量 | 6 种技术方案 | 1-2 个方向 | 最终 1 个最优方案 |
| 分析深度 | 浅层优缺点 | 本质区别 | 多维度系统对比 |
| 决策速度 | 分钟级 | 秒级(基于判断) | 6 轮对话几小时 |
| 方案创新 | 组合已知方案 | 提出新角度 | Roslyn + Code Graph 架构 |
| 风险识别 | 标准风险 | 深层矛盾 | 降级机制、路由策略 |
| 架构智慧 | 技术组合 | 跨领域类比 | 分层架构设计 |
结论
- AI 不会取代程序员
但会取代不会提问、不会判断、不会思考的程序员。 - 程序员的价值在升级
从"写代码"升级为"做判断"、"做架构"、"做对话"。 - 人机协作是未来
不是 AI vs 人,而是 AI + 人 = 新的生产力。 - 培养这 10 个能力
不是选修课,而是必修课。 - 这是最好的时代
因为工具越来越强,但有判断力的人才越来越珍贵。
AI 提供能力,人类提供方向。
AI 提供宽度,人类提供深度。
AI 提供速度,人类提供智慧。
协作的产出,远大于任何一方独立产出的总和。
这不是 AI 取代人类,这是人类通过 AI 实现更强大的自己。
本文基于真实架构决策对话整理,6 轮对话 · 几小时完成 · 多份技术方案文档。