分析、計画、コード、チェック:AIと開発するときの私たちのリズム 🤖
Blocks Beyond The StarsでAIをたくさん使っていることは、これまで一度も隠していません。AIがなければ、このくらいの大きさのゲームを仕事のあとの趣味プロジェクトとして作るのは、とてもできません。でも私たちにとって「AIと開発する」は、願いごとを打ち込んで、結果をそのまま受け取って、うまくいくよう祈ることではありません。この数か月で決まった型ができて、それは意外なほど昔ながらで、まさにそのおかげでうまく働いています。今日は、それをすべてお話しします。
始まりはいつも、人間とアイデアです。AIが何かをする前に、誰かが何かを望んだり、気づいたりしています。フィードバックキーを使って、動物が壁の中に現れると報告してくれたプレイヤーかもしれませんし、Justusが遊んでいる最中に足りないものを口にしたときの私たち自身かもしれません。ここではAIは仕事を思いつきません。仕事を渡されるのです。
それからAIは、段階を踏んで働きます。いつも同じ順番で、4つです。分析、計画、実装、検証。(5つ目の手動テストはそのあとですが、それはまた人間の仕事です。あとで少し触れます。)いちばん大事なのは、AIにさせないことです。すぐにコードを書くこと。すぐに打ち始めるAIは、まちがった問題を見事な速さで解いてしまいます。だから大きめの仕事はどれも分析から始まります。何がすでにあるのか、原因は本当はどこにあるのか、ほかに何がつながっているのか。結果はコードではなく、文章です。
次は計画で、これはちゃんと読まれます。分析のあとに計画が来ます。どのファイルに手を入れるか、どの順番か、どんな落とし穴がわかっているか、まだ決まっていないことは何か。まさにここで、プログラミングの前に答えたほうがいい疑問が出てきます(「これはブラウザでも動くべき?」「古いセーブデータはどうなる?」)。計画が固まってはじめて実装に進み、そこは全体のなかでいちばん退屈な部分であることが多いです。まさにそれでいいのです。
関連するものは1つの束にまとめます。私たちの時間をとても節約してくれる2つ目のルールです。似ていたり、つながっていたりする問題がいくつもあるとき、たとえば同じフォーカスの問題をかかえた5つのゲームパッドメニューや、同じテストラウンドからの15個の指摘では、AIには15個の別々の仕事ではなく、1つの仕事にまとめて渡します。すると、関係するコードを通るのは一度だけで済み、解決策は矛盾せずにかみ合い、2つの仕事のあいだで何かが落ちることもありません。
リリースの前には、2つの別々のチェックを行います。大きな作業のあとは、そして新しいバージョンをみなさんに届ける前は必ず、結果をもう一度AIに見せます。ただし、わざと分けた2つの調査です。1つ目は、ねらった機能やバグ修正が本当に完全にできているか。中途半端なものがどこかに残っていないか、忘れられた特殊なケースや、足りない翻訳はないか。2つ目は、それとは別の確認で、変更が別の場所に新しい問題を起こしていないか。2つを1つの質問にまぜてもうまくいきません。抜けと巻き添えを同時に探す人は、それぞれ半分ずつしか見つけられないからです。別々に聞けば、この2つの質問はとてつもない手戻りを防いでくれます。リリースノートに「ついでに修正」として載っているもののかなりの部分が、まさにこのチェックから出てきています。
そして最後に、もう一度人間がテストします。5つ目のステップはAIの段階ではなく、私たちのものです。手動テストとは、実際に遊ぶこと。できたてのバージョンで、本物のゲームパッドで、本物の子どもが遊ぶのです。どんな分析も生き残るものが、ソファの上の最初の5分で壊れることはたくさんあります。なぜなら、しっくりくるかは、世界中のどんな分析にも答えられない問いだからです。
よく見ると、この型にAIの魔法はなく、あるのは昔ながらのエンジニアリングの技だけです。まず理解して、計画して、作って、確かめる。そして私たちにとって、それを包むくくりはいつも同じです。人間がアイデアを出し、人間が最後のテストをして、AIはそのあいだで働く。新しいのは、そのループがどれほど速くなったかだけです。🔍
コメント