agentic coding の概要

断片的な AI コードスニペットからコードベース全体を理解する agentic coding による統合機能の導入に移行します。

AI 支援型コーディングはここ数年で急速に進化を遂げてきました。かつては次の行を提案していたツールが、今ではコード内のパターンを分析することで、関数全体を予測するようになりました。

最新の進化ではこれをさらに推し進めています。次に何が入力されるかを予測する代わりに、これらのシステムはコードベース全体にわたるファイルを読み取り、テストを実行し、目標が達成されるまで反復処理を行うことで、複数のステップからなる開発タスクを自律的に実行します。

agentic coding とは?

agentic coding は AI をオートコンプリートから自律的なタスク実行者へと進化させます。従来のコーディング支援ツールは、ユーザーが各行を入力するのを待ち、次に続く内容を提案します。エージェントシステムは大まかな目標を設定し、それを個別のステップに分割します。各ステップを独立して実行し、環境からのフィードバックに基づいてアプローチを調整します。

主な違いは自律性と範囲にあります。従来の AI ツールはエディタ内で可視化されたコードを解析し、次のコード断片を提案します。agentic coding ツールはコードベース全体を読み込み、ディレクトリ間のファイル関係を理解し、コマンドを実行して変更が正常に機能することを確認し、テストにパスし要件を満たすまで繰り返し処理を行います。この自律性は開発サイクル全体に及び、各ステップはワークフローを手動で調整する必要なく自動的に進行します。

AI コーディングツールの進化

コード予測と補完

IDE の自動補完拡張機能などのツールは、エディタに表示されているコードを解析し、次に何を入力するか予測します。これらのシステムは、REST エンドポイントの定型文生成、確立された規約に従ったテスト構造の作成、一般的なアルゴリズムの実装など、繰り返しのパターンに特に優れています。

予測モデルは、直近のコンテキストを考慮します。関数シグネチャを作成する際、このツールは関数名、パラメータタイプ、周辺コードに基づいて実装を提案します。import 文の入力を開始すると、既にインポート済みのパッケージや一般的な使用パターンに基づいて推奨パッケージを提示します。

制限は範囲にあります。オートコンプリートツールは限定的なコンテキストウィンドウのみで機能し、通常は現在または少数の近隣のファイルのみを分析します。アプリケーションアーキテクチャ全体でのデータフローを追跡したり、あるサービスでの変更が依存サービスに与える影響を理解したりすることはできません。

対話型 AI チャットインターフェース

Claude.ai のようなブラウザベースのコーディングアシスタントは、AI コーディングツールに対話能力を追加しました。これらのツールは、入力時にコードを提案する代わりに、貼り付けられたコードスニペット、バグの説明、最適化に関する質問を分析し、コードの問題について対話を行います。

これらのインターフェースは分析とガイダンスに優れています。低速なデータベースクエリを貼り付けると、最適化の推奨事項を受け取ります。アーキテクチャ上の決定事項を説明すると、トレードオフ分析が得られます。エラーメッセージを共有すると、トラブルシューティングの手法を探求できます。

対話形式は反復的な改善をサポートします。まず一般的な質問を投げかけ、初期の回答を受け取り、その回答に基づいて要件を明確化し、段階的に具体的な解決策へと絞り込んでいきます。このやり取りは、問題が完全に定義されていない場合や、実装を決定する前に異なるアプローチを検討する必要がある場合に効果的です。

ただし、複数のファイルを扱うタスクでは非現実的となります。30 のファイルからインポートされているモジュールをリファクタリングする場合、各ファイルをチャットに貼り付け、更新が必要なファイルを手動で追跡し、提案された変更を各ファイルにコピーし、すべての修正に一貫性があることを確認する必要があります。チャットインターフェースはガイダンスを提供しますが、オーケストレーションの実装は依然として手動によります。このギャップを埋めるために設計されたのが、agentic coding システムです。

agentic coding の仕組み

コンテキスト収集と計画

agentic coding システムはファイルレベルではなくプロジェクトレベルで動作します。目標を提供すると、システムは目標達成に必要な関連コンテキストを分析します。これには、構成ファイルを読み込みプロジェクトの設定を理解し、テストファイルを検証して既存のカバレッジパターンを把握し、インポートをトレースしてモジュール間の依存関係をマッピングすることが含まれます。

次に、システムは目標達成のための計画を作成します。これは静的なリストではなく、システムがより多くの情報を収集するにつれて進化する適応型アプローチです。例えば「API に認証を追加する」という目標の場合、計画は既存のルート定義の分析から始まり、保護が必要なエンドポイントの特定、認証ミドルウェアの有無の確認、ユーザーセッション管理の実装場所の決定といった手順を踏むことなるでしょう。

実装と調整

実装フェーズでは、コードベース全体にわたるファイルの読み書きが行われます。単一ファイル内の変更を提案するオートコンプリートツールとは異なり、エージェント型システムは一貫性を保つため複数の関連ファイルを修正します。認証機能の追加には、ルートハンドラーの更新、ミドルウェア関数の作成、データベーススキーマの変更、API クライアントコードの調整、ドキュメントの更新、そしてこれら全ての変更に対するテストカバレッジの追加が必要となる場合があります。

この自律的なワークフローにより、開発プロセスは「コードを記述し、テストを実行し、エラーを確認し、コードを修正し、繰り返す」という流れから、「目標を定義し、提案された変更点を検討し、実装を承認する」という流れへと変化します。計画のレビューやファイル変更の承認を通じて制御を維持しつつ、システムが反復的なデバッグサイクル、既存コードパターンの調査、複数ファイルにわたる変更の調整を処理します。

Claude Code による agentic coding

Claude Codeはターミナル環境にエージェント機能をもたらします。常にコードをコピーする必要のあるブラウザベースのツールや可視ファイルのみを分析する IDE 拡張機能とは異なり、Claude Code はプロジェクトディレクトリ内で直接動作し、コードベース全体に完全なアクセス権限を持ちます。

インストールと起動

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 に提供されます。

実世界のアプリケーション

楽天による 7 時間の自律実装

楽天のエンジニアリングチームは、Python、C++、CUDA で構成される 1250 万行のコードを含むオープンソースライブラリ「vLLM」に特定のアクティベーションベクトル抽出方法を実装するという高度な課題を Claude Code に与えました。Claude Code は、7 時間にわたる持続的な自律作業で実装全体を完了しました。

“「7時間の間、私は一切コードを書かず、少し指示をしただけでした」”

- 楽天、機械学習エンジニア、成瀬 健太氏

最終的な実装では、リファレンス手法と比較して99.9%の数値精度を達成し、複雑な多言語コードベースを理解し、高度なアルゴリズムに対する実装アプローチを計画し、本番環境品質の結果提供というシステムの能力を実証しました。

楽天の変革指標:

  • 新機能の市場投入までの期間を79%短縮(24日→5日)
  • 人的介入を最小限に抑え7時間にわたる自律的な実装を実現
  • 複雑なアルゴリズムのリファクタリングで99.9%の精度達成
  • エンジニアリングチームで 5 倍の並列タスク実行能力

楽天でビジネス向け AI 部門のジェネラルマネージャーを務める梶佑輔氏は次のように説明します。「Claude Code に 4 つのタスクを任せ、自分は残りの 1 つに集中することで、5 つの業務を並行して進めることが可能です。」

Claude Codeの使用開始

npm で Claude Code をインストールした後、プロジェクトディレクトリに移動し、セッションを開始します。

いくつかの異なるタスクを試して、Claude Code がコードベースをどのように理解するか確認します。

プロジェクトアーキテクチャの理解

Claude Code はファイルを読み込み、アーキテクチャの概要を提供します。これにより、ご自身や新規チームメンバーがプロジェクトの構成を理解するお手伝いをいたします。

コード品質の解析

Claude Code は関連するコードを検証し、認証情報の露出や検証不足などの懸念事項を特定し、具体的な改善策を提案します。

デバッグおよびエラーの修正

Claude Code はコードベース全体を解析し、N+1 問題を引き起こす特定の ORM パターンを特定し、修正を実装します。

小規模から始め、その後拡大

Claude Code を利用する中で、自律実行が最も効果的なタスクと、従来の開発ツールで処理した方が良いタスクの区別が直感的にわかるようになります。すぐに成果が得られるアプリケーション例としては以下が挙げられます。

  • テスト自動化:未検証のコードパス向け
  • 文書生成:レガシーシステム向け
  • 定期的なリファクタリング:技術的負債
  • 機能実装:明確に定義された要件

各インタラクションは Claude Code が特定のコードベース内の問題にどのようにアプローチするかを学ぶ機会を提供します。 Claude Codeを開始するか、詳細についてはドキュメントをご覧ください。

よくある質問

Traditional AI coding tools suggest individual functions or code snippets based on immediate context. You handle integration, testing, and ensuring the code follows your project conventions.

Agentic coding tools understand your entire project, plan implementation approaches, and execute complete workflows autonomously. They deliver tested, integrated features that follow your established patterns.

‍

Agentic coding tools like Claude Code can work for extended periods maintaining context and building on previous work. Rakuten's seven-hour autonomous refactoring session demonstrates sustained technical work without human intervention. The duration depends on your task complexity and project requirements.

Claude Code integrates with your existing development workflows through terminal integration. You can incorporate it into your current practices gradually, starting with specific tasks like testing or documentation before expanding to complete feature development.

Agentic coding works across project types and languages. It's particularly valuable for projects with established patterns and conventions, complex integration requirements, or routine development tasks that consume significant time.

Your TypeScript/JavaScript, Python, Go, and Rust projects see immediate benefits, but Claude Code supports all major languages and frameworks.

‍

Claude Code uses CLAUDE.md configuration files that document your coding standards, architectural decisions, and project-specific requirements. These files persist across your sessions, ensuring consistent implementations that follow your established practices.

Claude で組織の運営を変革する

開発者向けニュースレターを受け取る

製品アップデート、使い方ガイド、コミュニティスポットライトなど。毎月カスタマーの受信箱にお届けします。

毎月の開発者向けニュースレターの受け取りを希望される場合は、メールアドレスをご入力ください。いつでも配信を停止できます。