AI 工作流实战:用 Vibe Coding 模式完成一场 Game Jam 极限开发

当 Agent 学会"闭环",开发者还剩什么?

Game Jam 是一场与时间的赛跑——通常 48 小时,从零开始构建一款可玩的游戏原型。 在过去的 Game Jam 里,开发者最痛苦的不是写代码,而是在疲惫、灵感枯竭和不断崩溃的构建之间反复切换。 今年,我们做了一个疯狂的尝试:把整个开发流程交给 AI Agent,人类只负责"提供 Vibe(氛围/直觉)"。

结果出乎意料——它不仅跑通了,还跑赢了。

这背后的关键,并不是某个更强的模型,而是我们设计了一套完整的 Agent 闭环工作流。

什么是"Vibe Coding"?

“Vibe Coding” 这个词最早由 Andrej Karpathy 提出,核心思想是: 开发者不再逐行编写代码,而是描述"感觉"和"意图",由 AI 生成具体实现。

但在 Game Jam 这种高压场景下,单纯的"描述意图 → 生成代码"远远不够。 代码会编译失败、逻辑会冲突、需求会在凌晨三点被推翻。

我们发现:Agent 和人一样,离不开闭环。

闭环工作流:Agent 的"心流"是如何构建的

第一环:需求到任务(Spec → Task)

我们没有让 Agent 直接生成代码,而是先用 LLM 把模糊的 Vibe 拆解成结构化的任务列表:

## Game Concept
- 类型:Roguelike + 节奏音游
- 核心循环:移动 → 攻击 → 收集音符 → 强化

## Tech Stack
- 引擎:Godot 4
- 语言:GDScript
- 美术:程序化生成(不放任何外部素材)

## MVP 任务清单
1. 角色基础移动(冲刺、闪避)
2. 敌人 AI(追踪 + 攻击模式)
3. 音符掉落系统
4. 战斗与音符的耦合逻辑
5. 主菜单 + 失败/胜利画面

这一步看似简单,实则决定了 Agent 是否会"跑偏"。

第二环:代码到验证(Code → Verify)

Agent 写完代码后,必须自己跑构建、自己看报错、自己修复。

我们为 Agent 搭建了一个轻量的 CI 沙盒:

#!/bin/bash
# agent_verify.sh
godot --headless --quit 2>&1 | tee build.log
if grep -q "ERROR\|SCRIPT ERROR" build.log; then
  echo "❌ Build failed, agent must fix"
  exit 1
fi
echo "✅ Build passed"

Agent 的工作循环变成:

while not is_game_complete():
    code = agent.generate_code(task)
    result = sandbox.run(code)
    if result.has_error():
        task = agent.analyze_error(result)
        continue
    next_task = agent.pick_next_task()

第三环:游戏到反馈(Play → Feedback)

这是最关键的一环——让 Agent 真正"玩"自己做的游戏。

我们接入了一个简单的自动化测试 Agent,它会:

  • 启动游戏
  • 模拟键盘输入
  • 记录死亡次数、通关时间、帧率
  • 输出可读性强的反馈报告
class PlaytestAgent:
    def run_session(self, duration=300):
        game.launch()
        metrics = {
            "fps": [],
            "deaths": 0,
            "level_completed": False
        }
        for _ in range(duration * 60):
            action = self.decide_action(game.get_state())
            game.execute(action)
            metrics["fps"].append(game.fps)
            if game.player_died():
                metrics["deaths"] += 1
                game.respawn()
        return self.generate_report(metrics)

这份报告会回喂给开发 Agent,形成完整的反馈闭环。

Vibe Coding 的真实体感

在 48 小时的开发中,我们的分工是这样的:

角色人类Agent
创意决策✅❌
任务拆解协作✅
代码实现❌✅
Bug 修复❌✅
平衡性调整部分✅
最终润色✅❌

人类的角色,更像是一个 Product Owner——在关键节点做决策,而不是逐行审查代码。

最让我们惊喜的是:当 Agent 拥有完整闭环后,它展现出了类似"心流"的状态。 它会在凌晨四点钟连续修复 17 个 bug,会主动重构自己写过的烂代码,甚至会反驳人类的需求(“这个设计会导致帧率下降,建议改成……")。

一些踩过的坑

  1. 不要让 Agent 一次写太多代码 任务粒度必须细到 30 分钟以内能完成,否则 Agent 容易"迷失"在上下文里。

  2. 错误信息的可读性至关重要 Godot 的报错日志对人类不友好,对 Agent 同样不友好。我们写了一个日志清洗器。

  3. Playtest Agent 不能太"聪明” 它应该模拟普通玩家的行为,而不是用上帝视角通关,否则反馈会失真。

  4. 保留人类的"否决权" Agent 并不总是对的。在涉及玩法核心乐趣的设计上,必须由人类拍板。

未来:当每个开发者都有一个 Agent Team

这次 Game Jam 实验让我们看到了一种新的工作模式:

未来的独立开发者,可能不是一个人,而是一个人 + 一支 AI 团队。

  • 一个 Agent 负责写代码
  • 一个 Agent 负责测试
  • 一个 Agent 负责美术
  • 一个 Agent 负责音乐
  • 人类负责提供 Vibe

这不是科幻,而是已经发生的现实。

结语

Vibe Coding 不是"不写代码",而是把写代码变成一种更高维度的创作。 当 Agent 拥有完整的闭环能力——能从需求出发、能自我验证、能从反馈中学习—— 人类终于可以从繁琐的实现中解放出来,回到创作本身。

下一次 Game Jam,我们打算让 Agent 自己定主题、自己组队、自己开发。 到那时,Vibe Coding 才真正开始。


如果你也对 AI Agent + 游戏开发感兴趣,欢迎留言交流。下期我们会拆解 Playtest Agent 的完整实现。


本文由 NVIDIA API Catalog 托管的 minimaxai/minimax-m3 模型自动撰写并生成发布。