コンテンツに移動
AI & 機械学習

企業の開発者向け AI 搭載ツールを評価するにあたっての重要な考慮事項

2023年11月14日
Google Cloud Japan Team

※この投稿は米国時間 2023 年 10 月 31 日に、Google Cloud blog に投稿されたものの抄訳です。

クラウド開発が進化するなか、開発に関わるチームは、高度なデバッガ、最新の IDE と Notebooks、オンライン コミュニティ、クラウド コンピューティング サービスなど、生産性を大幅に向上させるイノベーションの恩恵を受けてきました。それにもかかわらず、組織は望ましいスキルを備えた開発者の慢性的な不足に悩まされ続けています。さらに、開発者は多くの場合、次のような多くの課題に直面しており、その中にはクラウド開発に固有のものもあります。

  • 新しいツールやフレームワークを評価、学習、統合する際の、混乱を招くコンテキストの切り替えと煩わしさ
  • 繰り返し行うタスクに費やす過剰な時間
  • 新しいコードベースや複雑な API を理解することの難しさ
  • 速度を犠牲にすることのない、高レベルの自動テスト カバレッジの達成

しかしながら、最近の生成 AI の成長は、大規模言語モデル(LLM)を使用した新たな機会を企業と開発者にもたらしています。LLM とは大量のテキスト データでトレーニングされた AI モデルのことで、リクエストに対する適切な応答を自然言語で生成するものです。この目新しいテクノロジーはソフトウェア開発プロセスを強化し、さらに重要なことには、生産性向上を促進することで、開発者に新たなユースケースをもたらします。

利用可能なツールが市場で爆発的に増加しているため、お客様からは「組織のニーズに最も適しているソリューションを評価するにはどうすればよいか」という質問をよくいただきます。

生成 AI による開発の強化

膨大なトレーニング データからパターンを合成および一般化できる LLM を使用すれば、ソフトウェア開発ライフサイクルのあらゆる部分を強化できるとともに、コードを完成させ、変換し、説明する機能、IDE でテストを生成する機能、さらにはエージェントのワークフローを実行する機能によって生産性を高めることができます。

ソフトウェア開発に生成 AI を組み込むメリットをいくつかご紹介します。

  • スピード: 生成 AI ツールにより、開発の時間と労力を削減できます。たとえば、開発者はインライン コードの提案を活用することで、反復的なタスクに費やす時間を削減できます。
  • 品質: LLM は、従来のコード分析よりも洗練された微細なパターンを検出できます。その結果、開発者は組織のベスト プラクティスに従ってコードを微調整し、命名規則に準拠して、より一貫したコード品質を実現できます。
  • 規模: 世界には 10 億人を超える知識労働者がいますが、プログラマーは約 2,500 万人しかいません。各チームは、開発者がスキルレベル以上のパフォーマンスを発揮できるよう支援する AI 活用ツールを利用することで、このギャップを埋めることができます。適切な状況で使用すれば、開発者の効率と生産性を拡大できます。
  • オンボーディングとスキルアップ: LLM は、コードについて説明し、新しいコードベース、言語、またはフレームワークを開発者が学びやすくすることで、コードとドキュメントの理解に費やす時間と労力を削減できます。

企業がこれらの革新的テクノロジーを導入する際には、その影響を評価し、定量化するための対策を講じることが重要です。生産性の向上の測定は繊細なプロセスであり、タスク固有の狭い範囲のテストのみを実行したいという衝動に抗うことが重要となります。典型的な日常業務の生産性の向上を検討する場合、一般化できない過度に楽観的な結果が出る傾向があります。

採用、提案の受け入れ率、ツールの保持率など、明らかに主要な影響指標もありますが、遅行指標はより正確な状況を示してくれます。コーディングの反復時間の短縮や AI ツールから生成される新しいコードの量といった指標を測定すると、その生産性への影響をより深く理解できる可能性があります。

生成 AI のスタートガイド

生成 AI は大きな可能性を秘めていますが、まだ普及の初期段階にあり、多くの組織がユースケースの評価と試験運用版の導入を始めたばかりです。ここでは、指針となる重要な考慮事項と確認事項をいくつかご紹介します。

ビジネス ニーズとユースケースの把握: 生成 AI を実装する前に、生成 AI が必要な理由と、開発目標とビジネス目標の達成に生成 AI がどのように役立つかを把握しておく必要があります。検討が必要な項目には、次のようなものがあります。

  • 上記のメリットによる恩恵を最も受けるのはどのような役職か
  • 高いビジネス価値と短期的な影響が生み出されるのはどのユースケースか

IP と顧客のプライバシーの保護: 生成 AI を使用する際に知的財産と機密データを保護することは、独自の競争上の優位性を維持し、生成物の不正使用を防ぐうえで不可欠です。顧客のプライバシーも同様に重要です。機密データを保護することで顧客の信頼が高まり、規制要件を遵守できます。各組織が考慮する必要がある事項には次のようなものがあります。

  • どのような一元管理機能が必要か
  • 生成されたコードを自社のライセンス ポリシーに従って使用するにはどうすればよいか
  • ハルシネーション(間違ったコードが生成されること)によって、ビジネスにどのような代償が発生するか、どうすればそれを軽減できるか
  • コード出力を基盤として、どのようなセキュリティ検証手順を構築できるか
  • 共有モデルのトレーニングに使用されないようにコードとデータを限定公開に保つにはどうすればよいか

適切なソリューションを見つける: 選択したソリューションと既存の技術スタックを連携させ、組織の特定のニーズを満たせるようにするには、次のような多くの要素を考慮する必要があります。

  • 注意を払うべき特定のプログラミング言語やフレームワークはあるか
  • 独自のコードベースでモデルをカスタマイズすることは有益か、ユーザーとそのチームに適切なデータはあるか
  • 組織のナレッジグラフを活用して効果を最大化するにはどうすればよいか
  • 社内のナレッジが進化するにつれて、モデルを最新の状態に保つにはどうすればよいか
  • ソリューションは既存の技術スタックやプラットフォームとどのように連携するのか
  • 広範な AI 導入計画とベンダーの選択に適合するか
  • 使用されているツールはどのくらい優れているか、精度、ドメインの関連度、スタイル、安全性などの側面は考慮されているか
  • 大規模にデプロイ可能なソリューションか

組織文化とプロセスを考慮する: AI を活用した開発者支援は、生産性向上のために加えられる新たなツールであり、適切な文化とプロセスがあれば、その効果を最大化できます。以下のような点を必ず確認してください。

  • これらのツールを効果的に使用するための適切なスキルとプロセスがチームにあるか
  • これらのツールを効果的に使用するには、プロンプト エンジニアリングなどの分野でどのようなトレーニングが必要か
  • 自動化と人間参加型との間の適切なバランスを見つけるにはどうすればよいか
  • 組織において、ツールに過度に依存することなく開発者の成長を加速させるにはどうすればよいか

コーディングのための生成 AI の取り組みを進める際には、これが 1 回限りの取り組みではないことを忘れないでください。これらのテクノロジーを基盤として構築されるモデルとプロダクトは急速に進化しており、ツールの選択肢はますます増えています。そのようななか、各組織が最適なツールを特定して開発チームに導入するには、より総合的なアプローチが必要になります。

Duet AI による開発支援など、AI による開発者支援の力を活用することで、企業はソフトウェア開発において、これまでにないレベルの生産性と効率性を実現し、イノベーションと成長の新たな時代へと道を切り開くことができます。こちらから登録することで、Duet AI の限定公開プレビュー版をお試しいただけます。

-Google Labs、グループ プロダクト マネージャー Shrestha Basu Mallick

-Google Cloud、シニア プロダクト マネージャー Marcos Grappeggia

投稿先