分类: Minecraft 插件

用 AI 团队打造 Minecraft 服务器#11 名 AI 组长 + 15 名组员,打造 MMORPG 插件的结构!🤖

本文译自韩语原文。

要点速览

在制作 Minecraft MMORPG 服务器的过程中,我让一个 Claude 当组长,把策划、设计和各模块开发共 15 个团队作为定时任务来运行,本文介绍这套结构。核心是:人只负责方向和决策,其余全靠指令书和报告来运转。

  • Paper 1.21.11 · 1 个 Java 插件(core + 13 个模块)· 2026-09-23~30 实际开发记录
  • 不用嘴给组员下指令,只写在指令书文件的 '本次执行'(이번 실행)一节里 —— 有记录可查,重跑也会做同样的事
  • 每个团队只在自己的分支(git worktree)上干活,合并、构建、部署只由组长一个人负责
  • AI 团队悄无声息停下来的最常见原因,是'在等人批准'
目录10 项

大家好!我是 Mojangcam 😎

最近我在和朋友们一起做一个 Minecraft MMORPG 服务器。等级、属性、职业、技能、任务、商店、怪物、宠物,全部由我们自己写的插件来驱动。问题是,这些几乎得靠我一个人来做。

所以我换了个方法。我让一个 AI(Claude)当"开发组长",再在它下面挂上策划、设计和各模块开发共 15 个团队,全部以 AI 定时任务的形式运行。我只负责定方向、进游戏测试、做决定。

这个系列就是这样用一周时间做出来的记录。第 1 篇先从结构讲起,看看 AI 团队是怎么干活的。

  • 🧑‍💼 1 名组长 + 15 名组员各自做什么
  • 📄 指令书和报告长什么样
  • 🔀 多个团队同时改代码时怎么合并
  • 🧯 团队真的停摆过的那些事件

用户 → 组长 Claude → 15 个组员 → 插件 jar 和资源包,再连到 Discord 的工作结构图


📌 为什么要分成"AI 团队" 🧠

一开始我是在一个 AI 对话窗口里把所有东西做出来的。可是模块越多,问题就越多。

  1. 上下文装不下 —— 改着战斗公式,就把任务代码忘了。
  2. 没法同时进行 —— 一次只能推进一件事。
  3. 留不下记录 —— "当时为什么这么定?"很难再找回来。

所以我像真正的公司一样做了分工。组员只看自己的模块文件夹,组长只看全局和合并。

角色 由谁担任 负责的事
用户 我 方向与决策、游戏测试、反馈
组长 Claude(对话) 写指令书、运行团队、读报告、合并·构建·部署、整理 Discord
策划组 定时任务 数值·经验曲线·世界观·命令文档、模拟
设计组 定时任务 绘图提示词、资源包规格
13 个开发组 定时任务 core · economy · quest · job · level · combat · skill · item · companion · world · mob · log · storage

📌 第 1 步 - 指令书:别用嘴说,写进文件

组员(定时任务)每次都是没有记忆、从头开始。所以要做的事全部写在文件里。每个团队都有一个 orders/<팀>.md 文件,规则只有三条。

  • 最上面的 ## 이번 실행(本次执行)一节就是这次要做的事
  • 以前的指令只把标题改成 ## (이전 실행)(上次执行),然后挪到下面(不删除)
  • 组长运行团队时不额外补充任何话。指令只写在文件里

实际的指令书长这样(有删节)。

Markdown
## 이번 실행 — 2026-09-30 #9 — 퀘스트 GUI 그림 연결
근거: 사용자 요청. 슬롯 배치 정본 = design/prompts-for-user_v7.md ① §3 표.
1. 배경: 창 제목 = 음수 공백 + 배경 글리프 + 흰 제목 (오르벨 메뉴와 같은 방식)
2. 아이콘 = item_model myserver:gui/quest/<id>, 설명은 전부 툴팁으로
3. 일지: 탭 0-1 메인 · 2-3 서브 · 4-5 일일 · 6-7 완료, 9-44 목록 36칸 …
9. 테스트: 슬롯 배치 단위 테스트, quest/ 밖 파일 수정 금지
시간: 11:45 전에 끝나면 오늘 테스트 빌드에 넣음

我们一项一项来看 💡

  • 依据(근거):谁、为什么提出这个请求。以后它就是"当时为什么这么做?"的答案。
  • 编号列表:组员直接拿来当检查清单用。
  • 测试·范围:每次都写上"别碰自己文件夹以外的东西"这样的围栏。
  • 时间(시간):急的活就写成"几点前做完就放进这次构建,否则放到下次",免得赶工把东西搞坏。

不用嘴说、改成写进文件之后,同样的任务重跑一遍,结果也几乎一样,而且指令历史会原原本本地留下来。这是最大的好处。


📌 第 2 步 - 报告:让组长 3 分钟内读完

组员结束时会在 reports/<팀>/YYYY-MM-DD_HHMM.md 留下报告。格式是固定的,所以组长能读得很快。

编号 内容
① 假设 —— 指令书里没写、自己决定的东西
② 新建·修改的文件、提交
③ 需要 core 提供的功能请求
④ 测试结果(通过了几个)
⑤ 游戏内检查清单 —— 需要人亲自确认的事
⑥ 对其他团队的请求
⑦ 给组长 —— 要合并的提交、需要用户决定的事

其中 ① 和 ⑦ 尤其重要。AI 有个倾向,会把自己不知道的事情编得像模像样地直接定下来。让它把这些单独写成"假设"之后,我就能在之后一次性确认。


📌 第 3 步 - 合并:团队在分支上干活,main 只归组长

13 个模块同时在改,所以我最担心的就是代码冲突。规则是这样定的。

  • 每个团队用 git worktree 拥有自己的工作文件夹 + 自己的分支(module/<팀>)
  • 组员不改自己模块文件夹以外的文件 —— 需要 core 加东西时,只写成"core 请求"
  • 合并到 main、构建、部署到服务器只由组长一个人负责
  • 合并之前,组长会机械地做两项检查
    • 分支有没有碰自己文件夹以外的东西
    • 权限节点名有没有遵守规则(myserver.<모듈>.…)
终端
# 这个分支是否改了自己模块以外的文件夹(结果为空才算通过)
git diff --name-only main...module/quest | cut -d/ -f1 | sort -u | grep -vx quest

为什么会有第二项检查,我会在第 2 篇里讲。(发生过两个模块整个被关掉的事件 😅)

构建完成后,我把 jar 放到服务器的 plugins/update/ 文件夹里,等服务器重启时就会换上新版本。


📌 AI 团队停摆过的那些事件 🧯

1. 团队悄无声息地停了 —— "等待批准"

有一阵子,组员们没能完成工作,一直卡在那里。没有报错,也没有通知。原因是请求删除文件的权限。我在工作规则里写了"需要的话就申请删除权限",结果组员为了清理文件去申请权限,然后就一直在等人批准。

解决办法是改规则。

  • 组员不删除文件。不需要的文件只移动到 _to_delete/<팀>/
  • 需要从 git 中移除的文件只用 git rm --cached
  • 如果确实需要人批准,不要等,在报告里写成"受阻"然后结束

在 AI 团队里,最可怕的不是报错,而是一声不吭地干等。

2. git 锁文件

多个任务同时操作同一个仓库,经常会留下 index.lock、HEAD.lock,把下一个任务卡住。我的解决办法不是删除,而是定了一条规则:给它们加上唯一的名字,挪到别的文件夹。

3. 电脑一睡,团队也跟着睡

组员们在连接到我电脑的文件夹里干活。电脑一进入睡眠,连接就断了。所以我让组长先检查连接,不行的话就自己预约 1 小时后再试一次。


📌 人做的事 vs AI 做的事 💬

人(我) AI 团队
像"伤害前期要高,后期攻击力的作用要更大"这样的方向 设计公式、模拟 6 种职业、写代码
进游戏截图,指出奇怪的地方 找原因、修复、构建、部署
从推荐方案里做选择 提出推荐方案、整理受影响的模块

说到底,我做得最多的事就是进游戏看一看,然后简短地说几句。这种分工就是这个系列的核心。


📌 结语

今天整理了 AI 团队干活的结构。

  • 指令写进文件,报告用固定格式
  • 团队只在自己的分支上干活,合并只由组长一个人负责
  • AI 团队停下来的最常见原因是等人批准

下一篇会讲在一个插件里装下 core + 13 个模块的结构,以及模块整个被关掉的事件、伤害显示成 1000029 的事件。敬请期待 🙌

本文由我定方向,与 Claude 一起整理而成。这个服务器是个人项目,并非 Minecraft 官方内容,与 Mojang·Microsoft 无关。

连载 · 共 5 篇中的第 1 篇

用 AI 团队打造 Minecraft 服务器

  1. #11 名 AI 组长 + 15 名组员,打造 MMORPG 插件的结构!🤖当前文章
  2. #2一个插件装下 13 个模块!core 结构与"1000029 伤害"事件 🧩
  3. #3数值 ×10、12 小时经验曲线、6 个职业模拟!📊
  4. #4ChatGPT 画图、Claude 审核的资源包流水线!🎨
  5. #5用 Discord 机器人运营开发团队!决策论坛·命令列表·资源包频道 🤝

作者

Mojangcam

亲手写代码、跑服务器、解决卡住的报错,把一路学到的东西记录下来的开发与 IT 实战博客