当游乐园评级持续攀升,旗舰过山车疯狂印钞,游客们暂时沉浸在欢乐中时,你知道危机即将来临:设备故障的连锁反应、出口堆积如山的垃圾、排队时间的螺旋失控。传统玩家需要紧盯屏幕,疯狂点击管理窗口。而现在,一个 AI 代理可以接管这一切。
Ramp Labs 团队最近完成了一项引人注目的实验:将 Claude Code 深度集成到经典模拟经营游戏《RollerCoaster Tycoon 2》中。这个项目不仅是一次技术演示,更是对通用 AI 代理能力边界的系统性探索。通过分析这个案例,我们可以获得关于 AI 系统设计、环境可读性以及多代理协作的重要启示。
技术架构:从游戏修改到 AI 控制层
OpenRCT2 的基础改造
项目的技术基础建立在 OpenRCT2 之上 —— 这是一个用 C++ 重写的《RollerCoaster Tycoon 2》开源实现,由热情社区维护了近十年。团队选择了这个平台,因为它提供了完整的源代码访问权限和活跃的开发者生态。
核心改造包括三个关键组件:
- 嵌入式终端窗口:在游戏菜单栏中添加新的菜单项,创建一个显示远程终端(运行 Claude Code)的窗口类型
- rctctl CLI 工具:模仿 Kubernetes 的 kubectl 设计模式,提供覆盖游戏中所有用户可用操作的命令行界面
- JSON-RPC 通信层:在 localhost:9876 端口建立通信通道,将 CLI 命令传输到游戏状态
rctctl:AI 的游戏控制语言
rctctl 的设计哲学是 “为 AI 而非人类优化”。它复制了游戏中每一个重要的数据点、控制和操作,同时添加了一些额外的命令来审查公园地块。例如,AI 可以请求 ASCII 网格打印输出,从 “热点区域” 到单个地块的多级粒度显示:
$ rctctl map area --x 44 --y 38
Map Area
---
Anchor : (44, 38) top-left
Span : 16x16 tiles
X:44 45 46 47 48 49 50 51 52 53 54
Y 38 R P P P P . . E E . T
39 P P . S P S T P Q S .
40 P R S R P P . P Q S .
41 P S S S . P P P P P P
42 P . S S S P . . . . .
43 P S T T S P . . . . .
44 P S S S S P . . . . R
45 P . R R R R R R R R R
46 P R R R P P P P P P P
47 R R R S Q Q S Q Q Q Q
48 R R S S E Q Q Q Q Q Q
Legend
------
- R = Ride track/support
- P = Footpath
- . = Owned ground
- E = Ride or park entrance
- T = Tree or foliage
- Q = Queue path
- S = Scenery/building
这种文本表示虽然功能完整,但也暴露了 Claude 在视觉空间理解上的显著劣势。
AI 能力边界:数字界面优势与空间任务困境
Claude 的强项领域
游戏知识与信息收集:Claude 对 RCT 相关知识的熟悉程度令人惊讶,并且完全不受 “被黑客入侵到 90 年代末电脑游戏” 这一前提的影响。正如项目团队所观察到的,“Claude 擅长在游戏多样化的指标和可观察性功能中进行筛选。它在同情总体游客想法和审查游乐设施财务状况之间切换。”
数字杠杆操作:Claude 在调整配置方面表现出色。开关游乐设施、设置价格、雇佣员工(在 RCT2 中自动放置)以及启动营销活动。这些操作不需要空间推理,并且最类似于传统的 CLI 操作。
商店 / 摊位和平坦游乐设施的放置:接近 Claude 在游戏中能力的边缘是需要基本空间理解的公园任务。即使找到主要路径也可能需要几个迭代步骤和累积推理。Claude 可以可靠地放置卫生间、饮料摊位和其他摊位。它甚至可以尝试放置旋转木马等平坦游乐设施,这需要额外的复杂性来放置游乐设施入口、出口和连接路径。
Claude 的显著弱点
路径和连接:定位主要路径、规划新路径以及连接游乐设施入口 / 出口都是 Claude 面临的严重挑战。障碍物如游乐设施、树木、围栏和地形坡度的额外复杂性可能迅速结合,压倒 Claude 对空间现实的松散把握。
过山车:放置较大的预制过山车是游戏中另一个高度视觉化的任务。游乐设施放置需要在多个尺度上进行空间推理,从相对于路径的相对距离,到单个景观障碍物,再到山丘等大型屏障结构。Claude 经常放弃最佳定位,只是将游乐设施扔到远离主要路径的绿地,然后无法建造必要的长路径来连接这些努力。
垂直维度:Claude 在游戏中的空间推理已经在二维中达到了极限。倾斜地面、地下建筑和任何自定义过山车设计工作的第三个空间维度基本上是不可能的。不幸的是,这是游戏中最丰富的玩法之一。
开发过程:多 AI 代理协作的工程实践
代理协作模式
项目开发采用了多 AI 代理协作的模式,主要涉及:
- Claude Code:作为主要编码代理,负责实现具体功能
- Codex on GPT-5.1-codex:用于规划和架构设计
- ChatGPT o3-Pro Deep Research:提供初始技术方案和路线图
团队从 ChatGPT o3-Pro Deep Research 的计划开始,用 Claude Code 分解成路线图,然后管理四个 Claude Code 终端来执行路线图。经过三个小时,构建卡住了,于是他们抛弃了整个项目重新开始。
第二次迭代使用了 GPT-5.1-codex 上的 Codex。团队还将事情分解成更小的块,使用仔细的规划阶段,并将上下文保持在约 60% 的剩余水平,这是编码模型表现最佳的水平。唯一其他显著的挫折是意外使用了 “revert” 这个词,Codex 按字面意思理解,并在一个积累了 1-2 小时进度的文件上运行了 git revert。
开发挑战与解决方案
反馈循环问题:保持所有四个代理忙碌需要大量的心智带宽。每个实现阶段都会产生已完成工作的摘要,规划阶段输出约 500 字。研究任务产生大量需要批判性审查的散文,有时在审查时无法记住最初的问题或工作线程。整体体验不太像编程,更像…… 管理模拟游戏。
QA 验证瓶颈:编码代理在反馈循环中茁壮成长,他们可以在其中证明实现是完整和正确的。这个项目受到一个破碎的迭代循环的阻碍,在这个循环中,团队必须手动 QA 游戏内终端体验和功能。当 QA 是手动过程时,氛围编码既缓慢又令人沮丧。
集成测试策略:游戏内的 Claude 成为了勤奋的测试者,集成的错误报告工具让它能够直接将错误报告写入仓库,供编码代理轻松审查。这个反馈循环对于完善帮助文本、CLI 中的不一致性和观察到的错误非常宝贵。
整个项目耗时约 40 小时,分布在几周内,这比最初预期的时间要多得多,但这个时间包括了规划、设计和大量的范围蔓延,所有这些都在终端中展开。
工程参数与可落地实践
技术栈配置要点
对于希望复现或类似项目的开发者,以下技术参数值得关注:
-
系统要求:
- macOS (Sonoma 或更新版本) 与 Xcode、CMake 3.24+ 和 Ninja
- RollerCoaster Tycoon 2 (在 Steam 上购买)
- libvterm 用于终端渲染:
brew install libvterm pkg-config
-
构建流程:
# 克隆分支 git clone -b claude https://github.com/jaysobel/OpenRCT2.git cd OpenRCT2 # 配置 cmake -S . -B build -G Ninja -DOPENRCT2_PREFER_STATIC=ON # 构建所有内容(游戏 + CLI 工具 + 终端) cmake --build build --target agent_bundle -j8 # 运行 ./build/OpenRCT2.app/Contents/MacOS/OpenRCT2 -
通信协议:
- JSON-RPC over localhost:9876
- 同步请求 - 响应模式
- 错误处理包含详细的上下文信息
监控与调试清单
在类似 AI 代理集成项目中,以下监控点至关重要:
-
代理决策质量指标:
- 命令执行成功率(按类别细分)
- 空间任务 vs 数字任务的性能差异
- 迭代次数与任务复杂度的相关性
-
系统稳定性监控:
- RPC 连接保持时间
- 内存使用模式(游戏 + 代理)
- 响应时间百分位数(P50, P90, P99)
-
开发效率跟踪:
- 代理自主完成的功能比例
- 人工干预频率与类型
- 错误发现与修复的反馈循环时间
核心洞察:环境可读性作为 AI 代理的关键限制
这个项目最深刻的启示是关于环境可读性对通用 AI 代理的限制。正如团队总结的:“《RollerCoaster Tycoon》的信息界面极其清晰,Claude 在这方面非常敏锐。数字杠杆完全在 Claude 的能力范围内。Claude 能够管理公园员工并放置简单的便利设施,如饮料摊位、卫生间和长椅。Claude 在大动作上不足,如大型新过山车和路径干线。但这些不足显然源于尴尬的空间界面。”
对现实世界代理设计的启示
-
界面设计优先:对于 AI 代理,清洁、结构化的界面比复杂的视觉表示更重要。数字界面比空间界面更适合当前 AI 能力。
-
渐进式能力扩展:与其追求 “全能代理”,不如构建具有紧密范围系统访问权限的任务特定代理。这是安全态势,也是围绕当前代理智能和上下文窗口限制的优化。
-
反馈循环工程:编码代理在反馈循环中茁壮成长,他们可以在其中证明实现是完整和正确的。任何 AI 代理项目都必须投资于强大的测试和验证基础设施。
-
混合智能方法:当前 AI 最适合自动化尽职调查而非智能。对于操作挑战,人类 - AI 协作模式比完全自主更可行。
未来方向与改进空间
基于这个项目的经验,有几个有前景的改进方向:
-
增强的空间表示:探索更丰富的文本空间表示,如分层描述、相对位置标记和拓扑关系图。
-
多模态集成:结合视觉模型处理空间任务,同时保持文本模型处理逻辑和规划。
-
自适应界面:开发能够根据 AI 能力动态调整的界面,为不同任务类型提供不同抽象级别的表示。
-
自我改进机制:构建允许 AI 从错误中学习并改进其策略的反馈循环,减少对人工干预的依赖。
结语
《RollerCoaster Tycoon》教会了一代成年人如何与图形用户界面心灵融合。在这个 GUI 和智能计算机未来之间的过渡时期,RCT 成为了我们占据的混乱中间状态的有趣案例研究。
公园正在运行。Claude 掌握着控制权。游客们说他们很快乐。但更重要的是,这个项目为我们理解 AI 代理的能力边界和设计原则提供了宝贵的实践经验。环境可读性、界面设计和反馈循环工程 —— 这些不仅仅是游戏修改的技术细节,而是构建实用、可靠 AI 系统的核心要素。
在 AI 日益融入我们数字生活的时代,像这样的实验项目提醒我们:最强大的智能不是无所不能的通用智能,而是在精心设计的环境中发挥特定优势的专用智能。通过理解这些边界,我们可以更明智地设计 AI 系统,让它们在我们真正需要的地方提供最大价值。
资料来源:
- Ramp Labs 博客文章 "We Put Claude Code in RollerCoaster Tycoon" - https://ramplabs.substack.com/p/ai-plays-rollercoaster-tycoon
- OpenRCT2 Claude 集成代码仓库 - https://github.com/jaysobel/OpenRCT2