Contents — 6 sections
RicochetTanksでは、かなり多くの作業をAgentへ渡している。
Build。
Editor検査。
ClientSim。
複数Accountの起動。
Report生成。
宣伝素材生成。
それでも最後まで自動化しなかった工程がある。
VRChatへのUpload。
現在もここは NEED_HUMAN にしている。
技術的にできるかだけでは決めなかった
Unityを操作できれば、Upload画面まで進める可能性はある。
でもReleaseには、単なるButton click以上のものが含まれる。
今回必要になるのは、
- Unity操作の許可
- VRChatへのSign-in
- Upload対象の確認
- 権利確認checkbox
- 公開先・World情報の確認
など。
特に「このAssetをこのAccountからUploadしてよいか」は、Build scriptの判定ではない。
Human GateはAutomation失敗ではない
自動化率を上げていると、人間が必要な工程を「未完成」に見やすい。
でも今回は逆。
人間確認が必要な工程として意図的に止めている。
Buildが通ったら勝手に公開されるPipelineにはしない。
公開前に意味のある判断点を置く。
これもRelease設計の一部。
自動化する場所と承認する場所を分ける
Agentへ向いているのは、
- 同じ検査を繰り返す
- 数値を集める
- 差分を見る
- Buildする
- Artifactを整理する
- Reportを作る
といった処理。
一方、人間へ残したいのは、
- Accountを使う
- 外部へ公開する
- 権利を表明する
- 不可逆なActionを行う
- 最終的な体験を判断する
ような部分。
全部を自動化するより、境界が分かっている方が運用しやすい。
Gateの前まではできるだけ自動化する
人間Gateを残すからといって、その前を手作業に戻す必要はない。
Upload直前まで、
- Build artifact
- Hash
- Test結果
- Known issues
- NOT_RUN項目
- 対象Scene
- Release候補
を揃えておく。
人間がやるのは、
「調査」ではなく「確認して承認する」
に近づける。
NEED_HUMANは失敗ステータスではない
NEED_HUMAN は、
「Agentができなかった」
という意味ではない。
「ここから先は人間判断が必要」
というWorkflow status。
この意味を分けておかないと、次のAgentが
「止まっているから解消しよう」
と勝手にGateを迂回する可能性がある。
状態名そのものにも意味を持たせる。
いまの結論
Agentic developmentで大事なのは、全工程を無人にすることではなかった。
どこまで機械に任せ、どこで人間が責任を持つかを明示すること。
RicochetTanksでは、Buildと検査はかなり自動化した。
でもVRChatへ公開する最後のButtonは、まだ人間側に置いている。
その方が、今の段階では正しい。
Signal / 観測記録
この記録への観測を送る
反証、