← 最新の論文
🤖 AI

Using LLMs in Software Design: An Empirical Study of GitHub and A Practitioner Survey

本論文は、291 の GitHub 会話のマイニング分析と 65 名の開発者への調査を組み合わせた混合手法の実証研究を提示し、開発者がソフトウェア設計タスクに LLM をどのように活用するかを特徴づけるものであり、技術の可能性と実用的な課題との間の現在の緊張関係を浮き彫りにする 9 つの明確な適用カテゴリ、7 つの主要な利点、および 6 つの重大な限界を明らかにする。

原著者: Yifei Wang, Ruiyin Li, Peng Liang, Yangxiao Cai, Zengyang Li, Mojtaba Shahin, Arif Ali Khan, Qiong Feng

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

原著者: Yifei Wang, Ruiyin Li, Peng Liang, Yangxiao Cai, Zengyang Li, Mojtaba Shahin, Arif Ali Khan, Qiong Feng

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

ソフトウェア設計を、巨大で複雑な都市の「設計(アーキテクチャ)」を構築するプロセスだと想像してみてください。最初のレンガが積まれる前に、建築家は道路の配置、建物の接続方法、使用する材料、そして下水道システムの仕組みを決めなければなりません。これが「ソフトウェア設計」です。

長年にわたり、この仕事は人間の専門家によって完全に担われてきました。しかし最近、新しいツールが登場しました。ChatGPT のような「大規模言語モデル(LLM)」です。これらのモデルを、コーディングや都市計画に関するほぼすべての書籍を読み尽くした「超人的に賢く、驚くほど速いインターン」と考えてみてください。彼らはあなたと会話でき、質問に答え、さらには設計図を描くことさえできます。

この論文は、単純な疑問に答えるための「フィールド研究」です:実際のソフトウェアアーキテクは、これらの「超インターン」をどのように使って都市を設計しており、それは機能しているのか?

研究者たちは単に推測したわけではありません。彼らは以下の 2 つの証拠源を検討しました:

  1. 「日記」(マイニング研究): 開発者が GitHub で共有した、設計問題について ChatGPT と会話した 291 の実際の会話記録を調査しました。
  2. 「インタビュー」(アンケート調査): 65 人のソフトウェア開発者に直接、「これらのツールをどのように使用しており、それらについて何が好みで何が嫌いか?」と尋ねました。

以下に、彼らが発見したことをシンプルな概念に分解して示します:

1. 「インターン」はどのような仕事を担っているのか?(タスク)

この研究により、開発者が AI に単一のコード行の作成だけを頼んでいるわけではないことがわかりました。彼らは、全体像から詳細まで、9 種類の具体的な設計作業にこれを利用しています:

  • 全体像(アーキテクチャ): 都市を巨大な一棟のビルにするか、小さな家々の集まり(マイクロサービス)にするかを決めること。
  • 設計図(データモデル): 図書館のファイル整理システムを組織化するように、情報の保存方法を設計すること。
  • 交通規則(インターフェース): システムの異なる部分が互いにどのように通信するかを把握すること。
  • 安全点検(セキュリティ): 扉や窓をどのように施錠するかを計画すること。
  • 修理班(リファクタリング): 古くて散らかった設計を取り壊し、整理整頓すること。

比喩: これは、都市のレイアウトをスケッチし、配管図を描き、セキュリティゲートの提案をしてくれるインターンを雇うようなものです。しかし、ペンを持って最終判断を下すのは依然としてあなたです。

2. 「インターン」とはどのように会話するのか?(相互作用)

研究者たちは、これが「一回きりのやり取り」ではないことを発見しました。

  • 命令ではなく会話: 平均して、開発者と AI は単一の設計問題を解決するために約 6 回往復します。
  • パターン: 開発者が質問し、AI が回答し、開発者が「それは曖昧すぎる」あるいは「こう試してみて」と言い、AI が再挑戦します。
  • 焦点: これらの会話のほとんどは、「詳細設計」レベルで行われます。これは、都市全体をどこに建設するかについて議論するのではなく、使用するレンガの具体的な種類や窓の正確な配置について議論するようなものです。

比喩: 設計に AI を使うことは、時折迷子になる GPS を持って迷路をナビゲートするようなものです。出口にたどり着くまで、「いいえ、右ではなく左に曲がって」と言い続けて、絶えずそれを修正し続けなければなりません。

3. 超能力とは何か?(利点)

開発者は7 つの主な利点を報告しました。上位 2 つは以下の通りです:

  • 「より優れた Google」: AI は、設計アイデアを見つけるために、従来の検索エンジンよりも頻繁に速く、かつ有益です。複雑なトピックを瞬時に要約できる、知識豊富な司書の役割を果たします。
  • 「早期警戒システム」: AI は、誰かが建設する前に設計の欠陥を見抜くのが驚くほど得意です。「こう作ると、後で交通渋滞が発生するよ」と言うかもしれません。これにより、チームは将来の頭痛を回避できます。

その他の利点には、新しいチームメンバーがプロジェクトを素早く理解するのを助けたり、人間が考えつかなかった新しい創造的なアイデアを提案したりすることが含まれます。

4. 超弱点とは何か?(限界)

しかし、「超インターン」には、使用を難しくするいくつかの深刻な欠陥があります:

  • 「テキストの壁」問題: AI は頻繁に必要以上に長い文章を書きます。明確な設計図の代わりに、50 ページの論文を渡されるようなものです。開発者はこれを読みづらく、苛立たしく感じました。
  • 「壊れた設計図」問題: 時には、AI は紙の上では良く見えるが、実際に実行しようとすると機能しないコードや設計を生成します。まるで、美しく見えるが車に乗せれば崩壊する橋を描く建築家のようです。
  • 「記憶喪失」問題: AI は文脈に非常に敏感です。特定のプロジェクトに関する十分な詳細を与えなければ、**幻覚(ハルシネーション)**を起こしてでたらめを言ったり、全く別の都市に適合する助言を与えたりする可能性があります。
  • 「ファイルアップロード」の苦戦: プロジェクト全体のフォルダを AI にアップロードするのは困難です。地図を示す代わりに、通り名を一つずつ読み上げて都市のレイアウトを説明しようとするようなものです。

結論

この論文は、LLM は優れた「探索者」であるが、まだ「意思決定者」ではないと結論付けています。

彼らは以下の場合に素晴らしいです:

  • アイデアのブレインストーミング。
  • 明らかなミスのチェック。
  • 新概念の迅速な学習。
  • 初期スケッチのドラフト作成。

しかし、彼らは人間のアーキテクトを代替する準備ができていません。人間は依然として作業を検証し、壊れた部分を修正し、最終決定を下さなければなりません。この関係はパートナーシップです:AI は原材料と提案を提供しますが、人間は判断と最終的な仕上げを提供します。

要約: ソフトウェア設計に LLM を使うことは、非常に速く、非常に知識豊富だが、時折幻覚を見るコパイロットを乗せるようなものです。それはあなたがより速く飛行し、嵐を早期に発見するのを助けますが、あなたは依然として操縦桿を握り続ける必要があります。

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

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

Digest を試す →