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 被迫暴露了组合方案的五个真实问题:

  1. 数据一致性冲突——两套系统给出矛盾结果
  2. 路由决策的模糊地带
  3. 维护成本翻倍
  4. AI 24 个工具有重叠
  5. 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. 第 1 轮:人类引入 MC 实践交叉对比;AI 读完长文逐条对比,识别自身不足。
    结果:从"tree-sitter 过渡"转向"直接 Roslyn"。

  2. 第 2 轮:人类要求深究 LSP vs Code Graph 本质;AI 产出多维度系统对比,发现三个决定性差距。
    结果:明确 Code Graph 的核心优势。

  3. 第 3 轮:人类追问结合使用的问题;AI 诚实暴露 5 个组合方案的真实代价。
    结果:从"都要"到"聚焦"。

  4. 第 4 轮:人类聚焦 coding 实时性;AI 跳出框架,快速产出 4 个替代方案。
    结果:引入 Roslyn Workspace MCP 新思路。

  5. 第 5 轮:人类指出"盲区可以识别,降级处理";AI 展开完整降级机制设计。
    结果:Code Graph 的实时性问题变为可管理。

  6. 第 6 轮:人类指出"它们不冲突,是互补的";AI 立刻产出统一架构设计。
    结果:最终方案为 Roslyn + Code Graph 统一 MCP Server。

三方价值解构

AI 的价值

  • 海量技术知识——瞬间给出 6 种方案、每种优缺点
  • 深度分析能力——要求多维度对比时能产出完整矩阵
  • 快速响应——每次对话都能在分钟级内产出高质量分析
  • 诚实自省——被追问时能承认局限性、修正结论
  • 严谨的方案设计——一旦方向确定,架构细节详尽

人类的价值

  • 判断力——从 AI 的"安全方案"中识别保守倾向
  • 洞察力——提出"盲区 ≠ 错误"这种关键区分
  • 架构直觉——发现 Roslyn + Code Graph 类比 MySQL + Redis
  • 逆向思维——问"结合了会不会反而更差"
  • 场景敏感——意识到 coding 实时性是关键约束

人机协作的价值

  • 1 + 1 > 2——最终方案不是任何一方能独立产出的
  • 效率放大——几小时完成几天调研的深度
  • 质量提升——碰撞中暴露盲点、修正偏差
  • 能力互补——AI 的广度 + 人类的判断力

人的十项核心能力

这 10 个能力体现了人类在 AI 时代的不可替代性,按"提问能力 → 判断能力 → 思维能力 → 系统能力"四层递进。

第一层:提问能力(差距最大)

  1. 问对问题的能力
    不是问"有什么方案",而是问"结合使用会不会反而更差"——这种逆向思维的提问方式,是 AI 最难自主产生的。
  2. 追问到底的能力
    不满足于 AI 的第一轮回答。"深入分析本质区别""给出其他方案"——每一次追问都让方案更精炼
  3. 敢于否定权威的能力
    "不应该中间方案""这个设计不对"——当 AI 给出看似合理但保守的方案时,人类敢于直接推翻

第二层:判断能力(核心差异)

  1. 识别"盲区"vs"错误"的能力
    AI 把"新代码盲区"标记为缺陷,人类能看出这是"已知的未知"——这种哲学层面的区分,是 AI 最难自主产生的。
  2. 架构直觉
    看到 Roslyn + Code Graph 像 MySQL + Redis 的结构相似性,跨领域类比能力需要长期积累。
  3. 场景感知
    意识到 coding 实时性是关键约束——用户体验维度,AI 往往忽略。

第三层:思维能力(工程智慧)

  1. 交叉验证意识
    不只听 AI,还要对比 MC 团队的实践——跨信息源验证是工程判断的基础。
  2. 系统思维
    看到"Roslyn 是数据源,Code Graph 是缓存"的分层架构——系统思维需要长期训练。

第四层:系统能力(方法论)

  1. 对话驱动能力
    能在 6 轮对话中逐步推动方案演进,每一轮都在做关键判断
  2. 价值判断能力
    在 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 架构
风险识别标准风险深层矛盾降级机制、路由策略
架构智慧技术组合跨领域类比分层架构设计

结论

  1. AI 不会取代程序员
    但会取代不会提问、不会判断、不会思考的程序员。
  2. 程序员的价值在升级
    从"写代码"升级为"做判断"、"做架构"、"做对话"。
  3. 人机协作是未来
    不是 AI vs 人,而是 AI + 人 = 新的生产力。
  4. 培养这 10 个能力
    不是选修课,而是必修课
  5. 这是最好的时代
    因为工具越来越强,但有判断力的人才越来越珍贵

AI 提供能力,人类提供方向。

AI 提供宽度,人类提供深度。

AI 提供速度,人类提供智慧。

协作的产出,远大于任何一方独立产出的总和。

这不是 AI 取代人类,这是人类通过 AI 实现更强大的自己


本文基于真实架构决策对话整理,6 轮对话 · 几小时完成 · 多份技术方案文档。