以「Cursor → GPT → Unity」为核心的自动化生产线,构建可循环、可验证的 AI 游戏原型迭代体系。


🧭 核心理念

将 AI 工具链视作“生产协作体”:

工具角色定位职责
Cursor生产工人生成脚手架、实现功能
GPT(评审官)总工程师 / 设计审计检查设计一致性与风险
Unity(测试工位)QA 工程进行自动化压测与结果回归

目标:一次命令,完成从设计 → 代码 → 压测 → 验收的完整循环。


🗂️ 项目结构与文件说明

/game
  /Assets
  /Packages
  /ProjectSettings
/tools
  generate.sh        # 调用 Cursor / GPT 生成任务初稿
  review.sh          # GPT 设计与代码评审
  stress.sh          # Unity 批处理压测
  gate.sh            # 汇总验收逻辑
/docs
  design.md          # 设计原则、接口契约
  tasks.md           # 待办清单(Cursor 的输入)
/reports
  review.json
  metrics.json

🔁 工作循环(AI 自动执行)

0. 人工准备阶段

/docs/design.md 中定义:

  • 功能目标
  • 性能阈值
  • 接口契约

/docs/tasks.md 中写明当前任务。

1. Cursor 自动生成代码

./tools/generate.sh

自动根据任务生成脚本与组件。

2. GPT 设计/代码审查

./tools/review.sh

输出 /reports/review.json,检查:

  • 设计原则是否被破坏
  • 是否有潜在性能/安全问题
  • 是否缺少测试点

3. Unity 自动压测

./tools/stress.sh

运行 Unity 无头模式(-batchmode),执行性能测试,输出 /reports/metrics.json

4. Gate 验收环节

./tools/gate.sh

根据阈值(FPS、内存、GC 等)和评审结果,决定是否合入。


⚙️ 核心脚本实现

stress.sh(Unity 压测)

#!/usr/bin/env bash
set -e
UNITY="/Applications/Unity/Hub/Editor/2022.3.XXf1/Unity.app/Contents/MacOS/Unity"
PROJECT_PATH="$(cd "$(dirname "$0")/.."; pwd)"
LOG_PATH="$PROJECT_PATH/reports/stress.log"
METRICS="$PROJECT_PATH/reports/metrics.json"
 
$UNITY -batchmode -nographics -quit   -projectPath "$PROJECT_PATH/game"   -executeMethod LoadTest.Run   -logFile "$LOG_PATH"
 
python3 - <<'PY'
import json, re, pathlib
log = pathlib.Path("reports/stress.log").read_text(errors="ignore")
def grab(pat): 
    m = re.search(pat, log); return float(m.group(1)) if m else None
out = {
  "fps_avg": grab(r"FPS_AVG:\s*([\d.]+)"),
  "fps_p95": grab(r"FPS_P95:\s*([\d.]+)"),
  "gc_mb_min": grab(r"GC_MB_PER_MIN:\s*([\d.]+)"),
  "mem_peak_mb": grab(r"MEM_PEAK_MB:\s*([\d.]+)")
}
pathlib.Path("reports/metrics.json").write_text(json.dumps(out, indent=2))
print(out)
PY

gate.sh(统一验收)

#!/usr/bin/env bash
set -e
REVIEW="reports/review.json"
METRICS="reports/metrics.json"
 
req_fps=60
req_p95=45
req_gc=30
req_mem=2000
 
ok_review=$(python3 - <<'PY'
import json
r=json.load(open("reports/review.json"))
print("OK" if len(r.get("blockers",[]))==0 else "NO")
PY
)
 
fps=$(python3 -c 'import json;print(json.load(open("reports/metrics.json"))["fps_avg"])')
p95=$(python3 -c 'import json;print(json.load(open("reports/metrics.json"))["fps_p95"])')
gc=$(python3 -c 'import json;print(json.load(open("reports/metrics.json"))["gc_mb_min"])')
mem=$(python3 -c 'import json;print(json.load(open("reports/metrics.json"))["mem_peak_mb"])')
 
if [ "$ok_review" = "OK" ] &&    (( $(echo "$fps >= $req_fps" | bc -l) )) &&    (( $(echo "$p95 >= $req_p95" | bc -l) )) &&    (( $(echo "$gc <= $req_gc" | bc -l) )) &&    (( $(echo "$mem <= $req_mem" | bc -l) )); then
  echo "✅ PASS"
else
  echo "❌ FAIL  review=$ok_review fps=$fps p95=$p95 gc=$gc mem=$mem"
  exit 1
fi

🧠 GPT 评审模板(附于 design.md 顶部)

你是“设计与代码审计官”。
目标:确保实现严格符合《design.md》的“设计原则 / 接口契约 / 性能阈值”。
 
输出格式:
{
  "blockers": [严重问题],
  "warnings": [优化建议],
  "tests": [应新增的测试用例]
}

🧪 Unity 压测实现示例

文件路径:Assets/Tests/LoadTest.cs

using UnityEngine;
using UnityEngine.SceneManagement;
 
public class LoadTest {
    public static void Run() {
        SceneManager.LoadScene("StressScene");
        // 模拟 Bot 执行逻辑
        // 收集性能数据(FPS / GC / 内存)
        Debug.Log($"FPS_AVG:{avg}");
        Debug.Log($"FPS_P95:{p95}");
        Debug.Log($"GC_MB_PER_MIN:{gc}");
        Debug.Log($"MEM_PEAK_MB:{mem}");
    }
}

📊 自动化与集成建议

  • 本地一键执行make run 串联 4 步骤。
  • CI 集成:在 GitHub Actions 中自动触发 review + stress + gate
  • 可视化监控metrics.json 定期推送至仓库,Obsidian + Dataview 实现性能趋势可视化。

🚀 启动指南

  1. 初始化目录结构;
  2. design.md 定义性能与设计规则;
  3. 用 Cursor 根据 tasks.md 自动生成模块;
  4. 执行:
    ./tools/review.sh && ./tools/stress.sh && ./tools/gate.sh
  5. Gate 通过即合入,否则根据 review.json 回修。

🔧 可拓展方向

  • 增加 LoadTest.cs 的行为树或智能体模拟;
  • 集成 GitHub Actions 性能报表上传;
  • 增设 Slack/Discord 通知通道;
  • 扩展至 AI World Simulation 级自动生成与验证。

下一步建议:

  • 生成 LoadTest.cs 详细实现样例;
  • 创建 GitHub Actions CI 流程模板;
  • 输出统一 YAML 流水线文件,实现真正意义上的“一键 AI 生产线”。