# 如何把 AI 驯成靠谱的「开发同事」?|AI 游戏开发(三):原子任务 + RED/GREEN + 协作记录
如何把 AI 驯成靠谱的「开发同事」AI 游戏开发三原子任务 RED/GREEN 协作记录系列第 3 篇 / 共 6 篇 项目《全职炒股》 技术栈C# · Unity 6000.0.23f1 · NUnit · JSON Runtime Config · Replay · UnityPoco「请继续完善家庭系统」——这种模糊指令会让 AI 一口气改掉模型、日结、UI、存档、文案和测试最后你根本不知道它到底解决了什么、又破坏了什么。项目后期所有工作都被改造成「原子任务」每个任务同时描述「要做什么」和「不要做什么」。本文给出可直接复用的任务结构、标准 Prompt 和 RED/GREEN 流程。协作记录也不是流水账而是项目的长期记忆——它决定了下一个 AI 会不会推翻上一个 AI 的设计。配图建议一张「AI 任务卡」示例截图 RED/GREEN 测试对比图最有说服力。 本文你将收获一个合格任务卡必须包含的结构目标 禁止修改 完成条件 剩余风险可直接复制粘贴的标准任务 Prompt 模板用 RED/GREEN 先写失败测试降低 AI 幻觉为什么新测试通过还不够必须跑相关回归协作记录怎么写才有价值以及文件冲突该怎么处理一、AI 协作最常见的失败方式如果我对 AI 说请继续完善家庭系统。AI 可能会同时修改家庭模型、日结流程、UI、存档、文案和测试。即使结果看起来能运行我也很难知道它到底解决了哪个问题。它是否修改了正式数值。它有没有破坏离线逻辑。哪个测试证明它完成了。失败的测试是不是本次引入的。因此项目后期所有工作都被改造成“原子任务”。二、一个合格任务应该包含什么我为每个任务使用下面的结构任务编号A21i301 任务标题把市场周期参数迁移到运行时 JSON 任务来源技术设计文档中的配置驱动要求 本次目标只迁移市场周期字段 禁止修改图表、交易 UI、音频、职业数值 预计文件配置 JSON、配置加载器、预检、测试 完成条件JSON 可加载版本正确预检通过回归测试通过 剩余风险强交易窗口消息范围仍有旧分支这个结构的核心思想是任务必须同时描述“要做什么”和“不要做什么”。三、我给 AI 的标准任务提示词下面这份模板可以直接复用你现在处理任务任务编号-任务标题。 开始前请先读取 1. 协作入口文档 2. 与本任务相关的设计文档 3. 最近两份相关验收记录 4. 当前 git status 和目标文件 diff。 本次目标 - 目标 1 - 目标 2 明确禁止 - 不修改无关系统 - 不修改正式数值 - 不删除其他协作者的改动 - 不把开发测试入口带入正式包。 请按以下顺序执行 1. 先说明当前实现和缺口 2. 先增加能暴露问题的测试 3. 完成最小代码修改 4. 运行目标测试和相关回归 5. 检查 diff 6. 输出修改文件、测试结果、失败原因、剩余风险 7. 新增一份协作记录。四、使用 RED/GREEN 方式降低 AI 幻觉对行为型需求我倾向于先让 AI 写一个会失败的测试。例如要增加 Replay 的TimingVersion字段可以先写[Test]publicvoidReplayReportIncludesFormalTimingVersion(){ReplayReportreportRunScenario();Assert.That(report.TimingVersion,Is.EqualTo(26.6.11.3-400tick));}此时测试应该因为字段不存在而失败这就是 RED 阶段。然后 AI 实现字段、生成逻辑和导出逻辑再运行测试。如果测试通过就是 GREEN 阶段。这样做有两个好处AI 必须面对一个具体缺口而不是凭感觉判断自己是否完成。测试本身成为未来回归的保护网。五、不要只跑新增测试新测试通过后还需要运行相关回归。例如修改市场配置至少要检查RuntimeConfigLoader。ProjectSetupValidation。MarketRegimeEngine。MessageEngine。Replay。构建启动预检。项目中曾出现过这种情况新增加的配置测试全部通过但旧的消息数量断言仍然假设旧数值。这个问题不是新代码无法工作而是测试契约已经过时。测试失败时不能盲目把实现改回旧规则应该先判断哪一份设计口径是最新的再更新测试或实现。六、协作记录不是流水账而是项目记忆一份有效的协作记录应该包含事实而不是只写“已完成”。推荐结构如下# A21iXXX 任务标题 ## 任务来源 ## 当前观察 ## 修改范围 ## 未修改范围 ## 测试记录 | 测试 | 结果 | 证据 | |---|---|---| ## 失败与边界 ## 后续任务在这个项目中AI 进入新的任务前会先阅读协作入口文档、功能说明、验收记录和待办边界。这样可以减少重复调查也避免一个 AI 推翻另一个 AI 的设计。七、如何处理文件冲突如果目标文件已经有其他未提交修改AI 不应该直接覆盖。推荐流程暂停写入。查看当前git status。查看目标文件的定向 diff。阅读最近的相关协作记录。判断是同一功能的延续还是两个设计发生冲突。提出保守合并、局部重整或暂缓修改三种方案。人确认后再改代码。尤其需要小心以下区域Unity 场景 YAML。场景生成器。主菜单控制器。交易会话控制器。Runtime JSON 配置入口。PlayMode 总流程测试。这些文件经常被多个功能共享不能用“大范围格式化”来解决冲突。八、任务优先级不能只按“看起来有趣”排序我把任务分成四个优先级优先级含义示例P0阻塞构建、验收或正式配置Runtime 预检、tick 审计、包体回归P1直接影响主玩法交易、家庭闭环、离线回归、继续游戏P2支撑系统存档事务、音频设置、辅助展示P3长期扩展档案馆、相册、小游戏、长线内容档案馆和相册可能很有吸引力但如果交易主循环还有问题它们不应该抢占 P0/P1 的时间。九、Git 提交方面的经验早期提交可以快速推进但后期需要增加提交粒度。更理想的提交方式是一个任务编号 一组相关代码 对应测试 一份协作记录 一个清晰的 Git 提交这样出现回归时可以更容易定位问题也能让其他 AI 快速理解一次改动的范围。十、第三篇小结AI 协作的关键不是让 AI 获得更多自由而是给它更清晰的边界、更小的任务、更明确的测试和更完整的交接记录。下一篇会讨论一个随机游戏最难验证的问题如何用固定种子和 Replay让相同输入始终得到可以比较的结果。 系列导航 互动引导如果这篇对你有帮助点个 赞 、收个 藏 ⭐、关个 注更新不迷路有疑问或不同观点欢迎在评论区一起聊。上一篇为什么我的 Unity 游戏先做纯 C# 内核AI 游戏开发二三层架构让 AI 改代码不再牵一发动全身下一篇随机游戏也能 100% 复现AI 游戏开发四固定种子 Replay 哈希让偶发 Bug 无处可藏专栏导读和 AI 一起做游戏18 天开发一款 Unity 模拟游戏CSDN 6 篇连载导读标签#AI编程 #任务拆解 #TDD #Prompt模板 #协作记录 #Unity测试

相关新闻

编码智能体CV任务实测:从图像处理到运动检测的代码生成能力评估

编码智能体CV任务实测:从图像处理到运动检测的代码生成能力评估

1. 从“写代码”到“看世界”:编码智能体的视觉任务能力边界实测 最近几个月,编码智能体(Coding Agent)这个概念在开发者圈子里火得不行。从Cursor到Claude Code,再到各种开源方案,大家都在讨论AI能不能真正…

2026/10/8 19:09:54 阅读更多 →
我的 WordPress 独立站被黑了:攻击者 10 秒拿下后台权限(附完整排查流程)

我的 WordPress 独立站被黑了:攻击者 10 秒拿下后台权限(附完整排查流程)

跟各位朋友汇报下:我的独立站被入侵了,攻击者从创建管理员账号到上传并激活恶意插件,只用了 10 秒。 它盯上的不是网站本身,而是这个站背后的东西:订单数据、客户信息,和 Stripe、PayPal 的支付密钥。 如…

2026/10/11 13:22:55 阅读更多 →
华为OD机试备考指南:高频算法与工程实践解析

华为OD机试备考指南:高频算法与工程实践解析

1. 华为OD机试真题题库解析与备考指南 作为国内头部科技企业的核心人才选拔通道,华为OD(Outstanding Developer)机试一直是技术从业者关注的焦点。最近在开发者社区看到不少朋友在讨论真题题库的获取和使用技巧,恰好我去年辅导过几…

2026/10/13 9:55:55 阅读更多 →

最新新闻

Python爬虫实战:手机APP数据抓取与解析全流程

Python爬虫实战:手机APP数据抓取与解析全流程

简介:这份PDF资料面向具备Python基础、对网络请求与爬虫开发感兴趣的技术爱好者与研发工程师,围绕手机APP数据传输的抓取与解析展开,重点讲解如何借助Fiddler抓包定位登录与话题接口,再通过urllib2构造HTTP请求、携带Header与表单…

2026/10/14 3:04:31 阅读更多 →
C++ 对接 S3 对象存储实战:SDK 选型、分片上传与避坑指南

C++ 对接 S3 对象存储实战:SDK 选型、分片上传与避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 3:04:31 阅读更多 →
SQLite安装全指南:嵌入式数据库跨平台配置与常见坑

SQLite安装全指南:嵌入式数据库跨平台配置与常见坑

第一次折腾SQLite的时候,我找了一圈“Setup.exe”,愣是没找到。下载页面全是压缩包,网上一堆教程各写各的,有人说不用装,有人说得编译源码,看得人发懵。后来我才搞明白:SQLite的“安装”逻辑跟M…

2026/10/14 3:04:31 阅读更多 →
C++手写数据结构实战:动态数组、哈希表、AVL树与图算法

C++手写数据结构实战:动态数组、哈希表、AVL树与图算法

简介:《Implementing Useful Algorithms in C》由Dmytro Kedyk撰写,面向具备一定C基础、希望深入掌握算法设计与工程实现的开发者与计算机专业学生。全书从算法正确性证明、渐进记法与机器模型等基本原则切入,系统讲解数据类型选择、内存管理…

2026/10/14 3:04:31 阅读更多 →
本地27B模型配Function Calling:工具不触发的原因与实战

本地27B模型配Function Calling:工具不触发的原因与实战

给本地跑的27B模型配了三个专业工具之后,我做的第一件事就是拿它试聊天。你猜怎么着——工具列表明明挂在接口定义里,模型却像一个看见工具箱、却只肯用手拧瓶盖的人,简单问题全凭语言能力直接答,一个工具都不碰。我一度觉得这套配…

2026/10/14 3:04:31 阅读更多 →
容器内nvidia-smi报Unknown Error的排查与根治

容器内nvidia-smi报Unknown Error的排查与根治

凌晨两点半,工作群里弹出一条消息:某个长期跑的容器,前一秒还好好的,后一秒容器里的nvidia-smi直接报Failed to initialize NVML: Unknown Error。宿主机上执行nvidia-smi一切正常,新建一个临时容器也能正常看到卡&…

2026/10/14 3:03:31 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →