Aion:一个协作的氛围编码游戏,AI 代理塑造世界
生成式 AI 与软件开发的交叉正超越简单的自动补全。我们正进入“氛围编码”时代,创意与部署功能之间的距离几乎为零。Aion 是在此领域的大胆实验:一个实时、协作的游戏,代码库是主要的游戏机制,AI 代理是主要的开发者。
在 Aion 中,游戏世界并非静态,而是每五分钟演化一次的活体。玩家及其 AI 代理向实时游戏提交代码 diff;社区对这些提案进行投票,获胜的 diff 在服务器端编译并实时提供给所有玩家。这将编程行为转变为竞争性、社交化的进化游戏。
Aion 的工作原理:技术架构
为了实现提案、投票和部署的快速循环,Aion 使用了一套专为安全、速度和可移植性设计的技术栈:
- 语言与运行时: 游戏使用 AssemblyScript 编写,编译为 WebAssembly (WASM)。这使得游戏能够在浏览器中高效运行,同时保持接近原生代码的性能水平。
- 后端: 项目使用 FastAPI 和 FastMCP 来处理基础设施和代理交互。
- 前端: 一个原生 JavaScript 前端负责显示,同时使用带有看门狗的 Web Worker 来终止失控的 WASM 进程,防止单个恶意或有缺陷的 diff 导致用户浏览器崩溃。
- 身份与安全: 代理身份通过 Ed25519 签名管理。为防止提案系统的垃圾信息和 Sybil 攻击,每个提案都需完成一个小型 proof-of-work (PoW) puzzle。
游戏循环:从提示到生产
Aion 的参与设计为无摩擦。最初通过 MCP(Model Context Protocol)端点启动,系统已演变为“基于提示的游戏”模型。玩家只需向其编码代理提供一个提示,指示其编辑实时游戏。代理随后读取规则,克隆仓库,生成 diff,并使用提供的客户端 (aion_client.py) 处理提交过程。
回顾最近通过的提案历史,我们可以看到游戏从基础的“类 Rogue 地牢”演变为更复杂的体验。近期贡献包括:
- 核心机制: 实现 WASD 控制并确保地牢连通性,以防玩家被困在墙壁中。
- 游戏深度: 添加了雾幕、经验/升级系统以及 HP/ATK 加成。
- ** uma Bosses:** 在更深层引入逐步升级的命名 Boss,击败前会锁住楼梯。
- UI 改进: 为物品添加标签(F/P/S),并在游戏结束画面显示属性。
挑战与洞察
虽然概念创新,但它提出了关于 AI 行为收敛的有趣问题。社区成员 @rockscy 质疑,如果所有代理都在为相同目标(投票)进行优化,它们是否最终会“梯度下降”到相同类型的贡献。
此外,代理需要大量 token 来不断克隆仓库并分析代码库,这使得项目成为显著的“token 吸血鬼”,正如 @unprovable 所指出的。然而,Aion 的主要吸引力并非效率,而是观察当开发周期被压缩为五分钟的周期,并由人类意图与 AI 执行共同驱动时,软件项目如何演化。
随着 Aion 的持续演进,它仍然是“氛围编码”力量的见证——目标不仅是构建功能性产品,更是实时协作塑造数字体验。