<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
  <channel>
    <title><![CDATA[Graham Hudgins - Elasticsearch Labs]]></title>
    <description><![CDATA[Articles and tutorials from the Search team at Elastic]]></description>
    <copyright><![CDATA[© 2026. Elasticsearch B.V. All Rights Reserved]]></copyright>
    <image>
      <title><![CDATA[Graham Hudgins - Elasticsearch Labs]]></title>
      <url>https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt1121c0bf0e8a6e65/6a88da6340a1841030ef456f/search-labs-thumbnail.png</url>
      <link>https://www.elastic.co/jp/search-labs/author/graham-hudgins</link>
    </image>
    <link>https://www.elastic.co/jp/search-labs/author/graham-hudgins</link>
    <atom:link href="https://www.elastic.co/jp/search-labs/rss/author/graham-hudgins.xml" rel="self" type="application/rss+xml"/>
    <language><![CDATA[jp]]></language>
    <lastBuildDate>Sat, 12 Sep 2026 01:09:57 GMT</lastBuildDate>
  <item>
    <title><![CDATA[Elastic Security、Observability、SearchがAIツールにインタラクティブなUIを提供]]></title>
    <description><![CDATA[Elasticは、AnthropicとOpenAIが共同で策定したMCPアプリ標準に基づき構築されたAI会話用インタラクティブUIを提供した最初のセキュリティベンダーです。本アプリは、ObservabilityおよびSearch用の他の2つのElastic MCPアプリと同時にリリースされます。]]></description>
    <content:encoded><![CDATA[<p>AIエージェントの性能は、それらが返すサーフェスの質に依存します。テキストのみのツールの結果は、ダッシュボード、アラートリスト、調査グラフ、分散トレースなど、本来視覚的またはインタラクティブであるべき要素をすべてフラット化します。会話は、あなたが質問し、エージェントが答える場となりますが、作業が複雑になると、別のタブ、別の製品、別の認証境界へと移動することになります。</p><p><a href="https://modelcontextprotocol.io/extensions/apps/overview">MCPアプリ</a>はその回答の形式を変えます。ツールはテキストによる要約に加えてインタラクティブなUIを返すことができるようになり、ホスト（Claude Desktop、Claude.ai、VS Code Copilot、Cursor）はそれを会話の中にインラインで表示します。モデルは推論のために簡潔なテキストを保持します。ユーザーはチャットのすぐ隣にライブでクリック可能なインターフェースを利用できます。</p><p>以下の3つの特性により、これは「URLを返すWebhook」とは異なる種類の統合となります。</p><ul><li><p><strong>コンテキストの保持。</strong>UIは会話の中に存在し、タブの切り替えも、引き継ぎも不要です。</p></li><li><p><strong>双方向のデータフロー。</strong>UIはMCPサーバー上のツールを呼び出して最新のデータを取得でき、ホストはエージェントからの新しい結果をUIにプッシュできます。個別のAPIレイヤーや認証システムは不要です。</p></li><li><p><strong>サンドボックス化された信頼境界。</strong>MCPアプリは、ホスト制御のiframeで実行されます。親ページにアクセスしたり、Cookieを読み取ったり、コンテナから脱出したりすることはできません。</p></li></ul><p>セキュリティ運用は、トリアージ、調査グラフ、攻撃検出に基づいて行われ、AIエージェントが数百件のアラートを少数の攻撃チェーンに関連付けます。オブザーバビリティとは、分散型トレースと時系列データの詳細な分析を意味します。Kibanaで構築するということは、ダッシュボードグリッドを作成することを意味します。それらをすべてテキストに変換してしまうと、その有用性が失われてしまいます。当社はこれら3つすべてに対応するMCPアプリを開発し、まとめてオープンソース化しました。これにより、チャット画面から離れることなく、同じ会話をトリアージキューから依存関係グラフ、そしてライブダッシュボードへとスムーズに移行させることができます。</p><p>これら3つのリファレンスアプリはそれぞれ、複数の独立した製品の集合体ではなく、多数のインタラクティブなビューを提供する1つのMCPサーバーです。セキュリティアプリだけでも、同じサーバーシェル、同じツール可視化モデル、同じホストブリッジを共有する6つのダッシュボードが表示されます。パターンは小さいものの、表面積が大きいほど価値が積み重なります。</p><h2>Elastic Security MCPアプリ</h2><h3>SOCにとってこれが重要な理由</h3><p>エージェントがSOCアナリストに「<em>ホスト-314に47件のアラートがあります、概要は以下の通りです</em>」と伝えただけでは、何の作業も行われておらず、単に作業開始地点を示しているだけです。実際の作業は、アラートリスト、プロセスツリー、調査グラフ、ケースファイルにあり、テキストの一段落だけでは実行できません。</p><p>セキュリティMCPアプリはワークフロー自体を返します。アナリストはエージェントに指示を出し、エージェントはチャット内にインタラクティブなダッシュボードを返します。このダッシュボードでアナリストはアラートの詳細を調べ、脅威ハンティングを実行し、攻撃チェーンを相関付け、ケースを開くことができます。これらすべて会話の流れを失うことなく行えます。また、調査結果、クエリ、ケースはすべてElasticsearchに反映されるため、アナリストは会話が終了した後、同じ調査をKibanaで再開することができます。</p><h3>6つのインタラクティブダッシュボード</h3><p><a href="https://github.com/elastic/example-mcp-app-security">Elastic Security MCPアプリ</a>は、主要なSOCワークフローごとに1つずつ、計6つのインタラクティブ要素を提供します。それぞれがReact UIであり、エージェントが対応するツールを呼び出すとインラインでレンダリングされます。</p><p>ツール</p><p>機能</p><p>インタラクティブなUI</p><p>アラートのトリアージ</p><p>セキュリティアラートの取得、フィルタリング、分類</p><p>深刻度のグループ化、AI判定カード、プロセスツリー、ネットワークイベント</p><p>攻撃の発見</p><p>オンデマンド生成を用いたAI相関攻撃連鎖分析</p><p>信頼度スコア、エンティティリスク、MITREマッピングを含むナラティブカードを表示します</p><p>ケースマネジメント</p><p>捜査ケースの作成、検索、管理</p><p>アラート、観測値、コメントタブ、AIアクションを含むケースリスト</p><p>検出ルール</p><p>検出ルールの閲覧、調整、管理</p><p>KQL検索、クエリ検証、ノイズルール分析を備えたルールブラウザ</p><p>脅威ハンティング</p><p>エンティティ調査付きES|QLワークベンチ</p><p>クエリエディター、クリック可能なエンティティ、調査グラフ</p><p>サンプルデータ</p><p>一般的な攻撃シナリオに対応するECSセキュリティイベントを生成します</p><p>あらかじめ構築された4つの攻撃チェーンを備えたシナリオ選択ツール</p><p>各ツールは、アナリストが操作するインタラクティブなUIとともに、モデルが推論できるコンパクトなテキストの概要を返します。UIは、MCPホストブリッジを介してバックグラウンドで新しいデータを取得することもできます。完全なツールモデルとブリッジAPIは<a href="https://github.com/elastic/example-mcp-app-security/blob/main/docs/architecture.md">リポジトリのアーキテクチャドキュメントに</a>あります。</p><p>また、アプリには <a href="https://github.com/elastic/example-mcp-app-security/tree/main/skills">Claude Desktopのスキル</a>も付属しており、エージェントに各ツールの使い方をいつ、どのように使うかを教える <code>SKILL.md</code> ファイルが含まれています。<a href="https://github.com/elastic/example-mcp-app-security/releases/latest">最新リリース</a>から、事前に構築されたスキルzipファイルをダウンロードしてください。</p><h3>アラートからケースへ</h3><p>4つのスキルがコアSOCループをカバーしています。それぞれがプロンプトを取得し、ツールを呼び出し、モデルが推論するテキストサマリーと共にインタラクティブなダッシュボードを返します。アナリストの一日は通常、アラートキューから始まります。</p><p><strong>アラートのトリアージ。</strong>エージェントにホスト、ルール、ユーザー、またはタイムウィンドウごとにトリアージを依頼してください。アラートのトリアージスキルは、生のアラートリストの上にAIによる判定のダッシュボードを返します。各検出ルールごとに1つの判定が付き、そのルールの活動を「正常」「不審」「悪意あり」のいずれかとして分類し、それぞれに信頼度スコアと推奨アクションが付いています。任意のアラートをクリックすると、プロセスツリー、ネットワークイベント、関連アラート、MITRE ATT&amp;CKタグを含む詳細ビューが開きます。AIの会話とKibana内のアラートダッシュボードのコンテキストを切り替える必要はありません。会話の中ですべてがリアルタイムで行われます。</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltf764ae94c22e0e78/6a170762c1e8a582aaf88236/b0239ea916a828ee0bfd0cc046af17330568fe09-2048x1313.png" alt="" /><p><strong>脅威のハンティング。</strong>エージェントにインデックス全体を検索するよう依頼してください。脅威のハンティングスキルは、クエリがあらかじめ入力されて自動実行されるES|QLワークベンチを返します。結果内のすべてのエンティティをクリックして詳細を確認できます。このモデルは、表の下に、何が異常なのか、何が関連しているのか、何が詳しく調べる価値があるのかといった短い説明文を出力します。そして、次の選択肢として、脅威の特定をさらに深めるか、これまでの作業を補完する新しいスキルをMCPアプリ内で習得するかのどちらかが提示されます。これをうまく結びつけるには、Attack Discoveryを起動して、詳細に調査したアラートやこれまで追跡してきた脅威に関するより多くのコンテキストを収集することが有効です。</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltb5b630ec829b7480/6a170764e8fbce0e8839fba5/9f0bde828bcedb24e2b45995cfa306f03e57d300-2048x1313.png" alt="" /><p><strong>Attack Discoveryの実行。</strong>Attack Discoveryスキルは、Attack Discovery APIをトリガーし、ランク付けされた発見のリストを返します。各発見は、MITREの戦術、リスクスコア、信頼度ラベル、影響を受けるホストとユーザーを前面に押し出し、関連するアラートを1つの攻撃チェーンにまとめたものです。エージェントの要約は、調査結果と同じ順位で下に配置され、会話には、次のステップに進むために必要なすべての情報（調査クエリ、トリアージの決定、相関関係のある連鎖など）が揃います。</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltb962a003a1830771/6a170767286714457493e269/e52af22dbaa070192170280d519dfb219ad807f5-2048x1313.png" alt="" /><p><strong>チャットを終了せずにケースを開く。</strong>調査結果を一括承認するか、担当者に特定の警告に関するケースを開くよう依頼してください。ケースマネジメントスキルは、承認された結果（ソースアラートが添付され、攻撃チェーンから継承されたMITRE戦術）ごとに1つのケースを作成し、ライブケースリストをインラインでレンダリングします。ケースをクリックすると詳細ビューが表示され、そこには「ケースの概要」「次のステップの提案」「IOCの抽出」「タイムラインの生成」といったAIアクションボタンが並んでいます。それぞれが構造化されたプロンプトをチャットに送り返すため、エージェントは再説明を必要とせずにケースのコンテキストを把握できます。エージェントの要約はケースリストの下に表示され、最近開始されたケースや、まだ調査が必要な以前の調査結果を含む、すべてのIRキューを網羅しています。</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt8cd53b527381a858/6a1707697d8d67e06f70e674/2057310b450c2917c5434c713f2b34732067429a-2048x1283.png" alt="" /><p>このウォークスルーの各ステップでは、同じループが実行されます。プロンプトが入力され、スキルがそれを拾い上げ、ツールがモデルが推論するためのコンパクトなテキストサマリーを返します。同時に、アナリストが操作する対話型UIも返されます。これらのスキルを組み合わせることで、エンドツーエンドのSOCフローが構築されます。つまり、問題の発見、トリアージ、相関分析、ケースの開設、そして次の方向転換の推進まで、すべてのステップでセッションのコンテキストがモデルに保持されます。どれか一つを単独で起動しても、指定したデータ領域を指す完全なダッシュボードが表示されます。いずれにしても、作業は会話の中で蓄積されていきます。タブの切り替え、コピー＆ペースト、引き継ぎは不要です。</p><p>さらに、このアプリには2つの機能が追加されています。1つは、ノイズの多いルールを調整するための検出ルールブラウザ、もう1つは、新しいクラスターに対して現実的なECSイベントを生成するためのサンプルデータジェネレータです。次回の記事では、調査グラフ、攻撃フローキャンバス、エンドツーエンドのウォークスルーという6つの要素すべてについて詳しく解説します。
</p><em>「Elastic Security向けのMCPアプリは自動検出と手動ハンティングの間のギャップを埋める役割を果たします。Claude Desktop内の単一のインターフェースにセキュリティデータを直接統合することで、通常の警告は発せられないものの、即座の対応が必要な「潜在的な」脅威を1時間以内に発見することができました。アナリストにとって大きな戦力増強となります。」Mandy Andress：Elasticの最高情報セキュリティ責任者（CISO）</em><h3>プログラム概要</h3><p>各MCPアプリは、モデルの簡潔なテキストサマリーとホストがインラインでレンダリングするReact UIの両方を返す小さなNode.jsサーバーです。オープンなMCPアプリ仕様に基づいて構築されているため、同じサーバーが互換性のあるホスト上で実行されます。詳細は<a href="https://github.com/elastic/example-mcp-app-security/blob/main/docs/architecture.md">リポジトリのアーキテクチャドキュメント</a>をご覧ください。</p><h3>試してみる</h3><p>セキュリティが有効になっているElasticsearch 9.x、ケース、ルール、攻撃検出用のKibanaが必要です。<code>.mcpb</code>バンドルの最速のパスは、<a href="https://github.com/elastic/example-mcp-app-security/releases/latest">最新リリース</a> からのワンクリックです。Claude Desktopでダブルクリックすると、ElasticsearchのURLとAPIキーを入力するプロンプトが表示されます。<a href="https://github.com/elastic/example-mcp-app-security/blob/main/docs/setup-cursor.md">Cursor</a>、<a href="https://github.com/elastic/example-mcp-app-security/blob/main/docs/setup-vscode.md">VS Code</a>、<a href="https://github.com/elastic/example-mcp-app-security/blob/main/docs/setup-claude-code.md">Claude Code</a>、<a href="https://github.com/elastic/example-mcp-app-security/blob/main/docs/setup-claude-ai.md">Claude.ai</a>、およびソースからのビルドのセットアップガイドは<a href="https://github.com/elastic/example-mcp-app-security">リポジトリ</a>にあります。</p><h2>Elastic Search MCPアプリ：会話から構築されたダッシュボード</h2><p>すべてのKibanaユーザーは、作業中のものを離れ、Kibanaを開き、インデックスを選択し、フィールドを選択し、可視化を選択し、調整し、保存するというダッシュボードへの長いパスに慣れています。ここで、画面にチャートが表示されるまでに5回のコンテキスト切り替えが行われました。</p><p>新しい<a href="https://github.com/elastic/example-mcp-dashbuilder">example-mcp-dashbuilder</a>リファレンスアプリは、それをプロンプトにまとめます。エージェントに「<strong>収益メトリクス、注文トレンド、カテゴリー内訳を含むダッシュボードを作成してください</strong>」と依頼すると、タブを切り替える必要なく会話内にダッシュボードが返ってきます。</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt13c6b2f11cc077a2/6a17076b961e6968c1c4ce9a/b096b493726488f53040b08b5c8bc53ca0e44f9d-2048x1182.png" alt="" /><p>そのプロンプトの背後で、エージェントはES|QLを使用してElasticsearchデータを探索し、データに合わせてチャートタイプを選択します。比較には棒グラフ、トレンドには折れ線グラフ、KPIにはメトリックカード、2次元パターンにはヒートマップを使用します。Elastic UI Borealisテーマを使用して、Kibanaの48列のグリッド上にパネルを配置します。完全にインタラクティブな結果が得られ、チャット内でパネルをドラッグ、サイズ変更、折りたたみ可能なセクションへのグループ化ができます。ダッシュボードが正しく表示されれば、1回のツール呼び出しでES|QLクエリとカスタムカラーを保持したまま、Kibanaにエクスポートされます。既存のKibanaダッシュボードをチャットにインポートして、AIによる編集を行うこともできます。</p><p>その原則は、Securityアプリの背後にあるものと同じです。アーティファクトが製品である場合、会話の中でそれを返すことで、欲しいものを説明することと、それを見ることの間のループが閉じられます。</p><p>内部構造では、同じMCPアプリパターンに従っています。Node.jsサーバーは、<code>view_dashboard</code>モデル対応ツールと、UIが直接呼び出すアプリ専用ツールのセット（データ取得、レイアウトの永続化、時間フィールドの検出、エクスポート/インポート）を登録します。ダッシュボードビュー自体は、<code>vite-plugin-singlefile</code> にバンドルされた単一の自己完結型HTMLファイルで、MCPアプリのリソースとして機能します。リポジトリをフォークするビルダーは、Securityアプリで見られるのと同じサーバーシェルとホストブリッジを、異なるジョブを指すように取得します。example-mcp-dashbuilder READMEには、完全なアーキテクチャーとチャートタイプのリファレンスがあります。</p><h2>Elastic Observability MCPアプリ</h2><p>3つ目のリファレンスアプリである<a href="https://github.com/elastic/example-mcp-app-observability">Elastic Observability MCPアプリ</a>は、SREにおける同様の問題に取り組んでいます。本番環境で何らかの障害が発生した場合、オンコールエンジニアが必要とするのはグラフではなく、Kubernetesのメトリクス、APMトポロジー、機械学習の異常、リスク評価などを統合した診断結果です。回答の形は、何が失敗したのか、なぜ失敗したのか、何がそれに依存しているのか、そして次に何をすべきか、といった因果関係を説明する物語です。</p><p>オブザーバビリティ調査のワークフローをサポートする6つのツール</p><p>ツール</p><p>依存関係</p><p>機能</p><p>observe</p><p>ユニバーサル</p><p>トランジェントES|QL + ML-anomalyアクセスプリミティブ — クエリを一度実行し、メトリックをライブサンプリングするか、しきい値や異常が発生するまでブロックします。</p><p>アラート管理</p><p>ユニバーサル</p><p>Kibanaのカスタムしきい値アラートルールを作成、一覧表示、取得、削除します。読み取り専用で実行するには、KibanaのURLを省略してください。</p><p>ml-anomalies</p><p>MLジョブ</p><p>機械学習の異常レコードをクエリし、インラインの異常説明ビューを開きます。</p><p>apm-health-summary</p><p>Elastic APM</p><p>APMテレメトリからのクラスターレベルの健全性ロールアップ。利用可能な場合は、K8sおよびMLコンテキストのレイヤーも表示します。</p><p>apm-service-dependencies</p><p>Elastic APM</p><p>サービス依存関係グラフ — アップストリーム/ダウンストリーム、プロトコル、呼び出し量。</p><p>k8s-blast-radius</p><p>Kubernetesメトリック</p><p>Node-outage impact — 完全停止、劣化、影響なし、再スケジュールの実現可能性。</p><h3><strong>クラスターの状態のロールアップ</strong></h3><p>「壊れているのはどこ？」または「ステータスレポートをください」と尋ねると、全体的な健全性バッジ、理由付きの劣化サービス、上位ポッドのメモリ消費量、異常の深刻度の内訳、サービスのスループットなど、すべてを1つのインラインビューで一度に把握できます。これは、何かがおかしいと感じるものの、どこを調べればいいのか分からないときの出発点です。ビューは、導入がサポートする内容に応じて適応します。APMはサービスの健全性を提供します。Kubernetesメトリクスは、ポッドとノードのコンテキストを追加します。異常のMLジョブレイヤー。</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt6e3b05db6d20053e/6a17076ca6c2b9dd7fe79649/f31be8bbcffd54623fcec4e51fd914dae666c026-1510x1810.png" alt="" /><h3><strong>サービス依存関係グラフ</strong></h3><p>「checkoutを呼び出しているのは何ですか？」または「トポロジーを表示」と尋ねて、レイヤー化された依存関係グラフ（上流の呼び出し元、下流の依存関係、プロトコル、エッジごとの呼び出し回数および遅延）を取得します。Claudeに「フロントエンドのサービス依存関係を見せて」と頼んでみます。</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt5e05ed5db821651f/6a17076e14b27010b1e3c58f/2afec7dbd2153bc3a9f05068f323911af766a258-2048x1184.png" alt="" /><p>ズーム、パン、ホバー操作で、複雑なサービス間の関係性を理解するために必要な詳細情報をすべて確認できます。</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt35c153a49075a678/6a17076fa6c2b9e703e7964d/ff99d2fd0a54c22c9f7b975e9d8d7073c4311e7a-2048x970.png" alt="" /><h3><strong>爆発半径でリスクを評価</strong></h3><p>「k8sノードがダウンしたらどうなる？」と尋ねると、放射状の影響図が表示されます。中央にターゲットノードがあり、完全停止状態のデプロイメントは赤色、機能低下状態は琥珀色、影響を受けない状態は灰色で示されます。画面上に浮かぶサマリーカードには、リスクのあるポッドとスケジュール変更の実現可能性が表示されます。単一レプリカ構成は、単一障害点として認識されます。</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt7d186e69ef06d75d/6a170771a292996b21d00fae/7736bef9609e45a3f0c7f9f3090a314b0834315d-1272x1838.png" alt="" /><h3><strong>監視</strong></h3><p>Elasticのエージェントの主要なアクセスプリミティブ — 1つのツール、3つの異なるニーズに対応する3つのモード。「CPUは現在何をしている？」と尋ねると、ES|QLクエリを一度実行してテーブルを返します。「今後60秒間のフロントエンドのレイテンシを表示して」と言うと、リアルタイムで指標をサンプリングし、グラフをその場で更新します。「メモリが80MBを下回ったら教えてください」または「今後10分間、異常がないか監視してください」と指定すると、条件が満たされるか、指定された期間が終了するまで処理が停止します。表示はモードに応じて変化します。ワンショットクエリの場合は結果テーブル、サンプリング条件としきい値条件の場合は現在値、ピーク値、ベースライン値を示すリアルタイムトレンドチャート、異常検知モードの場合は深刻度スコア付きのトリガーカードが表示されます。</p><h3>プログラム概要</h3><p>SecurityとSearchアプリと同じMCPアプリパターン：Node.jsサーバー、6つのモデル対応ツールが6つの単一ファイルビューリソースに接続されています。ツールは導入バックエンド（ユニバーサル、APM依存、K8s依存、ML依存）によってグループ化されているため、エージェントとユーザーの両方が、呼び出し時に機能ギャップを検出するのではなく、特定の導入に適用されるツールを事前に知ることができます。MCPアプリには、<code>k8s-crashloop-investigation-otel</code> というAgent Builderのワークフローの例も含まれています。これはKubernetesのアラートでトリガーされ、1つのダッシュボードを開く前に構造化された根本原因のサマリーを返すことができます。</p><h2>エージェンティック・スタック、インタラクティブ</h2><p>このパターンに関して直接述べておく価値のある特性は3つあります。第一に、ツールの結果はもはや作業の終わりではなく、始まりです。会話は、行動を起こすための要約ではなく、行動を起こすことができるインターフェースを返します。第二に、同じエージェント、同じモデルコンテキスト、そして同じ会話スレッドが、会話を離れることなく、Security、Search、Observabilityのサーフェス間を移動できるようになりました。第三に、これはElasticsearchとKibanaがすでにAPIを公開しているからこそ機能します。MCPアプリは、当社が既に提供している製品機能の上に構築された、薄くインタラクティブなレイヤーです。</p><p>Attack Discoveryは、このアプリ内の相関する検出結果ビューをすでに提供しています。スタック内部では、同じエージェントパターンがさらに展開されます。Elastic Workflowsは決定論的なステップ（エンティティの強化、ケースの作成、ホストの分離）を自動化し、Agent Builderはデータに基づいて推論を行い、それらのワークフローをツールとして呼び出します。MCPアプリは、外部とのやり取りにおいても同様のセキュリティ機能を提供し、WorkflowsとAgent Builderは、スタック内部でそのセキュリティ機能をさらに強化します。エントリーポイントが異なっても、基盤となるElastic APIは同じです。</p><p><strong>実際にお試しください</strong></p><ul><li><p><strong>Security :</strong> <a href="https://github.com/elastic/example-mcp-app-security">example-mcp-app-security</a></p></li><li><p><strong>Searchおよびダッシュボード :</strong> <a href="https://github.com/elastic/example-mcp-dashbuilder">example-mcp-dashbuilder</a></p></li><li><p><strong>Observability : </strong><a href="https://github.com/elastic/example-mcp-app-observability">example-mcp-observability</a></p></li></ul><p>まだElasticsearchクラスターをお持ちではありませんか？<a href="https://cloud.elastic.co/registration">Elastic Cloudの無料トライアル</a>を開始しましょう。セキュリティアプリの基盤となるビルディングブロックの詳細については、<a href="https://www.elastic.co/security-labs/from-alert-fatigue-to-agentic-response">Elastic WorkflowsとAgent Builder</a>、<a href="https://www.elastic.co/security-labs/agent-skills-elastic-security">Agent Skills</a>、<a href="https://www.elastic.co/security-labs/speeding-apt-attack-discovery-confirmation-with-attack-discovery-workflows-and-agent-builder">Attack Discovery</a>に関するSecurity Labsの関連記事をご覧ください。</p>]]></content:encoded>
    <link>https://www.elastic.co/search-labs/blog/mcp-apps-elastic</link>
    <guid isPermaLink="true">https://www.elastic.co/search-labs/blog/mcp-apps-elastic</guid>
    <category><![CDATA[AIツール ]]></category>
    <dc:creator><![CDATA[David Elgut,Graham Hudgins,Jesse Miller]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt28971b9864cabea4/6a170773286714880293e26d/55cea79fd5c554656e8605525a61d4ad3ae0ee1b-2048x1143.png" length="0" type="image/png"/>
    <pubDate>Tue, 21 Apr 2026 00:00:00 GMT</pubDate>
  </item>
  <item>
    <title><![CDATA[ElasticのAgent Skills：AIエージェントをElasticのエキスパートに変換]]></title>
    <description><![CDATA[Elastic Agent Skillsを使用して、AIコーディングエージェントにクエリ、可視化、保護、自動化の知識を提供します。]]></description>
    <content:encoded><![CDATA[<p>専用プラットフォームでAIコーディングエージェントを使用しようとした開発者、サイト信頼性エンジニア（SRE）、アナリストは皆、同じ壁にぶつかっています。エージェントにクエリの作成、アラートの設定、または調査を依頼すると、惜しいところまではいくものの、正しくない結果になるのです。Elasticにはこの点で優位性があります。10年以上にわたるドキュメント、ブログ記事、コミュニティからの回答によって、AIエージェントは既にほとんどのデータプラットフォームよりもElasticをよく理解しているのです。しかし、その深みにはノイズが伴います。非推奨のAPIが現行のAPIと並んで表示され、古いパターンがベストプラクティスと同じくらい高い評価を受けます。エージェントは、3バージョン前にうまくいったアプローチを自信を持って再現します。なぜなら、そのトレーニングデータでは成功したからです。その結果、修正のコストが発生します。ユーザーは手動でドキュメントをコンテキストにフィードし、ハルシネーションによる構文を修正し、エージェントと一緒に作業するのではなく、エージェントを回避して作業するようになるのです。さらに悪いことに、高度な機能が全く使用されていません。これは、ユーザーがこうした機能を必要としていないからではなく、エージェントがその存在を認識していないためです。</p><p>だからこそ、当社は、Elasticsearch、Kibana、Elastic Observability、Elastic Securityといったプラットフォームに関するネイティブな専門知識である<a href="https://github.com/elastic/agent-skills">Elastic Agent Skills</a>をオープンソースとして提供しています。これらのスキルをすでに使用しているエージェントランタイムにドロップすることで、エージェントを多くの構文を推測する「ジェネラリスト」から、Elasticのエンジニアリングチームが使用する多くのアーキテクチャ標準を活用できる「スペシャリスト」へと改善します。この最初のテクニカルプレビューリリースでは<a href="https://www.elastic.co/cloud/serverless">Elastic Cloud Serverless</a>との最大限の互換性を備えたスキルに焦点を当てていますが、古いスタックリリースのサポートを強化するなど、急速に進化させる予定です。</p><p>さらに、Elasticはこの問題を両面から解決しようとしています。Elastic Platform上のエージェント向けに<a href="https://www.elastic.co/search-labs/blog/agent-builder-elastic-ga">Elastic Agent Builder</a>（現在一般公開中）を利用して、データのアクセス制御を継承し、搭載の検索・分析ツールを使用し、ダッシュボード、アラート、調査と共にコンテキストで作業するAIエージェントを作成し、チャットすることができます。Elastic Platformで素晴らしいエージェント体験を実現するために懸命に取り組んでいますが、すべてのエージェントがElasticの中に存在するわけではありません。すでにCursor、Claude Codeなどのランタイムを使用されていると思いますが、それらのエージェントでもElasticが正しく動作する必要があります。そこで役立つのがAgent Skillsです。</p><h2>エージェントが専門プラットフォームで苦労する理由</h2><p>大規模言語モデル（LLM）は、非常に有能なジェネラリストです。豊富な事例を含むトレーニングデータを持つため、Pythonを記述したり、Kubernetesのマニフェストを説明したり、Reactコンポーネントをリファクタリングしたりすることができます。しかし、独自のクエリ言語、高度なAPIサーフェス、ドメイン固有のベストプラクティスなどを伴うプラットフォーム固有の作業となると、予測可能な形で不十分さを示します。</p><p>Elasticsearchの場合、そのギャップは具体的に現れます。</p><ul><li><p><strong>Elasticsearchクエリ言語（ES|QL）は新しい領域です。</strong>LLMはSQLに関するトレーニングを重点的に受けていますが、ES|QLは構文、機能、セマンティクスが異なるパイプ型クエリ言語です。エージェントは、一見もっともらしく見えるものの、解析できないクエリを頻繁に作成します。彼<code>WHERE</code> を <code>| WHERE</code>と混同し、存在しない関数を発明し、パイプベースの合成モデルを完全に見落としています。</p></li><li><p><strong>APIサーフェスは広く深いものです。</strong>Elasticsearch、Kibana、Elastic Securityは、検索、インジェスト、アラート、検出ルール、ケース管理、ダッシュボードなど、何百ものAPIを公開しています。エージェントは、一般的なトレーニングデータのみを武器に、どのエンドポイントを呼び出すか、リクエスト本文がどのようなものか、そして応答をどのように処理するかを推測しなければなりません。予測ミスが頻繁に起こるため、信頼が損われることになります。</p></li><li><p><strong>ベストプラクティスはトレーニングデータには含まれません。</strong><code>semantic_text</code>とカスタム埋め込みパイプラインは、それぞれどのような場合に使い分けるべきでしょうか？10GBのCSVの取り込みパイプラインはどのように構築すべきでしょうか？<a href="https://www.elastic.co/docs/solutions/security/detect-and-alert/mitre-attandckr-coverage">MITRE ATT&amp;CK</a>技術の適切な検出ルール構文はどれですか？汎用エージェントには、デフォルトで厳選され、信頼性の高い構造化されたElastic固有の知識がロードされていません。エージェントはそうした知識を探し出さなければならず、たとえ見つけたとしても、生の文書には熟練した専門家が持つ判断やベストプラクティスが必ずしも反映されているとは限りません。</p></li></ul><p>その結果、開発者は自分でコードを書くよりも、エージェントの出力を修正することに多くの時間を費やすことになります。予測していた結果とは言えません。</p><h2>Agent Skills：Platformの知識をエージェント向けにパッケージ化</h2><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt2099e0ccdf446fee/6a17074bd7c022e3e1de63d4/8d16ec00d16e70a916c5eef0aaa23fcc735b7186-1067x1280.png" alt="npx skills add elastic/agent-skills" /><p>Agent Skillsとは、エージェントランタイムが動的に読み込むことができる、指示、スクリプト、およ参照資料を含む自己完結型のディレクトリです。スキルがアクティブな時、エージェントは適切なタイミングで適切なコンテキストにアクセスできます。クエリ構文、APIパターン、検証ロジック、実践例などを活用し、一回の試行でタスクを正しく完了できます。</p><p>各スキルは、オープンな<a href="https://agentskills.io">agentskills.io</a>仕様に準拠しています。メタデータと構造化された手順を含む<code>SKILL.md</code>ファイルを含むフォルダです。独自のフォーマットもロックインもありません。スキルは、Cursor、Claude Code、GitHub Copilot、Windsurf、Gemini CLI、Cline、Codexなど、<a href="https://agentskills.io">さまざまな</a>エージェントランタイムで動作します。</p><h3>初期バージョンv0.1.0に含まれる内容</h3><p>最初のスキルセットは、Elastic Stackの5つの分野にまたがっています。</p><ul><li><p>Elasticsearch APIとのやり取り（検索、インデキシング、クラスター管理）</p></li><li><p>ダッシュボード、アラート、コネクターなどのKibanaコンテンツの構築と管理</p></li><li><p>Elastic Observabilityの専門知識</p></li><li><p>Elastic Securityの専門知識</p></li><li><p>Agent Builderで効果的なエージェントを作成</p></li></ul><h3>スキルは組み合わせ可能です</h3><p>スキルはモノリシックではなく、モジュール式の設計になっています。エージェントは、目の前のタスクに関連するスキルのみを読み込みます。ES|QLクエリを作成中なら、ES|QLスキルが発動します。その結果からダッシュボードを作る必要があるなら、ダッシュボードのスキルを習得します。アプリケーションの健全性を評価したいなら、サービス健全性スキルが対応します。セキュリティアラートの調査の場合は、トリアージスキルが調査が進むにつれてケース管理と対応スキルに連鎖します。</p><p>こうしたこの構成可能性のおかげで、すべてを網羅しようとする単一の巨大なプロンプトは必要なくなります。それぞれのスキルは、その分野に必要な文脈を正確に保持しており、それ以上でもそれ以下でもありません。</p><h2>検索やAIアプリケーションを開発する開発者向け</h2><p>Elasticsearchにデータをロードしたり、クエリを作成したり、インデックスを移行したりする際に、十分なスキルがあれば、コードを生成してエラーが発生し、その原因をドキュメントで調べるという繰り返しのサイクルを短縮できます。</p><p>エージェントにCSVファイルの読み込みを依頼すると、バックプレッシャーを処理し、データからマッピングを推測するストリーミングインジェストツールが使用されます。これは、最初の大きなファイルでメモリ不足になるような、手作業で作成した_bulkループではありません。ES|QLでクエリを実行するように依頼すると、実際のインデックス名とフィールドスキーマを検出し、その後、正しい構文、適切なアグリゲーション、バージョン対応の機能選択を備えた有効なパイプ付きクエリを作成します。これは、3回ものデバッグが必要なSQL風の推測ではなく、正確な処理です。クラスター間での再インデックスを指示すると、完全な運用ワークフローに従います。明示的なマッピングで送信先を作成し、スループットに合わせて設定を調整し、ジョブを非同期で実行し、完了時には本番環境の設定を復元します。これは、経験豊富なオペレーターが従う半分のステップをスキップする単なる_reindex呼び出しではありません。</p><p>修正が必須となるそれらしい出発点を示すエージェントの代わりに、出力が実際に機能するための運用規律を組み込んだエージェントが手に入ります。</p><p><strong>Elastic Agent Skillsの使用によるインパクトの例</strong></p><p>Eval</p><p>スキルによる変更内容</p><p>es-監査-クエリ-失敗したログイン</p><p>一般的な検索の代わりにスキルの監査ログクエリパターンを使用</p><p>es-authz-role-mapping-ldap</p><p>正しいロールマッピングAPI呼び出し構造を出力</p><p>esql-basic-query</p><p>ES|QLパイプ構文をクエリDSL上に記述</p><p>esql-error-handling</p><p>フィールド名を推測する代わりにスキーマを先に設定</p><p>esql-schema-discovery</p><p>インデックス名を推測したことは一度もなし</p><p>es-ingest-csv-with-infer</p><p>--infer-mappingsのみを使用し、--source-format csvとの組み合わせは回避（組み合わせると空のインデックスがマッピングされるため）</p><p>es-ingest-json-file</p><p>大容量ファイルを処理できる堅牢なインジェスト方式を採用</p><p>es-reindex-local-async</p><p>まずレプリカ数0、更新間隔「-1」で宛先インデックスを作成し、その後非同期で再インデックスを実行、ベースラインはあらゆる準備をスキップ</p><p>es-security-403-privileges</p><p>一般的なアドバイスではなく、スキルの診断ワークフローに従って特権エラーを解決</p><h2>セキュリティチーム向け</h2><p>セキュリティチームは、アラートのトリアージ、検出ルールの調整、ケースの管理といった、同じ運用ワークフローを毎日繰り返しています。Agent Skillsは、AIエージェントがこれらのワークフローを正しく実行し、適切な順序で適切なフィールド名で適切なAPIを呼び出せるように、その手順知識をエンコードします。IDEを離れることなく、ゼロから完全に機能するElastic Security環境を構築するまでの手順を実際に確認するには、<a href="https://www.elastic.co/security-labs/agent-skills-elastic-security">「AIエージェントからElastic Securityを使い始める」</a>を参照してください。</p><h2>オブザーバビリティおよび運用チーム向け</h2><p>Elastic Observabilityのための新しいAgent Skillsは、複雑なシステムのインスツルメンテーション、SLOの管理、複雑なデータの選別、サービスの健全性の評価といった運用の手間を軽減します。ネイティブのElastic専門知識をAIエージェントに直接組み込むことで、チームはシンプルな自然言語を使用して複雑なオブザーバビリティワークフローを実行できます。これにより、SREと運用チームはインシデントをより迅速に解決し、信頼性の高いシステムをより簡単に保守できます。詳しくは<a href="https://www.elastic.co/observability-labs/blog/elastic-agent-skills-observability-workflows">こちらのブログ記事</a>をご覧ください。</p><h2>オープンソース、オープン仕様、コミュニティ主導</h2><p>エージェントの知識はオープンであるべきだと当社は考えているため、Agent SkillsをApache 2.0ライセンスで公開しています。スキルが準拠する<a href="https://agentskills.io">agentskills.io</a>の仕様はオープンスタンダードであり、Elastic独自のフォーマットではありません。スキルが閉鎖的な環境ではなく、コミュニティ全体の取り組みとなることを望んでいます。</p><h2>より大きな全体像の一部</h2><p>Agent Skillsは、Elasticsearchを最もエージェントにとって使いやすいデータプラットフォームにするための広範な取り組みの一環です。Elasticsearch Platform上で動作するエージェントの場合、<a href="https://www.elastic.co/search-labs/blog/agent-builder-elastic-ga">Agent Builder</a>は、データのアクセス制御と権限を継承し、検索と分析のための組み込みツールとカスタムツールを提供し、ユーザーがダッシュボード、アラート、調査と共にコンテキスト内でエージェントと対話できるようにすることで、さらに進化します。最後に、Agent Builderでのスキルのサポートが間もなく開始されます。これにより、開発者はElastic Agent Skillsやその他のソースのスキルを柔軟に活用して、Elasticsearchプラットフォームで安全でコンテキストが強化されたチャットと自動化を実現できます。</p><p>他の領域で動作するエージェントのために、以下のようにオープンエコシステムに投資しています。</p><ul><li><p><strong>モデルコンテキストプロトコル（MCP）サーバーの拡張：</strong>Agent Builderの<a href="https://www.elastic.co/docs/explore-analyze/ai-features/agent-builder/mcp-server">MCPエンドポイント</a>を、現在の検索、ES|QL、インデックス操作以外のより多くのツールで拡張します。</p></li><li><p><strong>認証機能の改善：</strong>エージェントが安全に接続しやすくすることで、APIキーの手動コピー＆ペーストを排除することを目指します。</p></li><li><p><strong>LLMで読み取り可能なドキュメント：</strong>エージェントがElastic APIを独自に発見して理解できるように、 <code>llms.txt</code>ファイルと<code>AGENTS.md</code>ファイルを公開します。</p></li><li><p><strong>エージェントワークフロー用のコマンドラインインターフェース（CLI）：</strong>接続管理や一般的な操作をエージェントにとって使いやすいものにするコマンドラインツール。</p></li></ul><p>スキルは本日からご利用いただけるレイヤーです。残りはこれから提供されます。</p><h2>使用を開始</h2><p><strong>始める前に：</strong>AIコーディングエージェントは、実際の認証情報、実際のシェルアクセス、そして多くの場合、実行しているユーザーの完全な権限を使用して動作します。エージェントがセキュリティワークフローに向けられる場合、自動化されたシステムに検出ロジック、対応アクション、機密テレメトリへのアクセスを委ねることになり、リスクはより高くなります。すべての組織のリスクプロファイルは異なります。AIを活用したセキュリティワークフローを有効にする前に、<strong>エージェントがアクセスできるデータ、実行できるアクション、予期しない動作が発生した場合に何が起こるかを評価してください</strong>。</p><p>Elastic Agent Skillsをエージェントランタイムにインストールする：</p><p><code>npx skills add elastic/agent-skills</code></p><p>これにより、インストールされているエージェントランタイムが自動的に検出され、スキルが適切な構成ディレクトリに配置されます。そこからエージェントが自動的にそれらを拾います。</p><p>また、<a href="https://github.com/elastic/agent-skills">スキルカタログ</a>を直接ブラウズし、スキルフォルダをエージェントの設定ディレクトリにコピーして、個別に手動でスキルをインストールすることもできます。</p><p>まだElasticsearchクラスターをお持ちではありませんか？<a href="https://cloud.elastic.co/registration">Elastic Cloudの無料トライアル</a>を始めましょう。1分ほどで完全に構成された環境を構築できます。</p><p><strong>プロジェクトを探索：</strong></p><ul><li><p><a href="https://github.com/elastic/agent-skills">Agent Skillsリポジトリ</a></p></li><li><p><a href="https://agentskills.io">agentskills.io 仕様</a></p></li><li><p><a href="https://www.elastic.co/docs">Elasticsearchドキュメント</a></p></li><li><p><a href="https://cloud.elastic.co/registration">Elastic Cloudの無料トライアル</a></p></li></ul>]]></content:encoded>
    <link>https://www.elastic.co/search-labs/blog/agent-skills-elastic</link>
    <guid isPermaLink="true">https://www.elastic.co/search-labs/blog/agent-skills-elastic</guid>
    <category><![CDATA[エージェント型AI]]></category>
    <category><![CDATA[AIツール ]]></category>
    <dc:creator><![CDATA[Graham Hudgins,Matt Ryan]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltbd233e8cf5c66c88/6a17074dc1e8a59502f8822a/09e64953819083168a9ecef0888c7f8bde1a43bd-720x420.jpg" length="0" type="image/jpeg"/>
    <pubDate>Mon, 16 Mar 2026 00:00:00 GMT</pubDate>
  </item>
  <item>
    <title><![CDATA[チャットボックスを超えたエージェントビルダー：Augmented Infrastructureの導入]]></title>
    <description><![CDATA[拡張運用、拡張開発、拡張合成を可能にするAIエージェントである、Elastic Agent Builder with Augmented Infrastructureについてご紹介します。]]></description>
    <content:encoded><![CDATA[<p><strong>これは机上の空論ではなく、私たちはすでに行動しています。</strong></p><p>私たちは皆、AIエージェントの台頭を見てきました。テキストを要約したり、コードスニペットを書いたり、ドキュメントに基づいて質問に答えたりするのが得意です。しかし、DevOpsやサイト信頼性エンジニアリング（SRE）に携わる者にとっては、もどかしい制限がありました。ほとんどのエージェントは、コールセンターのパラダイムに囚われています。つまり、読んだり、考えたり、チャットしたりすることはできても、手を伸ばして本来管理すべきインフラに触れることはできないのです。</p><p>最新のハッカソンプロジェクトでは、その制限を打ち破ることを目指しました。</p><p>私たちは、インフラのコパイロットである<strong>Augmented Infrastructure</strong>を開発しました。これは、アドバイスを提供するだけでなく、稼働中の環境の構築、デプロイ、監視、および修正も行います。</p><h2><strong>問題点：コピー、再フォーマット、貼り付け</strong></h2><p>標準的なエージェントは、密閉空間で活動しています。アプリがダウンして会社に500万ドルの損害をもたらした場合、標準的なエージェントは、修正方法についての手順書を読み上げることができます。しかし、その作業を行うのが<em>あなた</em>であることは変わりません。コードをコピーして、自分の環境に合わせてフォーマットし直し、ターミナルに貼り付ける作業が残っています。</p><p>私たちは、Kubernetesについて<em>話すこと</em>と、Kubernetesを<em>設定すること</em>の違いを理解するエージェントが欲しいと考えていました。</p><h2><strong>エンジン：Elastic Agent Builderとは？</strong></h2><p>これを構築するにあたって、私たちはゼロから始めたわけではありません。<a href="https://www.elastic.co/jp/elasticsearch/agent-builder"><strong>Elastic Agent Builder</strong></a>を基盤として構築しました。Elastic Agent Builderをご存知ない方のために説明すると、これはエージェントを迅速に開発するために設計されたフレームワークであり、大規模言語モデル（LLM）（今回のデモではGoogle Geminiを使用）とElasticsearchに保存されているプライベートデータとの間の橋渡し役を果たします。</p><p>Agent Builderは、ドキュメントやログなどの内部データを基盤として、会話型AIに活用できます。しかし、最も強力な機能は<strong>ツール</strong>を割り当てる機能です。これらのツールにより、LLMはチャットインターフェースに留まらず、特定のタスクを実行できます。この機能を可能な限り活用すれば、Agent Builderを自動化の強力なツールに変えることができることに気付きました。</p><h2><strong>成功のために：初期バージョンの構築</strong></h2><p>プロジェクトを開始した当初から、エージェントが外の世界を変えられるようにしたいと考えていました。私たちはあるアイデアを思いつきました。エージェントがホスト上で考えられる任意のコマンドを実行する「ランナー」ソフトウェアを構築したらどうなるでしょうか？そして、ランナーであるElastic Agent Builderとユーザーが三者通話をしていたらどうなるでしょうか？</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltec9d20da8c41a898/6a170704dc55debd4ce00d43/8dc8317c1301b8eb7b89438529e8d8d17411c95a-1024x559.png" alt="Agent Builder with Augmented Infrastructure architecture" /><p>まず、Augmented Infrastructure RunnersというPythonプロジェクトを構築しました。これは本質的に、Elastic Agent Builderの会話APIを毎秒クエリし、当社が作成した特別な構文があるかどうかを確認するwhile(true)ループでした。</p>{
"tool_name": "my_tool",
       "tool_arguments": "\{stringified json arguments\}"
}<p>次に、新しいツール呼び出し構文を認識させるために、プロンプトを更新しました。ビルは<a href="https://gofastmcp.com/getting-started/welcome">FastMCP</a>のメンテナーです。FastMCPは、PythonでModel Context Protocol（MCP）サーバーを構築する目的において最も人気のあるフレームワークです。彼は、この新しいランナーソフトウェアとFastMCPクライアントを使用して、MCPサーバーをマウントし、ランナーがそのツールを利用できるようにするための作業に着手しました。エージェントがこれを確認するとツール呼び出しを実行し、結果をユーザーが送信したかのように会話にPOSTします。これがきっかけでLLMは結果に反応し、私たちの取り組みが加速したのです。</p><p>これは素晴らしい考えでしたが、主に2つの問題がありました。</p><ol><li><p>エージェントは、このJSONすべてをユーザーとの会話に直接吐き出します。</p></li><li><p>メッセージが会話APIを通じて表示される最も早い時点は、会話ラウンドが完了したとき（つまり、LLMが応答したとき）でした。</p></li></ol><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt0596217e962f8464/6a17070647d49c3fef2d890c/7b3755aeae17722ff1bb9677712293e9195f96a0-1058x1034.png" alt="Issue when building agent with augment infrastructure" /><p>そこで、これをバックグラウンドに移動させる方法を模索することにしました。</p><p>次に、エージェントにcall_external_toolというツールを与え、tool_nameと文字列化されたJSONツール引数の2つの引数を持たせるように変更しました。この外部ツール呼び出しは何も返しませんが、重要なのは会話APIへのGETリクエストで確認できることです。その後、ランナーにElasticsearchに直接ドキュメントを書き込む許可を与えました。Elastic Agent Builderのエージェントは必要に応じてそれを取得できました。エージェントは常にユーザーのメッセージに対応して動作しているため、結果を検索し、処理を続行するようにエージェントをユーザーのメッセージで起動させる必要があります。そこで、会話を再開するために、エージェントにチャットに短いメッセージを挿入させました。</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blta22be3c67ad2ff1f/6a170708cdacbf0ae87d295b/61ff59a57c68ed5fad492d19c0580644113a507d-1600x1321.png" alt="Agent Builder with Augmented Infrastructure demostration" /><p>これで、外部ツールの呼び出しが行われました。しかし、前述の2つ目の問題のため、最後のキックスタート部分を削除せざるを得ませんでした。それをしなければ、外部ツールを呼び出すたびに、結果を取得するためにもう一度会話をすべてやり直す必要があったためです。</p><h2><strong>優れたものにするために：ワークフローの導入</strong></h2><p>Elasticsearch Query Language（ES|QL）とインデックス検索ツールの呼び出しに加え、Agent BuilderエージェントはElasticのワークフローベースのツールを呼び出すことができます。Elasticのワークフローは、任意のアクションのシーケンスとロジックを実行するための柔軟で管理しやすい方法を提供します。私たちの目的では、ワークフローに必要なのは、Elasticsearchに外部ツールのリクエストを格納することと、結果をポーリングするためのIDを返すことだけです。これにより、以下の簡単なワークフロー定義が得られます。</p>name: ai-tool-call
enabled: true
triggers:
  - type: manual
inputs:
  - name: runner_id
    type: string
  - name: tool_calls
    type: string

steps:
  - name: store_request
    type: elasticsearch.create
    with:
      index: distributed-tool-requests
      id: "{{inputs.runner_id}}_{{ execution.id }}"
      document:
        request_id: "{{ execution.id }}"
        runner_id: "{{inputs.runner_id}}"
        tool_call: "{{inputs.tool_calls}}"
        status: "unhandled"

  - name: output_result
    type: console
    with:
      message: "ツールが呼び出されました。実行ID: {{ execution.id }}. このIDを使用して結果をポーリングしてください。"<p>それにより、会話に書き込まれるツール呼び出しリクエストに依存するのではなく、ランナーはElasticsearchのdistributed-tool-requestsインデックスをポーリングして新しい外部ツールリクエストを検索し、その結果を指定されたexecution.idを使用して別のElasticsearchインデックスにレポートすることができます。</p><p>これにより、上記の2つの主な問題が解消されます。</p><ol><li><p>会話履歴に外部ツール呼び出しのペイロードが散乱することはなくなりました。</p></li><li><p>ランナーは会話履歴ではなくElasticsearchインデックスをポーリングしているため、外部ツールのリクエストが表示されるようになるまで、会話のラウンドが完了するのを待つ必要がなく、ブロックされることはありません。</p></li></ol><p>2つ目の点には、外部ツール呼び出しの処理が（会話ラウンドが完了した後ではなく）エージェントの思考フェーズ内で開始されるという大きな利点があります。これにより、システムプロンプトでLLMに外部ツールの結果が利用可能になるまでポーリングするように指示できレガシ、キックスタートメッセージが不要になります。全体として、これにより会話がより自然に感じられるという良い効果があります。LLMは（ツールリクエストごとに1回の会話ラウンドを必要とするのではなく）1回の会話ラウンドで複数の外部ツールリクエストを処理できるため、より複雑なユーザーリクエストを一度に達成できます。</p><h2><strong>すべてを集約</strong></h2><p>LLMとサーバーラックの間のギャップを埋めるために、Agent Builderのツール機能を使用してある特定のアーキテクチャを開発しました。</p><ol><li><p><strong>Augmented Infrastructureのランナー：</strong>ターゲット環境（サーバー、Kubernetesクラスター、クラウドアカウント）内に軽量ランナーをデプロイしました。これらのランナーは、各ランナーだけが利用できる安全なエンドポイントとシークレットを使用して、Elasticに直接接続されています。</p></li><li><p><strong>ES|QL検索</strong>：コパイロットはElasticの<strong>ES|QL</strong>を使用してハイブリッド検索を行います。単に知識を検索するだけではなく、<em>機能</em>を検索します。接続されたランナーに問い合わせて利用可能なツールを確認します（例：list_ec2_instances, install_helm_chart）。</p></li><li><p><strong>ワークフローの実行：</strong>エージェントが行動方針を決定すると、構造化されたワークフローを作成します。</p></li><li><p><strong>フィードバックループ：</strong>ランナーはローカルでコマンドを実行し、その結果をElasticsearchにレポートします。コパイロットはインデックスの結果を読み取り、次のステップを決定します。</p></li></ol><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt9726199693a10c5c/6a17070ae8fbced43a39fb9a/76be256da722c1965971fc506502768bd890f0c4-1290x1076.png" alt="Architecture using Agent Builder’s tool capabilities with Augmented Infrastructure" /><h2><strong>デモ：停止からオブザーバビリティへ</strong></h2><p>動画では、このアーキテクチャの影響力を示す2つの異なるシナリオを紹介しました。</p><h3><strong>シナリオ1：DevOpsの救出</strong></h3><p>私たちは、Kubernetesクラスター内の死角によって引き起こされた500万ドルの障害に関連してパニックに陥ったユーザーから取り組み始めました。</p><ul><li><p><strong>リクエスト：</strong>「このようなことが二度と起こらないようにするにはどうすればよいでしょうか？」</p></li><li><p><strong>アクション：</strong>エージェントは単にチュートリアルを提供するだけではありませんでした。クラスターを識別し、必要な名前空間を作成し、Kubernetesシークレットを生成し、OpenTelemetry Operatorをインストールして、ライブAPMダッシュボードへのリンクを即座に提供しました。</p></li><li><p><strong>結果：</strong>ユーザーがYAMLコードを一行も記述することなく、Kubernetesの網羅的なオブザーバビリティとアプリケーションの洞察を実現しました。</p></li></ul><h3><strong>シナリオ2：セキュリティの引き継ぎ</strong></h3><p>インフラセキュリティの基本的なルールは、見えないものは守れないということです。DevOpsの救出を実行している際、エージェントは環境のセキュリティを向上させる機会を見出します。</p><p>前回のElastic Observability関連の調査から始まったアラートを受けて、セキュリティ担当者が自社のインフラストラクチャーと直接チャットする方法を示します。1つ目はクラウド環境内の資産とリソースを列挙すること、2つ目は環境のセキュリティを確保するために必要なツールをデプロイすることです。</p><ul><li><p><strong>発見：</strong>コパイロットはセキュリティ担当者のためにAWSリソースを列挙し、重要なギャップを特定しました。すなわち、Amazon Elastic Compute Cloud（EC2）インスタンスと、パブリックエンドポイントにエンドポイント保護がないAmazon Elastic Kubernetes Service（EKS）クラスターです。</p></li><li><p><strong>対策：</strong>簡単な承認手続きで、コパイロットは脆弱な資産に対して<strong>Elastic Security</strong>の<strong>拡張検出および対応（XDR）とクラウド検出と対応（CDR）</strong>を展開し、環境をリアルタイムで保護しました。</p></li><li><p><strong>結果：</strong>デプロイされたAWS資産とリソースを完全なランタイムセキュリティで保護します。</p></li></ul><h2><strong>未来：あらゆるものが拡張される</strong></h2><p>このプロジェクトは、Elastic Agent Builderが分散運用の中心的な頭脳になり得ることを証明しています。インフラだけに留まらず、私たちのランナー技術は以下の影響力を発揮します。</p><ul><li><p><strong>拡張合成：</strong>グローバルランナー全体にわたるTLSエラーの診断。</p></li><li><p><strong>拡張開発：</strong>プルリクエストの作成と、フロントエンドサービスへのCAPTCHAの実装。</p></li><li><p><strong>拡張オペレーション：</strong>障害時にDNSリゾルバを自動的に再構成。</p></li></ul><h2><strong>はじめましょう</strong></h2><p>私たちは、AIの未来は単なるチャットサポートだけではなく、<strong>拡張されたインフラストラクチャー</strong>にあると信じています。これは、ユーザーと共にデプロイ、修正、観察、そして保護できるパートナーを持つことです。</p><p>コードをご覧になり、<a href="https://github.com/strawgate/augmented-infrastructure">GitHub</a>の分散ランナーや<a href="https://cloud.elastic.co/">Elastic Cloud Serverless</a>のElastic Agent Builderをぜひ直接お試しください。</p><ul><li><p>Elastic Cloud上にサーバーレスプロジェクトを作成します。</p></li><li><p>コードをランナーにデプロイします。</p></li><li><p>ランナーをセットアップします。</p></li><li><p>mcp.jsonを設定します。</p></li><li><p>ランナーを起動すると、エージェントとそのツールが自動的に作成されます。</p></li><li><p>分散ランナーで推論、計画、およびアクションを実行できるエージェントとチャットしましょう。</p></li></ul><p><strong>チーム： </strong><em>アレックス、ビル、ギル、グラハム、ノーリー</em></p>]]></content:encoded>
    <link>https://www.elastic.co/search-labs/blog/agent-builder-augmented-infrastructure</link>
    <guid isPermaLink="true">https://www.elastic.co/search-labs/blog/agent-builder-augmented-infrastructure</guid>
    <category><![CDATA[エージェント型AI]]></category>
    <category><![CDATA[AIツール ]]></category>
    <dc:creator><![CDATA[Alexander Wert,Bill Easton,Gil Raphaelli,Graham Hudgins,Norrie Taylor]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt6de9245ad57ccc00/6a17070cdc55deaa39e00d48/e08daf78f328e826f39d06329f6a5487f75d178d-1272x700.png" length="0" type="image/png"/>
    <pubDate>Thu, 22 Jan 2026 00:00:00 GMT</pubDate>
  </item>
  </channel>
</rss>