AWS DevOps Agent の Artifact 機能を試してみた

AWS DevOps Agent の Artifact 機能を試してみた

AWS DevOps Agent の Artifact 機能を実際に試してみました。Chat 応答とは違う、成果物として扱えるドキュメント生成機能の使い勝手や、時間を空けて同じファイルを更新できる仕組みについて、詳しく紹介します。
2026.06.09

はじめに

こんにちは。大阪オフィスの林です。

以前、AWS DevOps Agent に Azure 全体のセキュリティ棚卸しを丸投げしてみた、こんな記事を書きました。

https://dev.classmethod.jp/articles/aws-devops-agent-azure-reader-scope/

セキュリティの棚卸しに約 30 分かけて 19 件の懸念を整理したなかなかの力作レポートでした。ただ、これだけ密度のある内容でも、出力されるのは Chat の応答という形です。
検証なのでチャット履歴が流れても困らなかったのですが、実運用に乗せるとなると、読み返しや共有がちょっと不便になりそうな内容です。
公開後に社内メンバーからコメントで 「Artifact 機能を使うとどうですか」 と教えていただいたので、今回はそれを試してみました。基本的な使い方に加えて、検証用に立てた環境で、時間を空けて同じ Artifact を更新してもらう ところまで触っていきます。

なお、Artifact 機能をある程度触ったことがあって 「自動化の仕組みも見ておきたい」 という方向けには、Lambda + EventBridge で定期的に自動生成するアプローチを社内の岩田さんが記事にまとめてくれています。是非こちらも参照ください。

https://dev.classmethod.jp/articles/create-sre-report-by-lambda-with-devops-agent/

Artifact 機能とは

AWS DevOps Agent には Artifact 機能 という、Chat の中で 構造化された文書を生成する仕組み があります。公式ドキュメントの説明を要約するとこんな感じです。

  • 自然言語で「○○のレポートを作って」と頼むと Artifact が生成される
  • 結果は会話とは別の 専用パネル に表示される
  • 編集依頼 (例: 「○○のセクションを追加して」) を受けると、新しいバージョンとして履歴に積まれる

公式が例として挙げているユースケースは以下のとおり。

  • Weekly operational health report
  • 4xx エラーのレポート
  • インシデントサマリ
  • デプロイ履歴レポート

要するに、「Chat の応答」よりも「ドキュメントの成果物」が欲しいときに使う機能 という位置づけです。

試してみた①: 同じ依頼を Chat と Artifact で出し分けてみた

検証用に立てたサーバレス環境 (小さな API + DB 構成) を題材に、同じスコープの依頼を 少しだけ言葉を変えて 投げてみました。プロンプトのちょっとした違いで、Chat 応答になるか Artifact になるかが分かれるところを見ていきます。

1 回目: 「現状を棚卸ししてください」と頼んだ場合

devops-agent-artifact-001-01

返ってきたのは、Chat の応答パネルの中に 長い Markdown 文書が直接展開された 形でした。見出しとネストしたリストでしっかり構造化されていて、11 種類のリソースインベントリ、過去 7 日のメトリクス、CloudWatch アラーム状態、Security Hub 所見、来週の推奨事項まで網羅した、おおよそ A4 数ページ分の内容です。

devops-agent-artifact-002

devops-agent-artifact-004

devops-agent-artifact-012

2 回目: 「週次運用ヘルスレポートを作成してください」と頼んだ場合

ほぼ同じスコープを、少しだけ言葉を変えて頼んでみます。「現状を棚卸し」 ではなく 「週次運用ヘルスレポートを作成」 に書き換えただけです。他の文言は一切変えてない且つ、Artifact 機能を使うようにとも 明示していません

devops-agent-artifact-005-01

返ってきたのは Chat 欄に展開された長文ではなく、Artifact のタイトルカードと、その下にテキストで添えられたレポートのハイライト (全体的な健全性 / 注意点 / 主要推奨事項など) という組み合わせでした。本文全体を読みたいときは、カードをクリックすると Artifact 詳細画面に遷移して全文が読める、という挙動になっています。

devops-agent-artifact-016

カードから遷移した Artifact パネルでは、Chat 応答と同じスコープの内容が、メタ情報 (Account ID / リージョン / 生成日時) を先頭に置いた形で表示されます。

devops-agent-artifact-008

devops-agent-artifact-015

devops-agent-artifact-014

devops-agent-artifact-013

なお、この Artifact パネルはチャット内のカードからだけでなく、左メニューの「アーティファクト」 からもいつでも開けます。

devops-agent-artifact-017

プロンプトのキーワードが Artifact のトリガーになっている

「棚卸し」 → 「週次運用ヘルスレポート」 という言葉の置き換えだけで、Artifact 指定を明示していないのに Agent が自律的に Artifact を作ってくれました。

公式ドキュメントの Artifact 生成例にも "Generate a weekly operational health report" (週次運用ヘルスレポートを作成して) のように 「レポート (report) や document を作る依頼」 が並んでいるので、プロンプトに成果物っぽい単語が入っていれば Artifact が自動で立ち上がる、と読み解けば納得の挙動です。意図どおりに Chat と Artifact を出し分けたいときは、依頼文の動詞・名詞を意識 する (「レポート」「Artifact として」を含めるか、「教えて」「棚卸し」のような対話的な動詞に倒すか) と良さそうです。

並べてみると何が違うか

中身はどちらもよく似ていますが、周辺を取り巻く関連する機能 がやや違う印象を持ちました。

項目 Chat 応答 Artifact
表示場所 チャット欄に流れて埋め込まれる 専用パネルに固定表示
バージョン なし V1/V2/... のバージョン管理あり
エクスポート コピペ コピペ / Markdown ダウンロード
編集 別途プロンプトで上書き応答 同じ Artifact への編集依頼で新バージョン

中身を読むだけなら Chat 応答でも十分です。ただし Chat 履歴は公式ドキュメントに次のように書かれていて、ユーザー個人に閉じた記録という扱いになっています。

Conversation history is retained for 90 days and is private to your user account within the Agent Space.
(会話履歴は 90 日間保持され、Agent Space 内でそのユーザーアカウントに対して private なものとして扱われます)

つまり Chat 履歴を他のメンバーに渡そうとすると、本文をコピペで取り出すしかありません。

ちなみに Artifact 側も似た事情があって、UI 上は「あなたのアーティファクト」一覧に 自分が作ったものしか表示されない 仕様になっています。冒頭で紹介した岩田さんの記事によると Artifact の個別 URL を直接渡せば他のメンバーからも開ける ものの、いずれにせよ「ボタン一発でチーム全員に共有」のような UI は今のところ提供されていません。

それでも 「成果物として残したい」「あとから更新したい」「Markdown で他の人に渡したい」 という用途を考えると、Artifact のほうは URL の直接共有や Markdown ダウンロード という手段がある分、Chat 応答よりは扱いやすい感触です。

次は、Artifact のもう一つの特徴である 「同じ Artifact を時間を空けて更新できるか」 のところを触ってみます。

試してみた②: 後日、同じ Artifact を「更新」してもらう

Artifact 機能のもう一つの特徴は「継続して更新できる」ところです。公式のサンプルクエリには Generate a weekly operational health summary for my Agent Space (自分の Agent Space の週次運用ヘルスサマリーを作成して)、編集依頼の例には Update the report to include last month's data (先月分のデータも含めるようレポートを更新して) といった文言が並んでおり、同じ Artifact を時間をかけて更新していく使い方 も視野に入っていそうな空気感です。

ここの実際の挙動も、触ってみないと感触が掴めませんのでやっていきます。

その前提で、以下の 2 ステップで試してみました。

  1. 初回 (V1)
    • 別タイミングで「Memos API 週次運用レポート」という Artifact を 1 つ作っておきました。本文先頭にレポート期間と生成日時が並ぶ形です
  2. 更新
    • 同じチャットスレッドで「先週生成した Artifact を、今週分として更新してください」と依頼

devops-agent-artifact-018

devops-agent-artifact-019

結論、同じ Artifact がそのまま V2 として上書き され、本文先頭のレポート期間と生成日時が更新後の値に書き換わって返ってきます。さらに Agent が 自分から Week 2 というラベルを付け、V1 を遡って Week 1 として扱う比較セクションまで作ってくれた のも面白いポイントでした。

Artifact パネル右上には現在のバージョン番号 (例: V2/2) が表示されており、ドロップダウンを開くと 過去のバージョンを選んで内容を切り替えられる ようになっていました。履歴上どのバージョンにも戻れる という嬉しい仕様です。

devops-agent-artifact-020

タイトル自体は両バージョンとも「Memos API 週次運用レポート」のままで変わりません。本文先頭のメタ情報と中身が更新され、V1 / V2 の比較セクションも追加された 状態になります。1 つの Artifact が、時間をかけて更新されていく イメージそのものです。

別チャットから更新したい場合、ひと工夫いる

ついでに、別のチャットスレッドから同じ Artifact を更新したらどうなるかも触ってみました。

更新依頼を 新しいチャットスレッド から投げてみたところ、Agent からはこんな確認が返ってきました。

devops-agent-artifact-021

先週の Artifact を更新する前に、まず作成済みの Artifact を確認させてください。どの週次運用ヘルスレポートを更新すればよいか、具体的な Artifact 名や ID をお持ちですか?

一覧に Artifact が複数並ぶこともありえるので、これは自然な確認です。タイトルを伝えて投げ直してみました。

devops-agent-artifact-022

申し訳ございません。既存の Artifact を更新するには、その Artifact の knowledge_item_id が必要ですが、現在その情報を取得する手段がありません。

内部的には knowledge_item_id という識別子があり、タイトルだけでは識別できず、ID そのものを直接渡さないと更新できない というメカニズムでした。

knowledge_item_id の取り方

「あなたのアーティファクト」一覧で、対象の Artifact をクリックして開きます。すると ブラウザの URL バーが個別 Artifact のページに切り替わります。その URL の中にキーっぽい文字列があります。

https://<space-id>.aidevops.global.app.aws/artifacts/ki-1e7e6440-3940-4714-****-************

末尾の ki-1e7e6440-3940-4714-****-************ がそのまま knowledge_item_id です。ki- 接頭辞は knowledge_item の略でしょう。

ID を渡せば、差分追記の編集依頼も普通に通る

ID を取得して、別チャットで以下のように依頼してみました。

devops-agent-artifact-024

完了しました! Artifact「Memos API 週次運用レポート」をバージョン 4 に更新し、末尾に「検証ノート」セクションを追加しました。元のコンテンツはそのまま保持されています。

Artifact パネルを開いて V4 を選ぶと、元の本文がそのまま残ったうえで、末尾に「検証ノート」セクションが追加された 状態になっていました。ID さえ手元にあれば、別チャットからでも差分追記の編集依頼が普通に通る、ということです。現在の本文をこちらから渡さなくても、Agent 側で良しなに既存内容を保持して新バージョンを積んでくれます。

ただし「アーティファクトの本文を表示して」は今のところできない

ちなみに、Agent に 「現在の Artifact の本文をチャットに表示して」 と頼んでみると、こう返ってきます。

devops-agent-artifact-025

私は直接 Artifact の内容を取得する機能を持っていないため、現在表示されている内容をそのまま確認していただく必要があります。更新や新規作成は可能ですが、既存の内容の取得には対応していない状況です。

なので「現在の本文を眺めたい」「目視で内容を確認したい」場合は、UI の Artifact パネルから直接見る必要があります。

別チャットから更新するときの作法

ここまでで判明した運用ルールはこんな感じです。

  1. 「あなたのアーティファクト」一覧で対象の Artifact をクリックして開く
  2. URL バーから ki-xxxxxxxx-... (knowledge_item_id) を控える
  3. 別チャットで以下のように依頼する
    • knowledge_item_id: ki-xxxx を明示
    • 「○○のセクションを追加して」「△△を書き換えて」のような自然な編集依頼を投げる
  4. パネル右上の V<n>/n が +1 されていれば成功

ID さえ控えておけば、別チャットでも普通に編集依頼が通ります。Artifact を作ったらすぐ ID を控えておく 運用にしておくと、後から別スレッドで触りやすそうです。

Artifact パネルから何ができるか、眺めてみた

検証で触ってみた Artifact パネルの実装はこんな感じでした。

devops-agent-artifact-026

UI 要素 場所 何ができるか
コピー ボタン パネル右上 (コピー) Markdown 形式でクリップボードにコピー
ダウンロード ボタン パネル右上 (ダウンロード) Markdown ファイルとしてダウンロード
バージョンドロップダウン パネル右上 (V2/2 等) 過去版に切り替え。クリック 1 回で旧版の全文表示

ここで一点、ちょっと意外だったのが 「Artifact パネルから直接編集を依頼する手段は提供されていない」 という点です。タイトル変更も、本文の修正も、追加も、すべて 通常のチャット入力欄から Agent に依頼する 形になります。パネル上に「Edit」ボタンや右クリックメニューのような直接編集 UI は今のところありませんでした。

過去版 (V1) を選んでも内容は完全な Markdown として読めますが、差分表示 (diff) は今のところなさそう。バージョン間でどこが変わったかは、目視で比較する形になります。

ダウンロード形式が Markdown なので、Confluence / Notion / Backlog などのドキュメント基盤に貼り付ければ、そのままチームの正式な成果物に組み込めます。実運用でドキュメント基盤に展開していくとなると、構造が崩れない Markdown ダウンロードは地味に効く ところです。

Chat 応答 と Artifact で結局何が違うのか

中身そのものは、Chat 応答も Artifact も同じくらい構造化された Markdown 文書として返ってきます。Chat 応答も同じような体裁を頼めば近いものを出してくれますが、Artifact のほうは何も指定しなくても ドキュメントとしての体裁を意識して整えてくれる ように感じる場面がありました。本質的な違いはここから先、「成果物として扱えるかどうか」 という体験面に出てきます。

Chat 応答 Artifact
表示場所 チャット欄に直接埋め込まれる 専用パネルに固定表示
読み直し スクロールして遡る パネルを開けばすぐ参照可能
編集 別途プロンプトを投げ直す (= 別の応答が増える) 「○○のセクションを追加して」で同じ Artifact が更新される
バージョン管理 なし あり (V1/V2/... ドロップダウンで切替)
共有・エクスポート コピペが基本 コピペ / Markdown ダウンロード / 個別 URL 共有の迂回策有り
連続性 1 回の応答で完結 同チャットなら自動継承、別チャットでも ID 指定で更新可

つまり、情報の中身を見るだけなら Chat 応答でも十分。ですが、それを 「継続して運用に組み込みたい」「Markdown で他の人に渡したい」「定期的に更新したい」 となった瞬間、Artifact のほうが扱いやすくなります。

こんな使い方が広がる

公式ドキュメントには Artifact のユースケース例として、Weekly operational health report (週次運用ヘルスレポート)、インシデントサマリ、デプロイ履歴レポートなどが挙がっています。いずれも 継続的に更新する / 定期的に再生成する / 他のメンバーにも渡す 性質のドキュメントです。

たとえば今回試した週次ヘルスレポートも、

  • 追記する: 「次回はコスト分析のセクションも追加して」で同じ Artifact に追記
  • 更新する: 毎週同じスレッドで「先週の Artifact を更新してください」を投げる
  • 共有する: Markdown ダウンロード → Confluence / Notion / Backlog に貼り付け
  • 過去版を参照: バージョンドロップダウンから先月版を取り出して差分確認

といった広がり方をします。

まとめ

  • Chat 応答は会話のため、Artifact は成果物のため、と性質が違う
  • 中身そのものは Chat 応答と Artifact でほぼ同じくらい構造化されて返ってくる。違いは、Artifact のほうは指定しなくてもドキュメントとしての体裁に寄せやすい点と、何より体験面に出てくる
  • 同じ Artifact の継続更新は、そのまま動く (V1/V2/... のバージョン管理付き、過去版にも戻れる)
  • 同じチャット内ならそのまま更新できる。別チャットからでも knowledge_item_id を URL から取得して渡せば、差分追記の編集依頼も普通に通る
  • ダウンロードは Markdown 形式なので、社内ドキュメント基盤への組み込みもしやすい
  • 「PoC で 1 回見て終わり」なら Chat 応答で十分。「継続的に運用に乗せたい」レポートなら Artifact をデフォルトにしたい
  • 冒頭で紹介したような 力作のレポートこそ、Artifact で残して継続更新する価値がある

レポート系のプロンプトを投げるときは「Artifact として作成してください」を最後に足すだけで、応答の活用幅が一段広がります。ぜひ試してみてください!

以上、大阪オフィスの林がお送りしました!

この記事をシェアする

関連記事