コーディングエージェント - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

コーディングエージェント

コーディングエージェントは、タスクのプログラミング、コードの生成または変更、IDEs や CLIs。これらのエージェントは、自然言語の理解と構造化された推論を組み合わせて、関数の生成からバグ修正、テストオーサリングまで、ソフトウェア開発を支援、強化、自動化します。

オートコンプリートツールとは異なり、コーディングエージェントはユーザーの目標を積極的に解釈し、開発環境のコンテキストをクエリし (ファイルを開いてエラーを追跡するなど)、要件を特定し、アクションを提案して実行します。

アーキテクチャ

コーディングエージェントのパターンを次の図に示します。

コーディングエージェント。

説明

  1. クエリを受信する

    • ユーザーは、コマンドパレット、チャットウィンドウ、または CLI を通じて自然言語の手順を提供します (たとえば、「この関数にログを追加する」または「読みやすいようにリファクタリングする」)。

  2. 環境コンテキストを抽出します

    • エージェントは、アクティブなファイル、カーソルの位置、コードスニペット、シンボルテーブルなど、IDE からコンテキストを収集します。

    • エラーメッセージ、テスト結果、および他のエージェントからの出力を出力します。

  3. LLM の推論

    • エージェントは、クエリや環境コンテキストを含むプロンプトを LLM に送信します。

      • LLM は推論パスを実行して以下を決定します。

      • 変更する必要があるもの

      • ソリューションを生成する方法

      • リファクタリング、書き換え、またはコーディングのステップ

  4. アクションを実行します

    • LLM は出力をエージェントに返し、IDE またはランタイム環境にインポートします。

    • これには、コードの挿入や変更、コメントやドキュメントの生成、ダウンストリームのビルド、テスト、リンティングタスクのトリガーなどが含まれます。

機能

  • 高コンテキスト認識 (IDE 状態、カーソル、構文ツリーなど)

  • 目標とフィードバックの反復的な推論

  • オプションのコード計画とアクションの分離 (例: 最初の理由とアクション)

  • 同期デベロッパーワークフローまたは非同期デベロッパーワークフローで動作

一般的なユースケース

  • タスクの説明からのコード生成

  • コードのリファクタリングと最適化

  • テストケースの生成と検証

  • エラーの説明とデバッグ

  • ドキュメントアシスタント

  • ペアプログラミングコパイロット

実装のガイダンス

  • このパターンは、次のツールと を使用して構築できます AWS のサービス。

  • LLM 駆動型の生成と推論のための Amazon Bedrock

  • コーディングの提案と完了のための Amazon Q Developer

  • AWS Lambda サンドボックス環境を実行およびテストするための または Amazon Elastic Container Service (Amazon ECS)

  • AWS Cloud9、VS Code 拡張機能、またはコンテキストをホストおよび評価するためのカスタム IDE 統合

  • 中間プロンプト、レスポンス、リビジョン履歴を保存するための Amazon Simple Storage Service (Amazon S3)

概要

コーディングエージェントは、自然言語の解釈、コンテキストの分析、複数ステップのコード変更の生成、ソフトウェア開発ライフサイクルとの統合が可能な新しい AI を活用した開発ツールです。