

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

# コーディングエージェント
<a name="coding-agents"></a>

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

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

## アーキテクチャ
<a name="architecture-coding"></a>

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

![\[コーディングエージェント。\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/agentic-ai-patterns/images/coding-agents.png)


## 説明
<a name="description-coding"></a>

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

1. 環境コンテキストを抽出します
   + エージェントは、アクティブなファイル、カーソルの位置、コードスニペット、シンボルテーブルなど、IDE からコンテキストを収集します。
   + エラーメッセージ、テスト結果、および他のエージェントからの出力を出力します。

1. LLM の推論
   + エージェントは、クエリや環境コンテキストを含むプロンプトを LLM に送信します。
     + LLM は推論パスを実行して以下を決定します。
     + 変更点
     + ソリューションを生成する方法
     + リファクタリング、書き換え、またはコーディングのステップ

1. アクションを実行します
   + LLM は出力をエージェントに返し、IDE またはランタイム環境にインポートします。
   + これには、コードの挿入または変更、コメントやドキュメントの生成、ダウンストリームのビルド、テスト、リンティングタスクのトリガーなどが含まれます。

## 機能
<a name="capabilities-coding"></a>
+ 高コンテキスト対応 (IDE 状態、カーソル、構文ツリーなど)
+ 目標とフィードバックの反復的な推論
+ オプションのコード計画とアクションの分離 (例: 最初の理由とアクション)
+ 同期デベロッパーワークフローまたは非同期デベロッパーワークフローで動作

## 一般的なユースケース
<a name="common-use-cases-coding"></a>
+ タスクの説明からのコード生成
+ コードのリファクタリングと最適化
+ テストケースの生成と検証
+ エラーの説明とデバッグ
+ ドキュメントアシスタント
+ ペアプログラミングコパイロット

## 実装のガイダンス
<a name="implementation-guidance-coding"></a>
+ このパターンは、次のツールと を使用して構築できます 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)

## 概要
<a name="summary-coding"></a>

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