Ai開発ツールスタック:エンジニアリングチームのai活用法

AI adoption: How developers are using AI dev toolsの意訳です。

前回の投稿では、2025年がAI技術スタックの年である理由、スタックの階層構造、そして実際にチームが使用しているサンプルスタックについて説明しました。

今回は、チームが実際にこれらのツールをどのように活用しているかをより深く掘り下げます。スタックの各階層内における異なるツールタイプ、そして開発者がこれらのAIツールを使って開発プロセスを高速化したり、AIコーディングツール導入時のよくある課題を解決したりしている方法を見ていきます。

AIアシスタントのプロンプトを改善するのに役立つコードベースコンテキストツールから、エージェント機能を持つAIコードレビューツールまで、各階層は現実世界の課題(従来から存在するものと、AIコーディングツール特有のもの)に対するユニークなソリューションを提供します。

実際の例を通して、各段階でのAI統合方法を紹介していきます。

AI開発ツール技術スタック

前回の投稿で言及したように、チームは次第にAI開発ツールスタックを構築しています。これは、ソフトウェア開発ライフサイクルの各段階をサポートするよう設計されたAI駆動ツールの階層セットです。

以下は、スタックの階層、それらの接続方法、そして近いうちにこれらのツールのほとんどを使い始める理由についての概要です。

  • 基盤層: AIコーディングアシスタント

  • 必須層: AIコードレビューツール

  • オプション層: AI QAテストツール

  • オプション層: AIリファクタリングツール

  • オプション層: AIドキュメンテーションツール

基盤層:AIコーディングアシスタント

AIコーディングアシスタントは、AIツールを導入するほとんどのチームにとっての基盤です。以前に、これらのツールが幅広い機能にわたる自動補完の提案によるコーディング加速化から、シンプルなプロンプトから関数やコンポーネント全体を生成することを話しました。

開発者は複数のコーディングアシスタントを使用する機会が増えており、異なるメリットや個人的な好みに応じて、異なるツールを選択しています。これにより、全体的な生産性と満足度が向上します。この良い例が、ChargeLab が開発者とチームにAIツールを選択させることで40%の生産性向上を達成した方法です。

これらのツールを5つのカテゴリに分けています。ただし、多くのツールは複数のカテゴリにまたがっています。

タブ補完ツール:より賢い自動補完

ツール: GitHub Copilot、Cursor Tab、Windsurf、TabNine、Sourcegraph Cody、Qodo、Jetbrains

  • これらのツールはアプリ全体を構築しません。代わりに、IDE内での反復的なコーディングタスクに対して文脈に応じたコード提案を提供することで、より速くコードを書き、認知的労力を節約するのに役立ちます。

  • AIコーディングツールに関する話題が現在エージェント機能に集中している一方で、タブ補完は私たちが話している企業で、最も一般的に使用されているAI機能のままです。AIコーディングツール使用の約90%が自動補完ツールであると推定しています。これは、独立して作業するよりも開発者を補完することに焦点を当てているため、大幅な編集を必要とするバグを導入する可能性が低いためでしょう。

  • 一部の開発者は、他のタイプのAIアシスタントよりもタブ補完ツールを好みます。これは、自分でコードを書くよりも時間を節約しながら、書くコードをより制御できるためです。その使用は通常、クラスやインターフェイス名などのシンプルなものの自動化に焦点を当てる傾向があります。そのため、どの開発者でも簡単に使用できます。

  • タブ補完ツールは次第により文脈を理解し、予測的になってきており、現在作業中のコードだけでなく、コードベースの文脈を理解するようになっています。

AIコーディングアシスタント:文脈認識型、多目的ツール

ツール: GitHub Copilot、Cursor、Windsurf、Claude Code、OpenAI Codex CLI、Zed、Cody by Sourcegraph、Aider、Qodo、Cline、Roocode、Blackbox、OpenHands、Gemini Code Assist、Augment Code、Amazon Q、JetBrains AI Assistant

  • AIコーディングアシスタントは、多くの場合、タブ補完、コード生成、AIチャット、エージェントコーディング機能などの多数のAIコーディングツールを提供するAIネイティブエディタの新しい種類の一部です。

  • AIコーディングアシスタントは、インライン説明付きのコードブロック全体を書くのが最も得意です。新機能の最初のドラフトを作成したり、単体テストを生成したり、リファクタリングを行うのに非常に効果的です。ただし、タブ補完ツールよりもコードにバグや問題を追加する可能性が高く、良い結果を得るには一般的に良いプロンプティングが必要です。Cursor によるこのツイートが証明しているように。そのため、提案の品質は開発者のプロンプティングの専門知識によって変わります。

  • AIアシスタントはコードを生成するだけでなく質問に答えることもできるため、コードを自分で書く際のコンテキストスイッチング(そしてStack Overflowで費やす時間)を減らすのにも役立ちます。

  • ほとんどのAIコーディングアシスタントはCursorやJetBrains、Windsurf、Zed、Copilot(VS Codeにある)のようにIDEベースですが、Claude Code、Aider、OpenAIのCodexを含む、CLIで動作するものもあります。

  • AIコーディングアシスタントはタブ補完ツールよりも文脈を理解し、時間をかけてコードベースとコーディングスタイルを学習して、提案の関連性を高めることに焦点を当てています。

エージェント型コーディングツール:次のフロンティア(ただし高価)

ツール: Cursor、Windsurf、GitHub Copilot、Claude Code、OpenAI Codex、Cline、Roocode、Blackbox AI、Continue、Devin、Jules、Augment Code、OpenHands

  • これらのツールはAIコーディングアシスタントと重複することが多いですが、すべてのアシスタントがエージェント機能を持つわけではなく、よりエージェント型コーディングに焦点を当てたコーディングエージェントもあるため、独自のカテゴリに分類しています。

  • これらのツールは、コーディングタスクへのアプローチ方法や問題の解決方法を決定するためにコードベースを分析できます。そして、自律的または半自律的エージェントが、テストの作成、コードのテスト、複数パッケージのインストール、コードの問題修正、または新しいコードの生成とリクエストに基づくPRの作成などのタスクを解決または完了するよう働きます。また、コードベースを理解してファイルを要約することもできます。

  • 通常、コードの変更やファイルの作成を含む特定のタスクを実行する能力があります。また、開発環境に統合され、ツールと対話できます。

  • 多くはDevinやClaude Code、OpenAI CodexのようにDevinのように直接的な監督なしに自律的にタスクを実行する能力があり、他のものはCopilotやWindsurfのように承認が必要な提案を行います。タスクによって、開発者は一方または他方のタイプのツールを好む場合があります。

  • エージェント型コーディングツールはまだ初期段階にありますが、急速に進歩しています。適切な手で適切なタスクに使用すれば、大きなリターンを提供できますが、または本当に創造的な新しいバグを作成することもあります。

AIアプリ生成ツール:アプリやウェブサイトを高速生成

ツール: Lovable、v0、Bolt、Builder.io、Figma Make、Fine.dev、Stitch

  • これらのツールは、個々のコード行を完成させたり機能を生成したりするのではなく、アプリやウェブサイト全体を迅速に生成することに焦点を当てています。フロントエンドUIデザインからバックエンドインフラストラクチャの設定まで、フルスタックアプリケーションを迅速に構築することを約束し、クラウドデータベースと統合されています。そのため、主に非開発者にアピールします。また、プロセスをさらに簡素化するため、ノーコードツールの終焉を告げる可能性があります。

  • そのため、開発者の間でのアプリ生成ツールの人気の高まりは、プロダクションに入るものを作成するのではなく、新しいアイデアを迅速にプロトタイピングすることに焦点を当てることが多いです。

  • アプリ生成ツールは、コード生成ツールよりもエージェント的で、開発プロセスのより広い範囲を処理します。これは初期の大幅な時間節約を意味する可能性がありますが、生成されたアプリを正確な仕様にカスタマイズするために、下流でより多くの監視と編集が必要になる場合があります。しかし、多くの開発者は、生成されたアプリが実際にプロダクション準備ができているかどうか疑問に思っています。

  • アプリ生成ツールは急速に進歩して次第に洗練されており、開発者がアプリケーションのアイデアを記述し、AIが最小限の手動介入でこれらの記述を機能的なコードベースに変換することを可能にしています。ただし、通常、既存のコードベースやアプリケーションで作業する多くの開発者にとっては、まだ限定的な用途のままです。

コードベースコンテキストツール:最新のコードベースコンテキスト

ツール: Repomix、Repo Prompt、Context7

  • これらのツールは、AI支援ソフトウェア開発の重要な実現要因です。大きなコードベースの関連する部分を構造化してAIモデルに配信し、AIが多くのファイルを横断して効果的に推論するために必要なコンテキストを提供します。

  • 開発者は単純にAIアシスタントにプロンプトを送り、これらのAIツールがコードベースの最も関連する部分をキュレーションしてモデルに供給し、アシスタントが大規模または複雑なプロジェクトで盲目的に動作しないようにします。

  • コードベースコンテキストツールは、AIエージェントのプロンプトを圧縮および構造化して、指定されたトークン制限内で大きなコードベースの機能的理解を維持できるようにし、消費ベースの価格設定を使用するツールを使用する際のコストを削減しながら、生成されるコードの品質を向上させることもできます。

必須層:AIコードレビューツール

次は、より高速なAI支援コーディングによって生じる増加したワークロードに直接対処する重要な層であるAIコードレビューツールです。

前回の投稿では、これらのツールがチームが生産される増加するコード量をより良く管理し、手動レビューによるバーンアウトを回避するのに役立つ方法を強調しました。AI駆動のコードレビューは、チームがPRを大幅に速く統合できるようにしてプロセスを高速化するだけでなく、早期にバグを捕捉し、レビュアーの疲労を減らし、ベストプラクティスを標準化することで品質を大幅に改善します。CodeRabbitのようなものには、エージェントワークフローさえあり、単体テストの生成、マルチファイル編集、新しいPRの作成などに役立ちます。

AIコーディングツールの後、AIコードレビューツールは開発チームが最も採用する可能性が高いAIツールです。既存のコードレビューバックログに対処し、疑わしいコード品質のAI記述PRの大量流入に対処するためです。

最終的に、これらは退屈なタスクを自動化し、開発者が本当に楽しんでいる高インパクトな作業に集中できるようにします。

これらのツールは主に3つのタイプに分かれます:

AIコーディングツールの機能:AIコーディングツール自身をレビュー

ツール: Cursor、GitHub Copilot、JetBrains、Windsurf Forge(廃止

  • 一部のAIコーディングアシスタントは、サブスクリプションに含まれる機能やアドオンとしてコードレビューツールを提供しています。例えば、CursorのサブスクリプションにはIDEベースのコードレビューが含まれ、GitHub Copilotのサブスクリプションには CI/CDベースのレビューが含まれます。2025年4月まで、WindsurfはサービスのアドオンであるCI/CDベースのコードレビューツールであるForgeも提供していました。しかし、最近それを廃止し、コードレビューをメインのAIコーディングアシスタントの機能として再リリースしました。

  • 開発においてコードレビューがAIの中核的使用例であるため、既存のAIコーディングアシスタントツールの一部としてAIコードレビューを含めることは一部の人にとって理にかなっています。しかし、コーディングアシスタントが生成するコードをレビューする際の効果について多くが疑問視しています。

  • コードレビューでは、ベストプラクティスは常に、複数の異なる目が潜在的な問題を探すという目標で、仲間やシニア開発者にレビューを任せることでした。コーディングアシスタントの機能としてAIコードレビューを持つことは、中央のセキュリティと品質プロトコルから外れます。コードに41%多くのバグを追加したAIツールが、最初からそれらがバグであることを認識していなかった場合、どうやってそれらのバグを見つけることが期待できるでしょうか?

  • さらに、AIコーディングアシスタントは、しばしば低レイテンシとリアルタイム応答を優先し、品質に焦点を当てたスタンドアロンのAIコードレビューツールよりも、潜在的により表面的なコードレビューにつながります。

  • Forgeの廃止は、機能またはアドオンとして、コードレビューがAIコーディングアシスタントによる製品開発の中核的焦点となる可能性が低いことも示唆しています。特に、スペースがより競争的になり、企業が中核提供を改善することにより多くの時間を費やすようになるにつれて。これは、スタンドアロンソリューションがより包括的で多くの機能を持ち、追加の価値を提供できることを意味する可能性があります。

Gitベースの AIコードレビューツール:チームの時間を節約するレビュー

ツール: CodeRabbit、Bito、Greptile、Qodo、Graphite Diamond

  • これらのツールは、プルリクエストを開いたときに自動レビューを実行します。一次パスのAIコードレビューは、シニアエンジニアが問題にコメントを追加する時間を節約するために、バグ、セキュリティ脆弱性、構文エラー、スタイル問題などを見つけます。

  • これらのツールは、CI/CDワークフローと既存のコードレビュープロセスに完璧に適合し、PR要約と1クリック修正を提供して、問題のレビューと修正の両方を簡単にします。

  • コードベース認識と強化されたコンテキストにより、これらのツールは一般的な問題を早期に捕捉し、見逃す可能性のあるバグを見つけ、コードベース全体でコード品質を向上させることができます。

  • CodeRabbitのような提供は、エージェント的チャットとワークフローさえ持っており、AIレビュアーと単純にチャットすることで、docstringと単体テストの生成、マルチファイル編集、PRの作成などを行うことができます。

  • CI/CD段階でAIコードレビューを行うことは、コードベース全体でコード品質基準を実装しながら、コードレビュープロセスを合理化するために重要です。

IDEとGitベースの両方のAIコードレビューツール:すべての段階でのレビュー

ツール: CodeRabbit、SonarQube、Qodo、Sourcery

  • IDEとCI/CDツールの両方でコードレビューを提供するAIコードレビューツールはほとんどありません。これらのツールは、開発サイクルの複数の段階でバグを減らすことで、最も包括的なコードレビューサポートを提供します。

  • IDEをCI/CDレビューと接続することは、よりシームレスなワークフローと追加の品質チェックを可能にする多層レビューも可能にします。

オプション層:AI QAテスト生成・実行ツール

前回の議論で、QAテストは従来から機械学習やAIの形式を組み込んできましたが、新しいツールはテストの最も反復的で時間のかかる側面を自動化することで、さらに一歩進んでいることについて触れました。

これらのAI駆動ツールは、シンプルな記述から広範囲で現実的なテストシナリオを生成し、テストプロセスを大幅に高速化します。速度を超えて、人間のテスターが見落とすかもしれない多数の順列を考慮することで、テストカバレッジも向上させます。さらに、これらのツールの一部は、アプリのUIや基盤データが変更されたときにテストを自動更新する「自己修復」機能を提供します。

これらを2つのカテゴリに分けます:

AIテスト生成ツール:テスト生成のみ

ツール: Testim、Mabl、Functionalize、testRigor、Autify、ACCELQ、Qodex、Tricentis

  • AIテスト生成ツールはテストを実行または管理しません。代わりに、自然言語の記述に基づいて、または既存のコードパスを分析することで、テストケース、スクリプト、またはシナリオの作成を自動化します。

  • 主な魅力は、各個別のテストケースを手動で定義する退屈で反復的な作業を減らし、QAエンジニアが堅牢なテストスイートを迅速に構築するのを支援することです。

  • 開発者とQAチームは、初期テスト作成を高速化し、大規模、複雑、またはレガシーアプリケーションのテストカバレッジを拡張する際に特に有用であるため、これらのツールを評価しています。

  • ボリュームを迅速に生成するのに優れている一方で、これらのツールは通常、精度とカバレッジを確保するために手動での微調整とレビューが必要です。

  • 次第に、これらのツールは、既存のコードとユーザージャーニーをより知的に解析できるより深いコンテキスト認識を活用し、現実世界の使用例と密接に一致するテストケースを提案できるようになっています。

AIテスト実行・保守ツール:エンドツーエンドのAIテストサポート

ツール: MuukTest、Applietools、Sauce Labs、Perfecto、Meticulous

  • フルライフサイクルのAI QAツールは、テスト生成を超えて、テストプロセス全体を処理します。テストケースの作成から自動実行、さらにはアプリケーションの進化に応じた保守まで。

  • チームは、初期のテスト作成だけでなく、コードベースやUIの変更時に必要な継続的な保守を自動化することで、QAワークロードを劇的に削減するため、これらの包括的なツールを好むことが多いです。

  • これらのツールは保守負担を大幅に軽減しますが、複雑なシナリオでは時々苦労することがあります。

  • 次第に洗練されたこれらのツールは、既存のCI/CDワークフローにシームレスに統合し、複数の環境とデプロイメント段階にわたって継続的で自動化されたテストカバレッジを提供します。

オプション層:AIリファクタリングツール

もう一つの重要な領域はAIリファクタリングツールです。一般的なAIコーディングアシスタントはリファクタリング機能を主張するかもしれませんが、その成果はしばしば不十分です。これにより、多くのチームがコードベースの最適化と改善のために明示的に設計された専門のAIリファクタリングツールを採用するようになりました。

これらの専用ツールは、単純に自然言語の指示に基づいてリファクタリングの機会を迅速に特定し、実行することで退屈なタスクを自動化し、手動作業を大幅に削減し、コードの保守性を向上させます。

これらのツールを2つのタイプに分けます:

半自動ツール:リファクタリングツールのタブ補完

ツール: CodeGPT、GitHub Copilot、Amazon CodeWhisperer、Sourcegraph Cody

  • 半自動リファクタリングツールは完全に主導権を握りません。代わりに、IDE内でコード改善を積極的に提案し、各提案を迅速に受け入れ、拒否、または変更できるようにします。

  • これらのツールは、メソッドの簡素化、ループの再構築、関数ロジックの最適化など、コミットする前に人間の目から恩恵を受ける小規模で段階的なリファクタリングに焦点を当てています。

  • 開発者は、細かい制御を提供するため、複雑または機密なリファクタリングタスクで半自動ツールを好みます。

  • 魅力はそのバランスにあります。ルーチンリファクタリングを高速化しながら、開発者の判断の余地を残し、望ましくない変更や微妙なバグがプロダクションに忍び込むリスクを最小限に抑えます。

  • 次第に、半自動リファクタリングツールは、より広いコードベースを分析してより賢く、より関連性の高い提案を提供するより深いコンテキスト認識を活用しています。

完全自動ツール:AIにより多くの自律性を与えたい場合

ツール: Claude Code、Devin、OpenAI Codex

  • これらのAIツールは、しばしば単一の指示やルールセットから、コードベース全体にわたって大規模で反復的なリファクタリングタスクを自動的に処理します。

  • 半自動ツールが開発者が手動でレビューするリファクタリングの機会を強調する一方で、完全自動ツールは、依存関係のアップグレード、フレームワークの移行、またはコードスタイルの標準化など、バルクタスクで優れており、反復作業の何時間も節約する可能性があります。

  • これらのツールは、何百または何千のファイルにわたって同じリファクタリングを手動で適用するのに数日を費やすことなく、大規模に技術的負債に取り組むことを探しているチームにアピールします。

  • 開発者は、明確に定義された反復的なリファクタリングに対する信頼性と一貫性を評価しますが、完全自動ツールは一般的に明示的なルールを与えられたときに最もよく機能します。人間の判断を必要とする微妙なコード改善にはあまり適していません。

  • 次第に、完全自動リファクタリングツールは複数のプログラミング言語を解析し、既存のCI/CDパイプラインに直接統合できるようになっています。

オプション層:AIドキュメンテーションツール

最後に、AIドキュメンテーションツールは、AIを採用する際の最初の考えではないことが多いですが、非常に価値があることが証明されています。

以前に述べたように、これらのツールは、インラインコメントやdocstringなどのコードドキュメンテーションを書いて更新するという、しばしば恐れられるタスクに取り組みます。AIを活用することで、開発者はコードベースから直接、明確で正確かつ最新のドキュメンテーションを迅速に生成でき、手動でドキュメンテーションを維持するのに費やしていた大幅な時間と労力を節約できます。

コードレベルのドキュメンテーションツール:

ツール: DeepWiki、Cursor、CodeRabbit、Swimm、GitLoop、GitSummarize

  • AIドキュメンテーションツールは、コード構造と動作を分析して、読みやすくコンテキストを理解したドキュメンテーションドラフトを自動的に生成します。インラインコメント、docstring、APIリファレンス、さらには内部設計とアーキテクチャドキュメントを生成することで、ドキュメンテーション時間を半分以上削減する可能性があります。

  • これらのツールは、コードが進化するにつれて、すべての関数コメントやAPI記述を手動で更新することなく、ドキュメンテーションをコード変更と継続的に同期させ続けることを望むチームにアピールします。

  • 次第に、AIドキュメンテーションツールは複数のプログラミング言語をサポートし、IDEやCI/CDパイプラインに直接統合し、開発者がコードを書く際にドキュメンテーションを積極的に促すことで、時間の経過とともにドキュメント品質を改善し、技術的負債を削減します。

独自のAI開発ツールスタックの構築

AI開発ツールスタックの採用は、新しいAIツールをいくつか混ぜるだけではありません。開発ワークフローのすべての部分に戦略的にAIを取り入れることです。

コーディング、レビュー、テスト、リファクタリング、ドキュメンテーションまで、すべてのステップでAIを戦略的に使用することで、チームがより多くのことを成し遂げ、フラストレーションを減らし、コードベースの全体的な品質を大幅に向上させることができます。

あなたがどのようにAI開発ツールスタックを構築し、何があなたにとって機能しているかについてもっと聞きたいです。TwitterLinkedInで私たちをタグ付けしてください。

私たちのAIコードレビューツールを試すことに興味がありますか? 14日間の無料トライアルを始めましょう!

0
Subscribe to my newsletter

Read articles from Atsushi Nakatsugawa directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Atsushi Nakatsugawa
Atsushi Nakatsugawa