生成AIでコーディング効率化!→待っていたのは“失敗の日々” とあるITエンジニアとAIの試行錯誤の記録(2/3 ページ)
「なぜか行が重複してしまう現象が発生し、patchコマンドが成功しなかった。もっとぐちゃぐちゃになった例もあり、記号の有無や行の順番が誤っている、一部の行が抜けているなどの不完全な形式で出力されることが多くあった」
この失敗の原因について、山西さんは出力フォーマットが複雑すぎるのが原因では考察。しかし、他のアイデアも思い浮かばず、約2割の確率で成功することも場合もあることから、いったんこの形で妥協したという。
また、形式的には正しくてpatchが成功する場合でも、何も変化が起こらない様な意味をなさない差分が返される場合もあった。「変更対象のファイルを与えるだけでは、AIが十分に推測できず、苦し紛れの様な回答をするのでは」と考えた山西さんは、十分な事前情報をAIに与えることを思い付く。そこで今度は""型注釈をしたいメソッドの呼び出し元のコード""を与えることにした。しかし、AIは追加したコードを意図通りに活用してはくれず、この方法もうまくはいかなかった。
他にも、さまざまな試行錯誤をしたが、ほぼ全てが徒労に終わり、この時点での型注釈のタスク全体の成功率は体感約1割ほどだったという。その後も何度もリトライを続けていたが、らちが明かなかったため、一度失敗事例を整理することにした。そこで上がったのは、大きく3つの失敗要因だった。
生成AI活用に失敗した“3つの要因”とは?
1つ目の要因は「失敗率が高い」という点だ。例えば、先述のdiffの例では、注意点をプロンプトで指示しても失敗率が下がることはなかった。この点について、山西さんは「実は失敗率を大幅に改善する方法なんてないのでは?」という仮説に行き着く。それを踏まえ今度は、1つのタスクを“失敗率の低いタスクに分割する方法”を試してみることにした。
今まではファイル全体に型注釈をつけることを依頼していたが、それをメソッドごとにつけるような指示へ分解。5つのメソッドがあれば、5回AIとやりとりをして、順番に処理を進めると、この方法がうまくいき、失敗率が8割から2割程度まで改善できたという。
「なぜこれまで分割をやってこなかったかというと、従来のプログラミングでいうとリファクターに近いと思っていた。大きなメソッドを5つの小さなメソッドに分解しているのと同じで、これで動作が改善するとは考えていなかった。しかし、生成AIはその通りではないと実感できた」
2つ目の要因に挙げたのは「失敗のパターンが多い」ことだ。失敗率が2割まで改善できたものの、その中にはさまざまなパターンの失敗例が残っている。それら全ての失敗の仕方を事前に網羅していくのは無理があるため、失敗したときにフィードバックをできる方法を考えた。
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
こんなメディアも見られています
ITmedia AI+に関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
SpecialPR
アクセスランキング
-
1
引退した人型ロボ、“溶けた鋼の海”に沈む アーノルド・シュワルツェネッガー氏が提案 米企業が動画公開
-
2
「FDE」は常駐SEのすげ替えなのか “人月商売の死”を打破したい国内SIer、打開策は意外なところに?
-
3
「Claude」3倍高速化の裏で、Anthropic開発者が「あえてしなかったこと」:899th Lap
-
4
総額2.3兆円、千葉市に巨大な「AIデータセンター」建設へ 発電大手JERA参画の“ドリームチーム”、勝機どうつかむ?
-
5
SIE、PS5向けAI採用画質向上技術「QSSR」発表 AMDと共同開発、「Marvel's Wolverine」と「Ghost of Yōtei」が初対応
-
6
「まず、その業務なくせない?」 野村不動産HDが経理DXで「年間9000時間」を生み出した“引き算”の考え方
-
7
「AIを使えば早くできるでしょ」と言われがち――エンジニアを困らせる"勘違い"の正体とは?
-
8
ChatGPTにAIでバーチャル試着機能とカメラでの書類スキャン→PDF化機能
-
9
Google、「Gemini 4 Pro」ではなく「Gemini 4 Argon」発表 まずはサイバー防御組織に限定提供、出力上限は100万トークンに
-
10
Rails作者DHH「Pencils Down、もう手でコードは書かない」 それでもソフトウェア開発の未来は明るい理由
SpecialPR
ITmedia AI+ SNS
インフォメーション
注目情報をチェック
ITmedia AI+をフォロー
あなたにおすすめの記事PR