Reference
Agent Prompt Cards
不要把长 prompt 当咒语。先选正确档位:产品需求、后台日常、架构排查。
0. HappyMahjong 项目上下文头
下面这段可以贴在任意 prompt 前面,但不要每次都要求 agent 分析启动链路。
项目路径:/Users/lionqu/Github/NewHappyMahjongClient/HappyMahjongClient
Unity 版本:2021.3.15f1
启动场景:Assets/Scenes/AppMainScene.unity
框架:StrangeIoC / MVCS
UI:当前新功能不按 NGUI 开发;UIEventListener 与 Empty Click / EmptyClick 保留用于兼容和点击绑定;优先沿用所在模块现有写法。
项目规则:
- 先分析,不要直接修改。
- UI 加载优先走 UIUtil,弹窗优先走 PopUpManager。
- 点击绑定沿用现有 Button.onClick、UIEventListener.Get(...).onClick 或 Empty Click / EmptyClick 约定。
- 不要绕过 TSDK / 项目网络层。
- 不要修改 Assets/Scripts/Base/StrangeIoC/ 框架源码。
- 若涉及 Editor / Inspector / Prefab / Scene / meta,必须先说明必要性和 diff 风险。
- 验证必须检查 Unity Console 是否有新增红错,并记录第一条红错和 stack trace。
1. 产品实现者:把需求变成可开发任务卡
先不要修改代码。
我是产品,也会自己实现小功能。
请把这个需求整理成 HappyMahjong agent 开发任务卡:
需求:{一句话需求}
请输出:
1. 用户入口:页面、按钮、状态。
2. 正常验收:成功时看到什么。
3. 异常验收:失败、超时、空数据、重复点击、关闭页面、第二次打开。
4. 不允许改什么:布局、资源、Prefab、Scene、主流程等。
5. 风险判断:是否只涉及同模块 C# 小改,还是涉及 Prefab / Scene / 启动 / 框架。
6. 需要客户端确认的问题。
7. 这是新增模块、改现有模块,还是跨模块修改。
8. 如果是新增模块,建议使用哪个模板。
9. 如果是改现有模块,模块边界是什么。
10. 建议先让 agent 分析哪些文件或模块。
11. 建议允许修改的文件范围。
12. 是否涉及 Editor / Inspector / Prefab / Scene / meta;如果涉及,说明为什么。
不要写实现代码。
2. 后台 / 全栈日常用:分析 UI + 数据功能链路
先不要修改代码。
我是后台/全栈,也会自己实现数据 / 接口功能。
任务:分析“{用户操作或接口数据变化}”在 HappyMahjong 中的最小功能链路。
只输出:
1. 所属模块与 Context:AppContext、LoginContext、SelectionContext、GameContext 或 IStrangeContext。
2. View / Mediator / Command / Service / Model 文件路径。
3. 点击事件绑定方式:Button.onClick、UIEventListener.Get(...).onClick、Empty Click / EmptyClick 或其他方式。
4. Mediator dispatch 的事件名。
5. Event → Command 绑定位置。
6. 是否经过 UIUtil / PopUpManager / UIEventListener / Empty Click / TSDK / 项目网络层。
7. DTO / Model / Service / Command 的数据流。
8. 任务类型:新增模块、改现有模块、跨模块修改。
9. 如果改现有模块,模块边界在哪里。
10. 如果新增模块,是否必须使用模板,推荐哪个模板。
11. 如果跨模块,架构风险是什么。
12. 风险判断:是否只涉及同模块 C# 小改,还是涉及 Context binding、Prefab、Scene、启动或框架。
13. 最小可能修改文件。
14. 不应修改文件。
15. 手动验证清单。
16. Editor / Inspector / Prefab / Scene / meta 风险。
17. Console 需要观察的错误、warning 或日志。
所有结论必须附带文件路径。
不确定处标注“推测”。
3. 架构排查用:只有卡住时才用
先不要修改代码。
我需要理解这个功能是否跨 Context 或涉及启动 / 资源 / 网络框架。
请分析:
1. 是否需要理解 AppMainScene → LoadDll → AppMainRoot → AppContext。
2. 是否跨 AppContext / LoginContext / SelectionContext / GameContext。
3. 是否使用 CrossContextBridge 或 ModuleRegistry。
4. 是否涉及 UIUtil / PopUpManager / UIEventListener / Empty Click / TSDK / AssetBundle / HybridCLR。
5. 哪些文件是只读参考,哪些文件可能需要改。
6. 是否新增模块;如果是,是否使用 Assets/Editor/Prefab2Code/Scripts/ScriptTemplates/ 模板。
7. 是否修改现有模块边界之外的文件。
8. 哪些改动必须找 owner review。
如果不需要架构级分析,请明确说“不需要”,并退回日常链路分析。
4. 实现前:限定修改范围
基于刚才的分析,先给实现方案,不要改代码。
本次只允许考虑修改:
- {明确列出 1-4 个 .cs 文件}
不得修改:
- .unity / .prefab / .asset / .meta
- ProjectSettings / Packages
- Assets/Scripts/Base/StrangeIoC/
- Assets/Scripts/CodeGen/ / Assets/Scripts/Generated/
- GameUIView.cs / GameTableView.cs / AppContext.cs / GameContext.cs,除非先说明必要性并得到确认
请输出:
1. 修改范围是否仍限于同模块 C# 文件;如果必须改启动、框架或大规模 Prefab / Scene,停止并解释。
2. 是否新增模块;如果新增,使用哪个模板。
3. 是否只在现有模块边界内修改;如果跨模块,停止并解释。
4. 每个文件要改什么。
5. 是否需要 Context binding。
6. 是否需要 UIUtil / PopUpManager / UIEventListener / Empty Click。
7. 生命周期、异步、重复点击风险。
8. 验证步骤,包括 Unity Console 是否应无新增红错、需要观察哪些日志。
等我确认后再修改。
4b. 实现:只改确认过的范围
按刚才确认的方案实现。
只允许修改:
- {列出确认过的文件}
禁止修改:
- .unity / .prefab / .asset / .meta
- ProjectSettings / Packages
- Assets/Scripts/Base/StrangeIoC/
- Assets/Scripts/CodeGen/ / Assets/Scripts/Generated/
- 任何未列出的文件
要求:
- 沿用现有代码风格和相似实现。
- 不新建 UI 框架、不新建网络通道。
- 如果发现必须越出模块边界、跨模块修改或新增模块但未使用模板,立即停止,不要改。
完成后输出:修改文件、核心逻辑、验证步骤、Console 状态、风险。
5. 审查 agent 修改
请对当前 Git Diff 做对抗性审查,不要修改代码。
重点检查:
- Unity 生命周期错误
- 异步取消和对象销毁后访问
- 事件重复订阅
- Inspector 序列化兼容性
- Unity Console 新增红错、warning 或 stack trace 未解释
- Prefab / Scene / Meta / Packages / ProjectSettings 意外修改
- StrangeIoC Context binding 是否遗漏或越界
- 是否误改 Assets/Scripts/Base/StrangeIoC/ 框架源码
- 是否绕过 UIUtil / PopUpManager / UIEventListener / Empty Click / TSDK / 项目网络层
- 是否误改 GameUIView.cs、GameTableView.cs、AppContext.cs、GameContext.cs、生成代码
- 新增模块是否绕过 ScriptTemplates 模板
- 改现有模块是否越出模块边界
- 跨模块修改是否有架构影响审核
- 缺少验证步骤
- 与 HappyMahjong 现有架构不一致
按 Blocker、High、Medium、Low 输出。
6. 生成验证清单
根据当前修改生成 HappyMahjong Unity 验证清单。
至少覆盖:
- 正常流程
- 网络失败 / 超时(如果相关)
- 快速重复点击
- 页面关闭 / 弹窗关闭
- Scene 切换
- 空数据 / 异常数据
- 第二次打开页面
- Android、iOS、PC、OpenHarmony 平台差异(如果相关)
- StrangeIoC 事件是否触发一次且只触发一次
- 弹窗是否通过 PopUpManager 正确关闭和恢复层级
- Empty Click 是否正确接收背景点击且没有点击穿透
每个测试项包含:前置条件、操作步骤、预期结果、需要观察的日志。最后单独列出 Unity Console 是否应无新增红错;如果有红错,第一条红错和 stack trace 应如何记录。
使用原则: 日常小任务优先用第 1 或第 2 档。只有真的涉及启动、跨 Context、资源、网络框架时,才用第 3 档。