AIは1時間でコードを書く。でも、確認には半日かかる

砂時計と、革のトレーに積まれた紙の束、チェック印のある紙と鉛筆を窓からの自然光で写したオリジナルの概念CG。左に「AIは1時間でコードを書く。でも、確認には半日かかる」の文字と小さなTORA BASEの表記。

どうもTORAです。

AIにコードを書かせる開発の現場での話です。進捗が想定していたほど良くなかったんですよね。AIでコードが速く書けるなら、開発全体も同じように速く終わりそうなものですが、そうはなっていませんでした。そこで、工程ごとにどれくらい時間がかかっているのかを開発メンバーに聞いてみると、AIの作業と人間の確認とで、かかる時間がだいぶ違っていました。

目次

AIの作業は1時間前後

先に断っておくと、タイトルの1時間は、コードを打ち込む時間を測ったものではありません。AIが実装して、コードを実行せずに機械的に問題を調べる静的解析をかけて、テストコードを作って、テストを実行するところまで。この一連の作業が、だいたい30分から1時間で終わる、という概数です。その間、人間はほぼ待っています。

一方、人間のほうは、AIに渡す仕様を事前にセルフチェックするのに半日くらいかかっていました。AIが作ったソースやテストのセルフチェックには、半日から丸1日。経験や対象によってばらつきはありますが、AIの作業が1時間前後で終わるのに対して、人間の確認はどれも半日単位でした。

工程ごとの所要時間を縦に並べたカード図。1、人の作業:仕様のセルフチェック、半日程度。2、AIの処理:実装・静的解析・テストコード生成・テスト実行、約30分〜1時間で、その間人はほぼ待っている。3、人の作業:出力のセルフチェック、半日〜1日。
工程ごとの所要時間は、開発メンバーへのヒアリングによる概数です。人の作業(AIに渡す仕様のセルフチェックが半日程度、AIが作ったソースやテストのセルフチェックが半日〜1日)と、AIの処理(実装・静的解析・テストコード生成・テスト実行で約30分〜1時間。その間、人はほぼ待っています)を分けて示しました。経験や対象によってばらつきがあり、カードの大きさは所要時間に比例していません。

確認の中身も聞いてみると、大きく二つに分かれていました。一つは業務仕様の正しさで、業務上求めている処理をちゃんと満たしているか。もう一つは開発ルールの遵守で、チームで決めた書き方などが守られているか、という確認です。

ルールの確認はAIレビューへ

そこで現場では、開発ルールが守られているかの確認はAIレビューに移して、人間は業務仕様の確認に集中する、という方針をチームに展開しました。この分担で、人の確認の負担を減らそうとしたわけです。

見る側の負荷

作る側だけでなく、レビューする側にも負荷がありました。作る側が手順に慣れてきて、成果物を出す速度が上がると、レビュー依頼のペースも上がります。仕様、ソース、テスト、テスト結果と、確認する側に回ってくるものが増えて、処理しきれなくなりました。

ここで言うレビューは、作った人のセルフチェックとは別に、成果物を受け取って確認する工程のことです。AIレビューも使っていましたが、それでも人間が実物を見て確認する負荷は残りました。作る側が速くなった分、その先でレビューする人のところに負荷が寄っていった、という形です。

作る側が手順に慣れて成果物を出す速度が上がり、仕様・ソース・テスト・テスト結果のレビュー依頼が増えて、受け取ってレビューする人の手前でレビュー待ちが溜まる様子を示した概念図。レビューする人の1日に見られる量は変わらず、AIレビューを使っても人が実物を見る確認は残る。
作る側が成果物を出す速度が上がると、仕様・ソース・テスト・テスト結果のレビュー依頼も増え、受け取って確認する人のところに依頼が溜まった、という今回の現場の関係を示した概念図です。ここでのレビューは、作った人のセルフチェックとは別の、成果物を受け取って確認する工程です。AIレビューも使っていましたが、人が実物を見て確認する負荷は残りました。人数・件数・割合は表していません。

レビュー依頼を受けた当日に終える前提で計画すると、遅延が出ます。なので、レビュー完了までの期間に余裕を持たせるようにしました。とはいえ、1日に見られる量は変わっていません。当日に終わる前提をやめて、計画のほうを合わせた、という対処です。

レビュー待ちを避けるために、仕様のレビューが終わる前に、まだ確認されていない仕様で先に実装を進めたこともありました。すると仕様への指摘が多くて、手戻りが発生しました。AIで実装が速くても、仕様が変われば作り直しになります。結局、仕様レビューと指摘への対応を先に済ませてから実装する順番に戻しました。

振り返ると、AIが速い分、速度が上がっていない工程がボトルネックとして見えてきた、ということなんだと思います。今回の現場では、それが人間の確認とレビューでした。

人間のレビューを根本的にどう効率化するかは、当時はまだ答えが出ていなかったんですよね。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

40代、IT業界20年弱。システム開発の仕事をしています。AIや開発、仕事やキャリアの話を中心に、ギター、音楽、革靴、デニム、腕時計など趣味のことも書きます。

目次