View a markdown version of this page

Amazon Bedrock AgentCore Code Interpreter を使用してコードを実行し、データを分析する - Amazon Bedrock AgentCore

Amazon Bedrock AgentCore Code Interpreter を使用してコードを実行し、データを分析する

Amazon Bedrock AgentCore Code Interpreter を使用すると、AI エージェントはサンドボックス環境で安全にコードを記述して実行できるため、精度が向上し、複雑なend-to-endのタスクを解決する機能が拡張されます。これは、エージェントがデータの侵害やセキュリティリスクにつながる可能性のある任意のコードを実行するエージェント AI アプリケーションで重要です。AgentCore Code Interpreter ツールは、安全なコード実行を提供するため、これらの問題の発生を回避できます。

Code Interpreter には、複数の言語用の事前構築されたランタイムと、大規模なファイルサポート、インターネットアクセス、CloudTrail ログ記録機能などの高度な機能が用意されています。インラインアップロードの場合、ファイルサイズは最大 100 MB です。また、ターミナルコマンドを使用して Amazon S3 にアップロードする場合、ファイルサイズは最大 5 GB になります。

開発者は、エンタープライズ要件とセキュリティ要件を満たすために、セッションプロパティとネットワークモードを使用して環境をカスタマイズできます。AgentCore Code Interpreter は、セキュリティやパフォーマンスを損なうことなく、高度な AI 開発を可能にしながら、手動による介入を減らします。

概要

AgentCore Code Interpreter は、AI エージェントがサンドボックス環境でコードを安全に記述、実行、デバッグできるようにする機能です。これにより、自然言語の理解と計算実行の架け橋となり、エージェントがデータを操作して計算をプログラムで実行できるようになります。

AgentCore Code Interpreter は Amazon Bedrock AgentCore 内のコンテナ化された環境で実行され、コード実行が分離され、安全になります。

組み込みツールとブラウザおよび CI ツールを示すアーキテクチャ。

エージェント開発で Code Interpreter を使用する理由

AgentCore Code Interpreter は、次の方法でエージェント開発を強化します。

  • コードを安全に実行する: 機密データを公開したりセキュリティを侵害したりすることなく、サンドボックス環境で複雑なワークフローやデータ分析を実行できるエージェントを開発します。

  • 複数のプログラミング言語: Code Interpreter は Python、JavaScript、TypeScript などのさまざまなプログラミング言語をサポートしているため、さまざまなユースケースで汎用性があります。

  • モニタリングと大規模なデータ処理: コード実行を追跡およびトラブルシューティングします。大規模なデータセットを使用する場合、Amazon S3 に保存されているファイルを簡単に参照できるため、API の制限なしにギガバイト規模のデータを効率的に処理できます。

  • 使いやすさ: 共通ライブラリがプリインストールされた一般的なプログラミング言語をサポートする、構築済みの実行ランタイムでフルマネージドデフォルトモードを使用します。

  • 問題解決機能を拡張: 推論だけでは対処が難しい計算問題を解決し、正確な数学計算と大規模なデータ処理を可能にします。

  • 実行時間の長期サポート: Code Interpreter ツールは、デフォルトの実行時間を 15 分までサポートし、最大 8 時間延長できます。

  • 構造化データを処理: CSV、Excel、JSON、およびその他のデータ形式を処理し、データのクリーニングと分析を実行します。

  • 複雑なワークフローを有効にする: 推論と計算を組み合わせた複数ステップの問題解決を可能にし、反復的な開発とデバッグを容易にします。

AgentCoreコードインタープリタは、推論能力を計算実行で補完することでエージェントをより強力にし、はるかに幅広いタスクに効果的に取り組むことができます。

ベストプラクティス

AgentCore Code Interpreter を最大限に活用するには:

  • コードスニペットを簡潔にし、特定のタスクに集中させる

  • コメントを使用してコードを文書化する

  • 大規模なデータセットを操作するときにコードのパフォーマンスを最適化する

  • 複雑なオペレーションを実行するときに中間結果を保存する

  • code_session コンテキストマネージャーを使用して適切なクリーンアップを確保する

  • エラーを適切に処理するために、コードに try/except ブロックを含める

  • コード実行結果が返され、ストリームとして処理されます

  • 不要になった一時ファイルをクリーンアップする

  • リソースのリリースが完了したらセッションを閉じる