先说我最近的一个真实工作流:策划上午丢来一句话,“把大厅里那圈装饰灯改成根据在线人数改变颜色和闪烁节奏,顺便在关卡边缘画一条动态警示线。”以前接到这种需求,从打开Unity、定位预制体、写生命周期逻辑、连UI事件到反复调参,半天时间基本就没了。现在工具链搭好之后,这句话就是需求单,Claude在MCP协议的连接下直接读取场景结构、查找目标组件、生成脚本并挂载,我在旁边确认效果就行。核心功臣就是MCP加Unity、Unreal这些引擎,再配上Claude这类能写代码的大模型。这套组合让“自然语言驱动游戏引擎”真正从演示Demo变成了能跑进日常开发管线的工具链。
这篇文章写给两类人。一类是Unity/Unreal开发者,想知道AI工具链到底能不能落进自己项目里;另一类是开始研究AI编程但不知道从哪儿下手的策划或技术美术。我会把思路、选型、配置、踩坑一次讲清楚。我不打算给你一份面面俱到的API文档,而是按照我自己从零搭到跑通、再到团队内部推广的真实路径来写。
1. 先搞清楚:MCP给游戏引擎带来的变革点
1.1 游戏开发工作流里最难自动化的是“中间层”
游戏引擎本身已经高度自动化了。你想创建场景、拖资源、调材质,引擎都有编辑器界面和脚本API。过去我们说的“自动化”,基本是写编辑器扩展、C#脚本或者Unreal蓝图工具,把重复操作固化成按钮。但这类自动化的前提是:你必须清楚知道每一步该怎么走,然后把它翻译成代码。
真正耗费时间的,其实是“意图到引擎操作”的中间层。比如策划说“这个角色太脆了”,你脑子里要做一连串判断:是去改血量数值、还是调伤害公式、还是加一个减伤Buff。这个判断过程很难被传统脚本代替,因为它依赖对项目上下文的理解。而Claude这类大语言模型恰好擅长把模糊的自然语言转成结构化指令。可问题来了,模型再强也碰不到你本地Unity场景里的具体对象,它不知道你的场景里有个叫“HallLightGroup”的预制体,也不知道那个Light组件的颜色字段叫什么。
MCP(Model Context Protocol)就是来填这个空白的。它像是一个标准插座,让Claude能按约定好的协议调用引擎暴露的工具。Unity里有一个MCP服务端在运行,它读取当前场景、查询组件、执行代码片段;Claude通过MCP客户端去调用这些工具,再把结果拿回来决定下一步动作。模型不需要预先“背诵”你的项目结构,它每次都是现查现用。
1.2 MCP在工具链里的真实位置:不是让AI替你玩游戏
我看到很多刚接触这个方向的人会误解,以为MCP就要做“AI全自动做游戏”。这种理解把预期拉太高,反而让人忽略它目前最值钱的能力:把大模型接进了原本封闭的编辑器生态,做成一个“听得懂人话的编辑脚本”。
MCP在链路里的角色,翻译一下就是几个动作:读状态、想方案、改配置、跑测试、看结果。Unity MCP服务端可以从当前打开的场景里拉出对象树,也可以执行引擎工程里的方法,可以把编辑器日志转发给Claude。Claude获得的不是一张截图,而是结构化的场景数据,它甚至能直接调用UnityEditor API去创建Asset、修改Prefab,再调用菜单里的Play Mode做冒烟验证。
我自己最常用的场景,不是让AI从零生成一个游戏,而是让它辅助完成数值调整、UI布局、代码重构、报错修复。真正提高效率的部分在于,它不用我手工去翻层级面板和Inspector,而是通过MCP工具直接操作,能一口气完成十几个连续步骤。
1.3 Unity和Unreal接入后的能力边界
每个引擎能暴露什么能力,取决于MCP服务端实现了哪些工具。做得好的Unity侧方案通常会包含:
- 查询当前场景中的GameObject层级和组件列表;
- 按名称或标签查找对象,修改Transform、组件属性;
- 通过C#脚本编译并执行工具函数;
- 创建/删除对象、添加组件、保存场景;
- 读取Editor日志和控制台报错。
Unreal侧实现类似,但因为它底层是C++和蓝图,接线更复杂。社区里不少叫“UnrealClaude”或者“UnrealMCP”的桥接插件,走的路径一般是:MCP服务器以Unreal编辑器插件形式加载,通过Python脚本或者蓝图函数库访问关卡编辑器,调用虚幻引擎的Python API或者EditorUtility工具。注意,Unreal的Python支持很早就内置了,这是MCP能触达引擎内部的关键。
边界也很清楚:它能做的是“你在编辑器里能手动做的事”,最好还是那种逻辑清晰、不依赖物理交互感的操作。那些需要你微调操纵杆、用眼睛判断手柄手感、在场景里反复试位置的工作,现在依然得人来。它不能帮你做重度创意决策,也不能替你把一个粗糙Demo变成具备商业品质的成品。
2. 搭建一套能用的AI游戏MCP工具链
2.1 整体链路与方案选择
我的建议是先把链路拆成三层:模型层、协议层、引擎层。
模型层一般就是Claude家族(Claude Sonnet/Opus,或者Claude Code命令行版本)。协议层是MCP客户端和服务端,现在有Node.js版、Python版、Java版等各种SDK,游戏开发者不用太关心底层语言,直接装服务端就行。引擎层,Unity侧需要一个MCP服务插件,Unreal侧需要一个能启动MCP服务的Editor插件。
如果你只是在Unity里折腾,最省事的架构是:
- 电脑上跑一个Claude Code(命令行工具);
- Unity工程里导入MCP服务端插件并启动;
- 在Claude Code的配置文件里把这个MCP服务器加进去;
- 对话时Claude自动发现工具,开始读写场景。
Unreal那边我建议你先别想着把所有操作都放权给AI,而是做最小可用的桥接:启动插件、连接Claude、读取当前关卡里的Actor列表和属性、执行一个测试用的蓝图函数。先把读取做通,再开放写入权限。这个梯度很重要,你能少踩很多炸编辑器的大坑。
2.2 开发环境准备:许可证、版本和API Level
这一步很基础,但90%的失败都发生在环境上。
Unity侧,先确认你本地有一个能正常打开的工程。如果打开Unity时出现“No valid Unity Editor license found. Please activate your license.”,那就先别碰MCP,这是许可证没有正确激活。正常路径是在Unity Hub里登录账号,确认许可证分配给当前版本的Editor,然后重新启动。别去网上搜那些来路不明的激活工具,既不安全,也可能给你的项目留下后门。
如果你是在做安卓或微信小游戏相关的Unity工程,构建时经常会碰到“minimum API level / target API level”要调到API 35之类的报错。MCP里的Claude如果通过命令行调起构建,这类报错会被日志原样带回来,AI会尝试帮你修改Player Settings里的Target API Level,前提是你的MCP工具接口包含修改Project Settings的能力。所以正式操作前,把SDK、JDK、Gradle这些基础组件都在Unity Hub里装好,能少一半无谓报错。
Unreal侧,尽量用5.1以上的版本,Python Editor Scripting Plugin默认可用度更高。打开项目后先启用Editor Scripting Utilities和Python Editor Scripting Plugin两个插件,否则MCP服务端就算连上,也很有可能拿到一片空的Actor列表。我一开始忽略了这个,结果Claude每次都说“当前关卡为空”,我还以为是MCP协议的问题,调了半天,最后发现是插件没启用。
如果要做Cesium这种地理信息系统场景集成,比如在场景里画地理围栏,记得安装对应版本的Cesium for Unreal。UE里Cesium和MCP的配合,通常是通过编辑器Python脚本访问Cesium的Actor并读取经纬度坐标,再由Claude调用蓝图API去创建围栏组件。版本不匹配最常见的表现是运行时报“Ran out of memory allocating 528384 bytes with align”,这种看起来像内存不够的错,有一半其实是插件加载顺序冲突或者重复注册导致的内存碎片问题。
2.3 MCP服务端配置:具体该写什么
无论哪个引擎,MCP服务器启动后都会监听一个本地端口。Claude要连上它,就需要在MCP配置里声明。
我以Claude Code的配置习惯为例。假设你的Unity MCP插件已经跑在某个端口上,配置文件大致长这样的逻辑:
{ "mcpServers": { "unity-mcp": { "command": "npx", "args": ["-y", "unity-mcp-server"], "env": {} }, "unreal-claude": { "command": "python", "args": ["-m", "unreal_mcp_bridge"], "env": { "UE_PROJECT_PATH": "D:/Projects/MyGame/MyGame.uproject" } } } }实际配置会因为具体插件不同而有差异,但核心思路就两个:给服务器起个名字,告诉Claude用什么命令启动它。这里要留个心眼:如果MCP服务器是Unreal编辑器的插件,那你必须先打开UE项目,让插件在编辑器进程里监听网络端口,外面的MCP命令才能连上。顺序反了就会出现“工具注册成功但一调用就超时”。
配置完成后,在Claude Code里敲一下列出工具的命令,能看出一大串自定义工具,就说明连上了。连不上时,不要急着怪Claude,先看MCP服务端有没有启动日志。这里特别容易踩坑的是代理类软件或者系统防火墙把本地端口拦了,表现就是Claude能注册上,但每次调用都会超时,没有明确的报错原因。
2.4 给AI开放的接口清单与权限控制
别一上来就把所有引擎接口全部开放。我见过同事给MCP服务器配了全权访问,Claude第一件事就是把当前场景里的灯光强度改到2000,整个编辑器白成一片。这种操作不会毁掉项目,但很浪费时间。
我的习惯是把工具按权限分三级:
- 只读级:获取场景对象、查询组件属性、读取日志、搜索资源;
- 编辑级:修改Transform、调整材质参数、创建临时对象;
- 写盘级:保存场景、生成Prefab、修改工程配置文件。
一开始只给只读级,验证Claude对场景的理解准确,再慢慢放开编辑级。写盘级操作,尽量让AI先执行到一个Undo事务里,你检查无误后再手动保存。很多Unity MCP插件会给每个动作执行Undo记录,没有这个功能的插件直接Pass,因为AI一旦批量删了对象而你没法回退,基本等于事故。
Unreal侧要更严格。蓝图资产本身就是程序逻辑,AI如果改动一个关卡蓝图并自动保存,结果可能是一连串节点连错。最好把“保存关卡”这个工具从AI的能力列表里拿掉,让它只改内存状态,你人工确认后再按Ctrl+S保存。
3. 自然语言驱动引擎的实操闭环
3.1 最小例子:用一句话在Unity里动态画线
很多人问“用自然语言驱动Unity到底怎么跑通”,我建议的第一个练习不是生成一个完整游戏,而是做一个非常具体的小工具:在UI上动态画一条折线。
需求本身不复杂,但涉及创建UI对象、动态添加顶点、处理坐标转换,正好能测试AI对场景和代码的理解。
我先打开一个空场景,建一个Canvas,然后在Claude Code里输入指令:“在Canvas下创建一个空物体,挂上自写的LineRenderer脚本,用四个点画一条从屏幕左侧到右侧的折线,点的Y坐标按照PerlinNoise生成。”
Claude收到任务后,会通过Unity MCP查询当前场景里有哪些对象。它找到Canvas之后,列出Canvas下的子物体列表,然后给我返回一个执行计划:创建子物体、添加LineRenderer组件、生成一个控制点的脚本、把脚本挂上、设置坐标。它还会解释它打算用UnityEngine.UI的Graphic的顶点覆盖方式,或者用LineRenderer组件实现。
我比较喜欢让它用带参数的方式生成脚本,这样后续改曲线形态只需要改参数。AI通常会在场景里创建一个临时脚本,编译成功后挂到对象上,再通过MCP工具设置参数。整个过程你不用打开代码编辑器,它在后台就完成了。
跑完以后,你在Game视图里能看到一条带噪声抖动的折线。如果想调整频率,直接补充一句“把噪声频率改成0.8”,它就知道要改哪个参数。这里实际上触发了自然语言意图识别和槽位提取的流程,只不过不是通过传统NLP管道,而是靠Claude的语义理解直接完成。
3.2 Unreal侧:配合Cesium for Unreal绘制地理围栏
和Unity比,Unreal这种操作会更靠近“游戏+GIS”的项目。我试过的场景是:有一个基于Cesium for Unreal加载的真实城市地形,需要沿着某条道路画一个多边形围栏,用来做电子围栏玩法。
传统做法是打开编辑器,找到CesiumGeoreferenceActor,手动在地图上点一个个点,存成坐标数组,再生成动态Actor。借助UnrealClaude桥接,我把任务描述成:“把当前Cesium场景里视口中心附近的道路交叉口作为多边形边界,生成一个高度10米的半透明红色围栏Actor,坐标用经纬度记录。”
Unreal MCP服务端会返回当前视口位置和朝向,Claude会调用Cesium相关的接口去计算视口中心点对应的经纬度。然后它写一个Python脚本在编辑器里创建Actor,添加ProceduralMeshComponent或者SplineMesh,最后把坐标点转成世界坐标。因为Unreal的坐标系统是厘米制,Cesium又涉及地理坐标到虚幻坐标的转换,这里如果AI没有先读取项目单位设置就直接换算,围栏会画到地底下。我实际跑的时候也遇到一次,AI算出经纬度后直接把纬度当成了UE的Y坐标,飞到了离场景十万八千米的空中。
这个例子想说明一个事:MCP不仅是“AI帮你点按钮”,它更关键的价值是让AI能读到编辑器上下文数据,再结合自己的规划能力完成一个需要多步骤工具调用的任务。如果MCP只开放“执行Python代码”而没开放“查询当前视口”,AI根本没法从一句话定位到具体位置。
3.3 模型是怎么理解“意图”和“槽位”的
很多从自然语言处理背景过来的朋友,看到“自然语言驱动游戏引擎”第一反应是传统意图识别和槽位提取。他们会想:这是不是得先训一个意图分类模型,把“画线”“设颜色”“放一个敌人”分别归类成intent,再提取参数?
实际上在MCP时代,我们的做法已经变了。Claude这类大模型本身就是极强意图理解器。你并不需要显式写一个“画线意图”的代码分支,模型会根据上下文把自然语言映射成一连串MCP工具调用。槽位(比如线的长度、颜色、目标对象名)也由模型在工具参数里自动填充。
但在工程落地时,我会建议你用一套轻量的“槽位约束模板”辅助它,而不是完全裸奔。比如你给MCP写工具时,工具描述要写清楚参数单位和可选范围。不要只写“SetLightIntensity(float intensity)”,而要写“设置点光源强度,范围0-10,默认1。如果用户没说强度,就保持原值。”这能让Claude在槽位不明确时给你合理默认值,而不是瞎编一个8.7。
反过来,如果你真打算做一套完全离线、不依赖商业大模型、自己在引擎里跑的语音控制,传统意图识别和槽位提取就依然重要。你可以先用Python写一个槽位提取模块,把自然语言里的“对象名、参数、动作”抽出来,然后映射成MCP调用。这种混合方案适合对数据安全很敏感的团队,成本高一些,但可控性更强。
4. 现场实录:从一句话到可运行功能
4.1 需求拆解与命令模板设计
想稳定复现AI操作,关键不是大模型多聪明,而是你会不会把模糊需求拆成“带上下文的指令”。
我总结出来一个模板,现在团队成员都在用:
- 先说明项目背景和一个完整句子的任务;
- 列出约束条件,比如不许动其他对象、不许改名;
- 指出可参考的资源路径或脚本;
- 要求AI在动手前先分步列出计划。
“你不要把需求写得像写代码一样,你要用正常说话的方式把事情说清楚。”这一条对策划特别重要。原来策划得把需求拆成功能列表让程序实现,现在只需要把希望效果描述清楚,AI会自己拆。
实操时我常用的一段指令结构类似这样:
“这是一个Unity 2022工程,当前已打开场景Map_Hall。请完成一个大厅灯光控制功能:场景中所有名字以Light_开头的点光源,当在线玩家数大于10时,灯光颜色向橙色渐变并开启闪烁,闪烁频率不超过2Hz,不要修改其他灯光。执行前请先列出你计划操作的组件和修改内容。”
Claude会先查询场景,列出所有以Light_开头的对象,给出改动前的快照,再通过工具修改每盏灯的颜色参数及动画脚本。我会看到它逐步执行。最后它会回到一句概括:“已修改8盏灯,亮度渐变完成,我给它们的材质球增加了一个自发光动画组件。”整个工程没有出现需要手工解决的编译错误。
4.2 执行记录与关键参数表格
为了让团队能复盘AI做了什么,我们的工具链会把Claude和MCP之间的关键调用日志导出来。下面这个表格是我从一次任务里节选出来的字段,不代表具体引擎接口,重在展示链路每一步发生了什么。
| 步骤 | 模型动作 | MCP工具调用 | 返回结果 | 我的介入 |
|---|---|---|---|---|
| 1 | 理解需求 | SearchObjectsByName("Light_*") | 返回8个点光源列表 | 无 |
| 2 | 查询当前亮度值 | GetComponentProperty(...) | 每盏灯强度分别为1.2-3.5 | 无 |
| 3 | 生成修改脚本 | ExecuteCSharpCode(...) | 编译通过,并标识改动对象 | 无 |
| 4 | 应用颜色渐变 | SetMaterialProperty(...) | 确认颜色改变,无报错 | 无 |
| 5 | 添加闪烁逻辑 | CreateComponent(...) | 新增自定义脚本组件 | 无 |
| 6 | 运行场景验证 | EnterPlayMode() | 模拟运行10秒后退出 | 无 |
| 7 | 汇总结果 | GetConsoleLog() | 无错误 | 我检查场景后手动保存 |
这种记录表非常有用。一旦做出来的效果不符合预期,你不用重新猜AI干了什么,打开日志就知道是参数给错了,还是对象查漏了。
4.3 实测结果与性能变化
我实测过一次让AI给上百个对象加DrawCall优化。过去用SpriteAtlas需要手动打图集,这个功能很成熟,但操作繁琐。有了MCP之后,AI能扫描场景里所有SpriteRenderer引用的贴图,检查哪些已经进了同一个图集,把没进图集的新贴图加进Atlas,再重新生成一次Sprite Asset。自动化程度很高,省了很多重复劳动。
不过也要盯着性能。AI批量修改的时候偶尔会犯浑。有一回它给同一批对象重复添加了同一个动画组件,导致PlayMode下每帧多出了几百次方法调用,帧率下降了七八帧。原因不是它不懂优化,而是它在修改过程中没有实时重新查询对象状态,盲目追加组件。从那以后,我在指令里都会加一句“每次修改前先检查目标组件的Current状态,重复则不添加”。
你要接受一个现实:MCP执行效率很高,但步骤一多,错误也会被放大。所以关键任务最好让AI分成小批次执行,并设置断点。比如一次只处理10盏灯,确认结果OK后再继续。
5. 常见问题与排查实录
5.1 Unity侧:许可证、DLL、图集和API Level
No valid Unity editor license found
最常出现在新装机器上。MCP本身不产生许可证问题,但AI如果帮你启动Editor命令行做批处理,就会触发许可证校验。第一件事是用Unity Hub手动打开一次工程,确保Editor能正常进入。如果还报错,在Hub里注销账号重新登录,然后重新激活。如果项目要跑Android构建,顺手把Minimum API Level和Target API Level都推到API 35。Claude看到这类报错一般会建议你直接改Player Settings,方向没错,但手动确定基础环境更稳。
DllNotFoundException: Unable to load DLL 'slua'
我遇到过一次,AI在操作一个集成了SLua热更新方案的Unity工程时触发了这个错误。这类第三方原生DLL问题,MCP没法直接解决,因为DLL文件不在托管代码层。排查思路是定位到Assets/Plugins下的对应DLL,确认是否拷贝进工程、构建设置里平台勾选是否正确。如果你让AI连续执行代码,报错往往会让它误以为是自己生成的代码问题,从而开始一轮无意义的修改。遇到这种情况,正确方法是人工介入排查原生环境,再把结论告诉AI,让它绕过这部分的自动改动。
Sprite Atlas生成了但UI图片没变
AI通过MCP生成图集后,原始图片的Sprite Mode如果不是Multiple或Single,图集可能不会正常引用。我们一开始让AI直接生成图集并替换了引用,结果发现很多图片在小图集里显示正常,运行时却找不到。检查后发现是SpritePackingMode的配置问题。修复方法是在图集设置里重新选择打包策略并让AI校验所有被打包的SpritePackingTag是否一致。AI能帮你执行校验,但项目美术规范仍然要靠人来定。
5.2 Unreal侧:内存溢出、Cesium联动和蓝图节点
Ran out of memory allocating 528384 bytes
这个报错字面上是OOM,但Unreal里经常不是物理内存不足,而是分配器收到异常申请。我们排查过一次,那天并没有加载大场景,最后发现是Cesium for Unreal的运行线程在Editor里反复重建瓦片数据,MCP触发了多线程同时查询地形高度,导致内存分配竞争。解决手段是:在调用MCP查询地形数据前,先暂停Cesium的实时更新,或者只用主线程方式查询。如果你也遇到这个问题,记得先看不是继续加内存,而是看是不是同一个编辑命令被并发重复执行了。
用自然语言生成蓝图,节点连得满天飞
Claude通过Unreal Python生成蓝图节点时,由于UE的Blueprint编辑器对脚本创建的节点支持不是100%友好,经常生成后位置重叠、连线混乱。最让我头疼的是,AI通过AddNode创建的节点还需要手动调用ReconstructNode才能刷新引脚。我的经验是不让它直接改复杂蓝图,而是让它创建一个新的BlueprintFunctionLibrary,把核心逻辑用Python/BEHAVIOR写在C++函数库里,再让蓝图只保留一个调用入口。这样蓝图看起来干净,排查也容易,AI也不容易把节点连错。
5.3 MCP连接层:注册不上、工具被跳过、超时
Figma MCP在Codex里工具注册不上
这个问题不在Unity/Unreal链路,但设计协作工具接入时很像。美术会希望把Figma设计稿一键导入到游戏UI实现里,Figma MCP本身可用,但Codex这类客户端会因为GraphQL schema太大导致MCP工具数量膨胀,注册超时。解决方式是在MCP服务器配置里过滤掉不需要的工具。连Claude Code也一样,如果某个MCP服务器暴露了太多工具,客户端可能来不及全部加载。Unity MCP插件如果暴露了几百个工具,建议精简成高聚合接口,比如“执行一个自定义C#函数”和“按名字查询对象”,而不要细到几十个单一属性修改工具。
工具能注册上,但一调用就超时
最可能是引擎端操作太慢,比如Unity在Editor模式下第一次访问某个大型Prefab时需要编译或加载资源,把MCP请求卡住。解决方法是把工具执行放到异步线程或让AI等待返回。另外,Claude Code调用MCP默认有超时限制,如果引擎操作要跑十几秒,最好把MCP服务器改成流式返回,或者主动发送“任务还在执行中”的事件。我在配置时会把超时拉长到60秒,小项目里基本够用。
6. 把它变成团队产能前,我会先做这些事
6.1 权限分层与改动审计
我一直强调权限不是防AI,是防意外。AI模型远没有到你输一段话就完全可靠的地步,它只是把“手滑”的代价放大了。团队里如果有多个人都在用同一套Unity MCP,建议共享一份改动日志,包含谁在什么时间让AI改了哪个对象。不用特别复杂的系统,Git提交记录加MCP日志就够。
写盘类操作尽量走编辑器的Undo栈。如果MCP Server的每个动作都能被Undo,即使AI做了灾难性操作,你按一次Ctrl+Z就能恢复,这是最低成本的保险。对于保存场景和生成资产这类不可逆操作,我在MCP层做了二次确认,凡是要调SaveScene工具,必须经过一个审批接口,否则AI只能操作内存,无法写盘。
6.2 AI助手从“单人用”到“团队用”
单人用AI时,很爽,但也容易让项目里的代码风格变乱。Claude能听懂“给这个脚本加个接口”,但不一定理解你们项目的分层规范。所以团队落地前,我会让Claude先读取一份项目约定说明文档,里面写清楚命名规范、目录结构、UI框架约定和第三方库使用原则。模型读完这份文档后再操作MCP,产出的代码会更贴近团队习惯。
如果有策划和程序同时用一个Unreal工程,建议拆成两个MCP服务上下文:策划侧的AI只能改数据和Gameplay配置,程序侧的AI才有权限动C++工程文件和插件代码。不要因为工具能打通全链路,就让所有人的AI都是超级管理员。
6.3 下一步我打算在工具链里再加的东西
MCP生态成长速度非常快,现在已经不局限于Unity和Unreal。我看到有人把建模软件、音频中间件、视频剪辑工具都接进来了,游戏工具链不再是单点智能化。我正在试的方向是让Claude同时控制Unity和外部设计工具,把Figma图层数据经过格式换算后,在Unity里生成UI结构。这样一来,美术在Figma里改了设计,MCP能感知变更并提出在Unity中同步改动的请求,我做一次审核就可以。
我也在研究把传统NLP意图识别模型作为一道前置过滤,把指令先转成标准化JSON,再喂给Claude执行。这样能在安全要求更高的生产环境里增加一道可审计的控制层,避免大模型的自由发挥。两条路不冲突,未来一年很可能普及。
6.4 个人心得:工具链值得投入,但别神话
这套东西确实改变了我每天的工作方式。现在很多机械重复的编辑器操作,我都让AI去跑,我只负责定义效果和检查结果。原来一天能完成一个中型系统功能,现在遇到类似结构的需求,速度可能快两三倍,尤其是那些需要批量处理上百个对象的活儿,效果立竿见影。
但它不是银弹。你仍然需要懂引擎原理、懂项目结构、懂数据流。AI能在你描述不清时帮你补全很多细节,可一旦项目上下文特别复杂或者底层依赖有问题,它也会在原地打转。所以我把AI当做一个特别聪明但偶尔粗心的新同事,而不是一个不会犯错的自动机器。只有你心里有完整的验收标准,才能放心把最后一步交给它去做。
最后分享一个我踩过几次坑之后总结的小习惯:每次收工前,我会让AI通过MCP导出一份“本场会话改动摘要”,列出它创建、修改、删除的所有对象和文件。然后我照着摘要快速过一遍场景,再决定要不要提交到版本库。这一步只需要一分钟,但能避免AI已经把场景改乱而你第二天才发现的尴尬。自然语言驱动引擎这件事,真正难的不是技术接入,而是你把AI的每次操作都控制在可解释、可回退、可验收的范围内。做到了这一点,MCP就是这些年游戏编辑器生态里最值得投入的一根杠杆。