View a markdown version of this page

カスタムエージェントの実行 - AWS DevOps エージェント

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

カスタムエージェントの実行

カスタムエージェントはオンデマンドで実行することも、トリガーを設定して自動的に実行することもできます。

オンデマンドでカスタムエージェントを実行する

カスタムエージェントは、エージェントの詳細ページまたはチャットからすぐに実行できます。

詳細ページからカスタムエージェントを実行するには:

  1. DevOps エージェントウェブアプリの エージェントページに移動します。

  2. 実行するカスタムエージェントを選択します。

  3. Run Now を選択して、設定された手順でエージェントを実行します。

特定の実行に関する追加のコンテキストを提供するには、Run Now の横にあるドロップダウン矢印を選択し、エージェントがこの呼び出しで何に集中すべきかを説明するプロンプトを入力し、プロンプトで実行を選択します。プロンプトは、システムプロンプトとともに追加のコンテキストとしてエージェントに渡されます。

実行が開始されると、新しい呼び出しが「開始保留中」のステータスの履歴タブに表示されます。呼び出しを選択すると、その軌道がリアルタイムで表示されます。

Chat を使用してカスタムエージェントを実行するには:

チャットに名前でエージェントを実行するように依頼します。例えば、次のようになります。

Run my weekly-investigation-report agent.
Run certificate-checker and focus on certificates expiring in the next 7 days.

チャットメッセージに追加のコンテキストを指定すると、チャットはその実行のプロンプトとしてそれを渡します。追加のコンテキストを指定しない場合、エージェントは設定されたシステムプロンプトでのみ実行されます。

カスタムエージェントは、一度に 1 つの呼び出しのみを実行できます。エージェントがすでに実行されている場合は、現在の呼び出しが完了、タイムアウト、またはキャンセルされるまで待ってから、別の呼び出しを開始する必要があります。

トリガーの設定

トリガーは、定義された条件に基づいてカスタムエージェントを自動的に実行します。 AWS DevOps Agent は 2 種類のトリガーをサポートしています。

  • スケジュールトリガー – EventBridge 互換の cron 式または rate 式を使用して、定期的な間隔でエージェントを実行します。

  • イベントトリガー – 接続された統合からウェブフックイベントが到着したときにエージェントを実行し、イベントペイロードをコンテキストとして渡します。

どちらの種類のトリガーも、カスタムエージェントのトリガータブから作成されます。これを開くには、DevOps エージェントウェブアプリの エージェントページに移動し、カスタムエージェントを選択し、トリガータブを選択します。

スケジュールトリガーの作成

スケジュール式は、EventBridge 互換の cron 構文または rate 構文を使用します。式は、次のいずれかの形式である必要があります。

  • Rate 式 – 一定の間隔で実行されます。形式: rate(value unit)。例:

    • rate(1 hour) – 1 時間ごと

    • rate(30 minutes) – 30 分ごと

    • rate(7 days) – 7 日ごと

  • Cron 式 – 特定のスケジュールで実行されます。形式: cron(minutes hours day-of-month month day-of-week year)。例:

    • cron(0 9 ? * MON-FRI *) – 毎週平日の午前 9:00 UTC

    • cron(0 0 1 * ? *) – 毎月 1 日午前 0 時 UTC

    • cron(0 */6 ? * * *) – 6 時間ごと

cron 式の場合、day-of-monthまたはday-of-weekである必要があります。 ?スケジュール式の構文の詳細については、「Amazon EventBridge スケジューラユーザーガイド」の「スケジュールタイプ」を参照してください。

スケジュールトリガーを作成するには:

  1. + (作成) ボタンを選択します。

  2. トリガータイプで、スケジュールを選択します。

  3. スケジュール式を入力します。式が有効になると、緑色の確認メッセージが表示されます。

  4. (オプション) スケジュールされた実行ごとに追加のコンテキストを指定するには、ユーザープロンプト (オプション) フィールドにプロンプトを入力します。プロンプトは、システムプロンプトとともにエージェントに渡されます。

  5. [作成] を選択します。

作成後、トリガーがリストに表示され、式、作成日、次にスケジュールされた実行時間が表示されます。

イベントトリガーの作成

イベントトリガーは、接続された統合からウェブフックイベントが到着したときにカスタムエージェントを実行します。イベントペイロードは、その実行のコンテキストとしてエージェントに渡されます。

前提条件:

イベントトリガーを作成する前に、エージェントスペースにアクティブなウェブフックとの接続された統合が必要です。アクティブなウェブフックとの統合は、イベントソースとして機能します。統合の設定の詳細については、「Webhook による DevOps エージェントの呼び出し」を参照してください。

イベントトリガーを作成するには:

  1. + (作成) ボタンを選択します。

  2. Trigger type で、Event を選択します。

  3. イベントソースで、ウェブフックイベントがエージェントを実行する統合を選択します。アクティブなウェブフックとの統合のみが一覧表示されます。

  4. (オプション) Filter 式には、フィルタリングする JMESPath 式を入力し、オプションでイベントペイロードを変換します。

  5. [作成] を選択します。

イベントソースが一覧表示されていない場合、エージェントスペースにウェブフック対応の統合が存在しないか、ロールに ListAssociationsおよび アクセスListWebhooks許可がありません。

フィルター式:

オプションで JMESPath フィルター式を指定して、エージェントを開始するイベントとエージェントが受け取るコンテキストを制御できます。フィルター式は raw イベントペイロードルートに対して評価されます。

  • 構文 – JMESPath 仕様

  • 最大長 – 4,096 文字

  • 検証 – トリガーの作成時に無効な式が拒否されます

フィルター式は、条件と、オプションで射影の両方として機能します。

  • 結果が null、false、空の文字列、空の配列、または空のオブジェクトでない場合、トリガーが実行されます。

  • 結果がブール値 true ( のような述語などseverity == 'critical') の場合、エージェントは raw イベントペイロードをコンテキストとして受け取ります。

  • 結果が他の真の値 ( のような射影など{sev: severity}) である場合、エージェントは射影された結果をコンテキストとして受け取ります。

AWS DevOps エージェントは、このコンテキストを 10,000 文字で切り捨てます。

フィルター式を空のままにすると、エージェントはそのソースからのすべてのイベントで実行され、コンテキストとして raw イベントペイロードを受け取ります。

注記

空のオブジェクトまたは空の配列に評価される射影は、一致なしとしてカウントされ、エージェントは実行されません。空の値を渡すには、オブジェクトリテラルにラップします。例えば、{payload: details}。

フィルター式の例:

  • severity == 'critical' – 述語: 重大度がクリティカルと等しい場合にのみエージェントを実行し、raw イベントペイロードをコンテキストとして渡します。

  • {sev: severity} – 射影: はすべてのイベントでエージェントを実行し、重要度フィールドのみを含むオブジェクトをコンテキストとして渡します。複数選択ハッシュには常にキーが含まれているため、結果は空にならず、フィルタリングされません。

ペイロードの形状はソースごとに異なるため、使用可能なフィールドは統合によって異なります。イベントが到着してもトリガーが実行されない場合、 AWS DevOps Agent は理由を説明する通知を送信します。たとえば、通知には、フィルター式が何も一致しなかったと記載されている場合があります。この通知には、そのペイロードに存在する最上位フィールドも一覧表示されます。詳細については、「販売されたログとメトリクス」を参照してください。

プログラムによるトリガーの作成

AWS SDKs を使用してプログラムでトリガーを作成することもできます。devops-agent クライアントの CreateTriggerオペレーションを呼び出します。これには アクセスaidevops:CreateTrigger許可が必要です。トリガータイプを に設定TIME_BASEDし、スケジュール式とオプションのユーザープロンプトを含むスケジュール条件を指定します。

または、 AWS CloudFormation でスケジュールベースのトリガーをAWS::DevOpsAgent::Triggerリソースとしてモデル化することもできます。トリガーは実行するカスタムエージェントを参照するため、最初にエージェントを作成します。AWS::DevOpsAgent::Trigger リソースタイプの詳細については、「」を参照してくださいアセットの管理。

トリガーの管理

Triggers タブには、カスタムエージェント用に設定されたすべてのトリガーが表示されます。スケジュールトリガーは、スケジュール式を表示します。イベントトリガーは、イベントソースと、設定されている場合はフィルター式を表示します。どちらのタイプも作成日を表示します。

ソース統合またはそのウェブフックが削除された場合、イベントトリガーはリストされたままですが、ソースが使用できなくなり、実行されないことが示されます。

トリガーの一時停止:

削除せずにトリガーがエージェントを呼び出すのを一時的に停止するには、トリガーの横にあるトグルスイッチをオフにします。トリガーステータスは一時停止に変わり、再度有効にするまで実行されなくなります。トグルを再度オンにして再開します。

トリガーの削除:

トリガーを完全に削除するには、削除するトリガーの横にある削除アイコン (ゴミ箱) を選択します。表示されるダイアログで削除を確認します。削除されたトリガーは復元できません。

呼び出しのキャンセル

実行中の呼び出しは、呼び出しの軌跡ビューまたはチャットでキャンセルできます。

軌道ビューから実行中の呼び出しをキャンセルするには:

  1. 履歴タブから、実行中の呼び出しを選択します。

  2. 軌道ビューの上部にあるキャンセルを選択します。

Chat を使用して実行中の呼び出しをキャンセルするには:

Cancel the running invocation of weekly-health-report.

呼び出しステータスが「キャンセル済み」に変わります。キャンセル前に完了した作業は、軌道に保持されます。キャンセルが発生したときに進行中のツール呼び出しは、まだ完了している可能性があります。

ツール呼び出しの結果

呼び出し中、カスタムエージェントは MCP ツールを呼び出してデータを収集し、アクションを実行し、出力を生成します。各ツール呼び出しとその結果は、呼び出しの軌跡に記録されます。

ツール呼び出しの結果は、呼び出し中にエージェントが何をしたかを明確にします。

  • ツール呼び出しの成功 – このツールは、エージェントが作業を継続するために使用するデータを返しました。たとえば、 はログエントリquery_cloudwatch_logsを返し、 は API レスポンスuse_awsを返します。

  • 失敗したツール呼び出し — ツールはエラーを返しました。エージェントは再試行したり、別のアプローチを試したり、出力に障害を報告したりすることがあります。

呼び出しの軌跡で個々のツール呼び出しとその結果を検査して、エージェントの動作を理解し、正しいリソースにアクセスしたことを確認し、予期しない結果をトラブルシューティングできます。軌道の表示の詳細については、「呼び出し軌道の表示」を参照してください。