打开网易新闻 查看精彩图片

让AI读源码、数括号来改代码,这事听起来就像拿着建筑蓝图不用,非要给工人拍张照片说"你自己琢磨"。

但这就是当下大多数AI编程助手的现状——它们在文本层面折腾,而编译器早就握有完整的代码结构模型。一位开发者把这个问题捅破了:既然Roslyn(C#编译器平台)加载解决方案时就把整个项目索引完毕,AI为什么还要当"文本民工"?

从文本到对象:AI终于不用"猜"代码了

从文本到对象:AI终于不用"猜"代码了

RoslynMCP的核心思路很直接:AI不再碰文本,而是直接操作编译器内部的结构化对象。

具体怎么玩?Roslyn加载解决方案后,AI能瞬间定位任意类,向上追溯基类型、接口、调用方,向下深挖派生类型、实现、被调用方。每次搜索都是语义级的,由编译器解析——不是文本grep那种笨办法。

改代码时,AI不敲字符。它要类结构,Roslyn给JSON:字段、方法、类型、修饰符一目了然。然后AI按名称锁定具体方法,Roslyn生成语法、格式化、返回编译器诊断——全打包在一个响应里。

更细的操作也有。块级导航让AI能用路径定位任意嵌套块,比如TaskService.AddTask.if[0].else,只改那个else块,其他纹丝不动。

调试层面,AI通过DTE(开发工具扩展)API设断点、启动调试、单步执行、读取局部变量——完整运行时检查,不止静态分析。

技能系统:教AI"看说明书"用工具

技能系统:教AI"看说明书"用工具

这套方案藏着一个容易被忽略的设计:技能(Skills)。

作者打了个比方:人用笔电之前得看说明书,AI也一样。技能就是Roslyn工具的使用说明书——参数怎么填、工作流程是什么、出错了怎么办。

Claude Code用户能从GitHub复制技能文件到项目的.claude/skills/目录。内置的Claude Chat面板也预装了这些技能,路径在Skills/.claude/skills/

这意味着AI不是拿到API就瞎折腾,而是按说明书规范操作。对复杂编译器接口来说,这层约束很实在。

一种新语言的雏形?

一种新语言的雏形?

作者在GitHub写道:「我认为最终会出现专为AI设计的编程语言——不是给人敲的,而是让AI作为结构化对象来操作。这是朝那个方向的早期实验,基于C#和Roslyn。而且它已经可以用了。」

这个判断有点意思。现在的编程语言全是为人眼和手优化的:缩进、换行、括号对齐,都是为了人类可读。但AI不需要这些——它要的是关系明确的图结构。

RoslynMCP没造新语言,而是让AI绕过文本层,直接啃编译器的语法树。效果类似:AI看到的不是字符流,而是类型、成员、调用关系的对象网络。

项目已上架VS Marketplace,GitHub仓库开源。两个Demo视频展示了实际交互:AI查询类结构、修改方法体、调试运行——全程没有文本编辑的鬼画符。

有个细节值得玩味。作者提到AI改代码时,Roslyn会返回编译器诊断——这意味着AI能立刻知道自己改的东西能不能编译通过。对比之下,纯文本编辑的AI助手得等整个文件重编才能发现语法错误,反馈延迟完全不同。

如果这种模式跑通,其他语言的编译器平台会不会跟进?毕竟Roslyn的结构化能力不是C#独占,LLVM、TypeScript编译器、甚至JVM都有类似的基础设施。问题是,有多少开发者愿意让AI跳过自己写了十几年的文本界面?