← 最新の論文
💻 computer science

Leveraging LLMs for Multi-File DSL Code Generation: An Industrial Case Study

BMW におけるこの産業事例研究は、リポジトリ階層の構造化された経路保存型 JSON 表現を用いてコード指向 LLM をファインチューニングすることが、下流のコード生成を駆動する正確な多ファイル DSL 生成において、ベースラインのプロンプトやワンショット学習を大幅に凌駕することを示している。

原著者: Sivajeet Chand, Kevin Nguyen, Peter Kuntz, Alexander Pretschner

公開日 2026-04-28
📖 1 分で読めます☕ さくっと読める

原著者: Sivajeet Chand, Kevin Nguyen, Peter Kuntz, Alexander Pretschner

原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む

あなたは巨大な建設会社(BMW)で働くマスター建築家だと想像してください。あなたの仕事は、さまざまな都市向けに新しい建物(市場構成)を設計することです。

従来の方法では、すべての設計図、電気計画、配管図を別々の用紙に手書きで記述する必要がありました。キッチンに新しい窓を追加したい場合、電気計画、配管計画、構造計画のすべてを完璧に同期させて更新することを思い出さなければなりませんでした。もし微小な詳細を見逃せば、建物全体を建設できず、建設チーム(コードジェネレーター)が停止してしまいます。

この論文は、この手作業の書類処理をスーパースマートなロボットアシスタント(大規模言語モデル、LLM)に教えることについて述べています。ただし、注意点があります。このロボットはあなたの特定の設計図を以前に一度も見たことがなく、あなたからの指示文たった 1 文に基づいて、複数の相互接続された書類を同時に更新しなければならないのです。

以下に、研究者たちがロボットにこれを教えた方法を説明します。

1. 問題:「1 つの指示、多数のファイル」というパズル

通常、AI は単一の物語や単一のコードの作成には長けています。しかし、この会社では、「ドイツ市場向けに新しいローンタイプを追加する」といった単一の要求が、5 つの異なるフォルダ内のファイルを変更することを必要とします。ロボットがメインファイルを変更しても、すべてのローンタイプをリストアップするファイルの更新を忘れた場合、システム全体が破綻してしまいます。

2. 解決策:ライブラリの平坦化

ロボットがプロジェクト全体を一度に理解できるようにするため、研究者たちはファイルを 1 つずつ与えるのではなく、設計図の「ライブラリ」(フォルダ構造)全体を取り出し、1 つの巨大で整理された本(単一の JSON ドキュメント)に平坦化しました。

  • アナロジー: 20 個の異なるフォルダが入った散らかった机を想像してください。そして、どのページがどのフォルダに属しているかがわかるように、すべてのページを 1 つの巨大なテーブルに整然と並べます。これで、ロボットはテーブル全体を一度に見て、「さて、変更はどこに行けばいいか見える」と言えるようになります。

3. 訓練:ロボットに教える 3 つの方法

研究者たちは、この特定の仕事をロボットに教えるために 3 つの異なる方法を試しました。

  • 「コールドスタート」(ゼロショット): 彼らはロボットに指示と平坦化された本を与え、「これを修正せよ」と言っただけです。
    • 結果: ロボットはページを正しい順序に保つことにはそこそこできましたが、誤った詳細を捏造したり、微小な接続を見落としたりすることがよくありました。これは、アルファベットは知っているが文法をまだ学んでいない学生のようなものです。
  • 「例」(ワンショット): 彼らはロボットに指示と本に加え、以前に正しく行われた作業の 1 つの例を与えました。「前回、窓を追加したやり方はこうだ。これを参考にせよ」と。
    • 結果: これにより、ロボットは構造を正しく把握できました(ページは正しいフォルダに留まりました)が、新しい要求の具体的で厄介な詳細については依然として苦労しました。
  • 「集中コース」(ファインチューニング): 彼らはロボットに「前」と「後」の設計図の例を数百件示しました。単に見せるだけでなく、QLoRA と呼ばれる技術を用いてロボットの内部脳を調整し、この会社の設計図の特定のルールを学習させました。
    • 結果: これが勝者でした。ロボットは専門家になりました。要求を見て、すべてのファイルにわたって完全に同期された変更セットを生成することができました。

4. 結果:機能しましたか?

研究者たちはロボットを実際のタスクでテストし、人間の専門家に作業を確認させました。

  • 構造: ファインチューニングされたロボットは、ファイルを正しいフォルダに保ち、架空のフォルダを作成しないことにおいてほぼ完璧でした。「プロジェクトの形状」を正しく保つ点で、満点(1.0)を獲得しました。
  • 詳細: 実際のコンテンツについては非常に優れており、変更の約 66% が完全に正確で、84% が実用的なほど「十分近い」ものでした。
  • 「ニアミス」の現実: ロボットは非常に優れていたため、失敗した場合は通常、微小なタイプミスや誤った数字であり、ファイルの欠落ではありませんでした。完璧な料理を作るが、誤って砂糖の代わりに塩を使うシェフのようです。構造は正しかったが、風味がわずかにずれていました。

5. 人間の専門家の意見

研究者たちは 4 人のシニア建築家(開発者)にロボットの作業をレビューさせました。

  • 判断: 彼らはそれを気に入り、可読性と構造に対して高い評価を与えました。
  • 時間節約: 彼らは、小さく単純なプロジェクトの場合、ロボットが作業時間の**40% から 80%**を節約できると推定しました。ただし、大規模で複雑なプロジェクトでは、ロボットはまだ最終詳細を人間が再確認する必要がある「補助者」でした。
  • 注意点: ロボットは、複雑なシナリオにおいてどの特定の種類のパーツを使用すべきかについて混乱することがあり、人間による迅速な修正が必要でした。

結論

この論文は、以下の条件を満たせば、AI に複雑なマルチファイルプロジェクトの管理を教えることができることを証明しています。

  1. ファイルを単一の読みやすい形式に整理する。
  2. 特定のルールに基づいた具体的な「集中コース」(ファインチューニング)を与える。

まだ人間の建築家に取って代わるわけではありませんが、設計図の草案作成という重労働を担い、退屈な作業の時間を数時間節約して、彼らが創造的な部分に集中できるようにします。

自分の分野の論文に埋もれていませんか?

研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。

Digest を試す →