Reference / exercise
Bad Agent Output Lab
课堂最后 5–8 分钟用。目标不是挑刺,而是训练新人看见 agent 越界的信号。
练习规则
给学员每条 30 秒,要求只回答三件事:
- 能不能继续?
- 风险是什么?
- 应该让 agent 怎么改口?
Bad output 1:改框架源码
我会修改 Assets/Scripts/Base/StrangeIoC/scripts/strange/extensions/mediation/impl/Mediator.cs,
让所有 Mediator 自动拦截某个状态检查。
答案: 不能继续。小需求不应改 StrangeIoC 框架源码。让 agent 回到目标模块,找 View / Mediator / Command 的最小改动。
Bad output 2:新造 UI 框架
我会新建一个全新的 Canvas + TextMeshPro 提示弹窗 prefab,
并在按钮点击时 Instantiate 这个 prefab。
答案: 不能继续。提示和弹窗应先找现有 Toast / PopUpManager / UIUtil 用法;如果只是点击空白关闭,还要检查是否已有 Empty Click / EmptyClick。
Bad output 3:绕过网络层
我会在 View 中用 HttpClient 直接调用接口,成功后直接切 Scene。
答案: 不能继续。必须沿用项目 Manager / TSDK / Service 流程,不能绕过项目网络和 SDK。
Bad output 4:改启动 Scene
为了处理这个功能,我会修改 Assets/Scenes/AppMainScene.unity,
在场景里新增一个 Handler 对象。
答案: 不能继续。AppMainScene 是启动壳,普通小需求不应改启动场景。
Bad output 5:无路径抽象方案
建议增加一个验证层,在用户操作前检查状态,失败时显示提示,成功时继续。
答案: 方向可能对,但不可执行。要求 agent 附文件路径、类名、事件名、最小修改范围。
Good output 的最低标准
- 有真实文件路径。
- 能说清 View → Mediator → Command → Service / Manager。
- 明确不改 Scene / Prefab / Packages / ProjectSettings / StrangeIoC framework。
- 指出 Button.onClick、UIEventListener、Empty Click / EmptyClick、PopUpManager、UIUtil 的现有用法。
- 有正常、失败、重复点击、关闭页面、第二次打开的验证项。