agentic coding の概要
断片的な AI コードスニペットからコードベース全体を理解する agentic coding による統合機能の導入に移行します。
断片的な AI コードスニペットからコードベース全体を理解する agentic coding による統合機能の導入に移行します。
AI 支援型コーディングはここ数年で急速に進化を遂げてきました。かつては次の行を提案していたツールが、今ではコード内のパターンを分析することで、関数全体を予測するようになりました。
最新の進化ではこれをさらに推し進めています。次に何が入力されるかを予測する代わりに、これらのシステムはコードベース全体にわたるファイルを読み取り、テストを実行し、目標が達成されるまで反復処理を行うことで、複数のステップからなる開発タスクを自律的に実行します。
agentic coding は AI をオートコンプリートから自律的なタスク実行者へと進化させます。従来のコーディング支援ツールは、ユーザーが各行を入力するのを待ち、次に続く内容を提案します。エージェントシステムは大まかな目標を設定し、それを個別のステップに分割します。各ステップを独立して実行し、環境からのフィードバックに基づいてアプローチを調整します。
主な違いは自律性と範囲にあります。従来の AI ツールはエディタ内で可視化されたコードを解析し、次のコード断片を提案します。agentic coding ツールはコードベース全体を読み込み、ディレクトリ間のファイル関係を理解し、コマンドを実行して変更が正常に機能することを確認し、テストにパスし要件を満たすまで繰り返し処理を行います。この自律性は開発サイクル全体に及び、各ステップはワークフローを手動で調整する必要なく自動的に進行します。
IDE の自動補完拡張機能などのツールは、エディタに表示されているコードを解析し、次に何を入力するか予測します。これらのシステムは、REST エンドポイントの定型文生成、確立された規約に従ったテスト構造の作成、一般的なアルゴリズムの実装など、繰り返しのパターンに特に優れています。
予測モデルは、直近のコンテキストを考慮します。関数シグネチャを作成する際、このツールは関数名、パラメータタイプ、周辺コードに基づいて実装を提案します。import 文の入力を開始すると、既にインポート済みのパッケージや一般的な使用パターンに基づいて推奨パッケージを提示します。
制限は範囲にあります。オートコンプリートツールは限定的なコンテキストウィンドウのみで機能し、通常は現在または少数の近隣のファイルのみを分析します。アプリケーションアーキテクチャ全体でのデータフローを追跡したり、あるサービスでの変更が依存サービスに与える影響を理解したりすることはできません。
Claude.ai のようなブラウザベースのコーディングアシスタントは、AI コーディングツールに対話能力を追加しました。これらのツールは、入力時にコードを提案する代わりに、貼り付けられたコードスニペット、バグの説明、最適化に関する質問を分析し、コードの問題について対話を行います。
これらのインターフェイスは分析とガイダンスに優れています。低速なデータベースクエリを貼り付けると、最適化の推奨事項を受け取ります。アーキテクチャ上の決定事項を説明すると、トレードオフ分析が得られます。エラーメッセージを共有すると、トラブルシューティングの手法を探求できます。
対話形式は反復的な改善をサポートします。まず一般的な質問を投げかけ、初期の回答を受け取り、その回答に基づいて要件を明確化し、段階的に具体的な解決策へと絞り込んでいきます。このやり取りは、問題が完全に定義されていない場合や、実装を決定する前に異なるアプローチを検討する必要がある場合に効果的です。
ただし、複数のファイルを扱うタスクでは非現実的となります。30 のファイルからインポートされているモジュールをリファクタリングする場合、各ファイルをチャットに貼り付け、更新が必要なファイルを手動で追跡し、提案された変更を各ファイルにコピーし、すべての修正に一貫性があることを確認する必要があります。チャットインターフェイスはガイダンスを提供しますが、オーケストレーションの実装は依然として手動によります。このギャップを埋めるために設計されたのが、agentic coding システムです。
agentic coding システムはファイルレベルではなくプロジェクトレベルで動作します。目標を提供すると、システムは目標達成に必要な関連コンテキストを分析します。これには、構成ファイルを読み込みプロジェクトの設定を理解し、テストファイルを検証して既存のカバレッジパターンを把握し、インポートをトレースしてモジュール間の依存関係をマッピングすることが含まれます。
次に、システムは目標達成のための計画を作成します。これは静的なリストではなく、システムがより多くの情報を収集するにつれて進化する適応型アプローチです。例えば「API に認証を追加する」という目標の場合、計画は既存のルート定義の分析から始まり、保護が必要なエンドポイントの特定、認証ミドルウェアの有無の確認、ユーザーセッション管理の実装場所の決定といった手順を踏むことなるでしょう。
実装フェーズでは、コードベース全体にわたるファイルの読み書きが行われます。単一ファイル内の変更を提案するオートコンプリートツールとは異なり、エージェント型システムは一貫性を保つため複数の関連ファイルを修正します。認証機能の追加には、ルートハンドラーの更新、ミドルウェア関数の作成、データベーススキーマの変更、API クライアントコードの調整、ドキュメントの更新、そしてこれら全ての変更に対するテストカバレッジの追加が必要となる場合があります。
この自律的なワークフローにより、開発プロセスは「コードを記述し、テストを実行し、エラーを確認し、コードを修正し、繰り返す」という流れから、「目標を定義し、提案された変更点を検討し、実装を承認する」という流れへと変化します。計画のレビューやファイル変更の承認を通じて制御を維持しつつ、システムが反復的なデバッグサイクル、既存コードパターンの調査、複数ファイルにわたる変更の調整を処理します。
Claude Codeはターミナル環境にエージェント機能をもたらします。常にコードをコピーする必要のあるブラウザベースのツールや可視ファイルのみを分析する IDE 拡張機能とは異なり、Claude Code はプロジェクトディレクトリ内で直接動作し、コードベース全体に完全なアクセス権限を持ちます。

Claude Code をターミナルにインストールします。
次にプロジェクトディレクトリでこれを起動しコーディングを開始します。
Claude Code は、リクエストに応じてプロジェクト全体のコンテキストを読み取ります。アーキテクチャに関する質問や変更依頼をした場合、Claude Code はファイル構造を分析し、package.json や requirements.txt で宣言された依存関係を理解し、モジュールの相互作用を追跡し、コードベース全体に確立された既存のパターンを特定します。
複数ファイルの操作が簡単になります。「このコールバックベースのコードをasync/awaitを使用してリファクタリングしてください」とリクエストすると、Claude Code はコールバックパターンを使用しているすべてのファイルを特定し、各ファイルを async/await 構文で更新し、エラー処理を try/catch ブロックを使用するように変更し、関連するテストを async パターンに対応するように更新し、テストスイート全体が引き続き通過することを確認します。
ファイルシステムへのアクセスにより、ウェブベースのツールでは対応できないワークフローが可能になります。Claude Code は適切な命名規則で新規ファイルを作成し、コードを論理的なディレクトリ構造に整理し、依存関係を追加する際には設定ファイルを更新し、既存のプロジェクト構成パターンとの一貫性を維持します。
権限モデルにより、管理権限を確実に保持できます。デフォルトでは、Claude Code はファイルを変更する前に承認を求め、実施予定の変更内容を正確に表示します。提案された変更を確認し、同意する変更を承認し、要件を満たさない変更には修正をリクエストします。
Claude Code は既に使用されているツールと連携することで、開発ワークフローとの統合が実現します。 依存関係のインストールには npm コマンドを実行し、Jest や pytest などのテストランナーを実行し、コミットやブランチ作成には Git を利用し、変更が動作中のアプリケーションで正しく機能するかを検証するために開発サーバーを起動します。
さらに、Model Context Protocol(MCP)サーバーを接続することでこれらの機能をさらに拡張できます。これにより、開発環境全体の追加ツールやシステムから包括的なコンテキストが Claude Code に提供されます。
楽天のエンジニアリングチームは、Python、C++、CUDA で構成される 1250 万行のコードを含むオープンソースライブラリ「vLLM」に特定のアクティベーションベクトル抽出方法を実装するという高度な課題を Claude Code に与えました。Claude Code は、7 時間にわたる持続的な自律作業で実装全体を完了しました。
「7時間の間、私は一切コードを書かず、少し指示をしただけでした」
- 楽天、機械学習エンジニア、成瀬 健太氏
最終的な実装では、リファレンス手法と比較して99.9%の数値精度を達成し、複雑な多言語コードベースを理解し、高度なアルゴリズムに対する実装アプローチを計画し、本番環境品質の結果提供というシステムの能力を実証しました。
楽天の変革指標:
楽天でビジネス向け AI 部門のジェネラルマネージャーを務める梶佑輔氏は次のように説明します。「Claude Code に 4 つのタスクを任せ、自分は残りの 1 つに集中することで、5 つの業務を並行して進めることが可能です。」
npm で Claude Code をインストールした後、プロジェクトディレクトリに移動し、セッションを開始します。
いくつかの異なるタスクを試して、Claude Code がコードベースをどのように理解するか確認します。
Claude Code はファイルを読み込み、アーキテクチャの概要を提供します。これにより、ご自身や新規チームメンバーがプロジェクトの構成を理解するお手伝いをいたします。
Claude Code は関連するコードを検証し、認証情報の露出や検証不足などの懸念事項を特定し、具体的な改善策を提案します。
Claude Code はコードベース全体を解析し、N+1 問題を引き起こす特定の ORM パターンを特定し、修正を実装します。

Claude Code を利用する中で、自律実行が最も効果的なタスクと、従来の開発ツールで処理した方が良いタスクの区別が直感的にわかるようになります。すぐに成果が得られるアプリケーション例としては以下が挙げられます。
各インタラクションは Claude Code が特定のコードベース内の問題にどのようにアプローチするかを学ぶ機会を提供します。 Claude Codeを開始するか、詳細についてはドキュメントをご覧ください。
開発者向けニュースレターを入手
製品の最新情報、操作方法、コミュニティスポットライトなどを掲載しています。毎月受信トレイにお届けします。