Lesson 5 / 6
Agent 编码循环
在 Unity 里,agent 的可靠性主要来自边界:小范围、相似实现、先分析、后修改、可验证。
标准工作循环
安全 loop:不要跳步
需求产品验收
只分析路径 / 链路
审核是否越界
限定允许文件
小改沿用实现
Diff红旗就停
验证手动 / 测试
- 理解任务: 需求、验收、风险、不能改什么。
- 搜索相似实现: 找 2–3 个项目内已有功能,沿用风格。
- 建立影响范围: 列文件路径、类名、Scene / Prefab / Context 绑定可能影响。
- 让 agent 给方案: 先不要改代码。
- 人工审核方案: 越界就收窄任务。
- 小步修改: 只改必要文件。
- 编译 + 测试 + Unity 手动验证: 不用“看起来应该没问题”收尾。
- Git diff 审查: 检查 Unity 高风险文件。
禁止的粗糙提示词
What — 以下这类 prompt 会让 agent 随便改:
帮我实现 XX 功能。
这个按钮点了没反应,修一下。
把这个页面优化一下。
用更好的架构重构这块。
Why — 范围无限、缺少项目上下文、没有禁止项、没有验收标准,agent 会倾向于猜和越界。
日常分析提示词:短而可审查
What — 让 agent 先证明它理解了链路,再决定是否让它改代码。
先不要修改代码。
任务:分析“{现场选定的功能}”在 HappyMahjong 中的最小功能链路。
只输出:
1. View / Mediator / Command / Service / Model 文件路径。
2. 点击事件绑定方式,区分 UI 点击绑定。
3. Mediator dispatch 的事件名。
4. Event → Command 绑定位置。
5. 是否经过 UIUtil / PopUpManager / TSDK / 项目网络层。
6. 最小可能修改文件。
7. 不应修改文件。
8. 手动验证清单。
所有结论必须附带文件路径。
不确定处标注“推测”。
Why — “只分析不修改”是 Unity 项目里最便宜的安全阀。没有路径的方案不可审查。
不要每次都问启动链路。 只有涉及启动、跨 Context、资源、热更或网络框架时,才升级到架构排查 prompt。
可用的实现提示词
What — 确认链路可信后,用明确边界的 prompt 让 agent 实现。
任务:{现场选定的功能}
要求:
- 先搜索项目中 3 个相似实现,优先在同一 Hall / Game 模块中找。
- 沿用现有 StrangeIoC 绑定、事件、异步和网络请求方式。
- 不直接修改 Assets/Scripts/Base/StrangeIoC/ 框架源码。
- 本次不修改 Scene、Prefab、ProjectSettings、Packages、第三方插件,除非我明确确认。
- 如果需要修改 *Context.cs 绑定,先说明原因和影响范围。
- 页面关闭后必须取消或忽略未完成请求回调。
- 请求成功、失败、取消后都必须恢复正确状态。
- 为普通 C# 状态逻辑补 Edit Mode Test;涉及 View / Prefab 的给 Unity 手动验证步骤。
开始前先输出:相关文件、实现方案、风险点、计划修改范围。
Why — 没有边界的 agent 会“顺手”改启动、框架或 Prefab。明确边界是安全开发的核心。
产品和后台各自给什么
同一个需求,两个视角
产品视角
用户入口、正常验收、异常验收、禁止项、文案和埋点。
后台视角
View / Mediator / Command 链路、相似实现、数据边界、可验证范围。
产品同学最该提供什么
- 用户操作入口:哪个页面、哪个按钮、什么状态下;如果知道,补充 UI 点击绑定 或 Prefab 名称。
- 正常验收:成功时看见什么。
- 异常验收:失败、空数据、超时、重复点击、关闭页面。
- 文案和埋点:不要让 agent 猜。
- 不可改范围:例如不改页面布局、不改资源、不改主流程。
后台同学最该提供什么
- 接口协议:路径、请求、响应、错误码、兼容字段。
- 相似接口:项目内已有哪个功能最接近,尤其是同一 StrangeIoC 模块内的 Command / Service。
- 数据边界:空值、未知枚举、时间格式、旧客户端兼容。
- 验证入口:哪些普通 C# 类可以测;如果暂时没有测试命令,至少给 Unity 手动验证清单。
- 取消和重入规则:请求中关闭页面、连续点击、重复打开。
Retrieval check
让 agent 开始修改前,最重要的一步是什么?
Primary source
本节主要来自内部规则 Unity Project Agent Rules 的 “Unity Vibe Coding 的正确工作方式” 和 “推荐的 AI 项目规则”,以及项目内 Docs/04-ai-index/code-map.md、Docs/04-ai-index/risky-files.md。
Ask the agent: 不确定时,把任务降级成“只分析,不修改”。在 HappyMahjong 里,要求 agent 先输出 Context / View / Mediator / Command / Service / Prefab 路径,这是最便宜的安全阀。