<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>AIエージェント - クエビコ</title>
	<atom:link href="https://kuebiko.blog/archives/tag/ai%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88/feed/" rel="self" type="application/rss+xml" />
	<link>https://kuebiko.blog</link>
	<description>論文で知り、道具で動かし、安全に使う。AI の実践ノート</description>
	<lastBuildDate>Wed, 07 Oct 2026 05:49:20 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://kuebiko.blog/wp-content/uploads/2026/10/kuebiko-site-icon-512-32x32.png</url>
	<title>AIエージェント - クエビコ</title>
	<link>https://kuebiko.blog</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>【AI×セキュリティ】AIエージェントはサイトをどう探しに来るか｜「ai-catalog.json や llms.txt は置くべき？」を解く</title>
		<link>https://kuebiko.blog/archives/255/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ai-agent-discovery</link>
		
		<dc:creator><![CDATA[クエビコ]]></dc:creator>
		<pubDate>Thu, 08 Oct 2026 03:00:00 +0000</pubDate>
				<category><![CDATA[AIセキュリティ]]></category>
		<category><![CDATA[AI×セキュリティ]]></category>
		<category><![CDATA[AIエージェント]]></category>
		<category><![CDATA[AIクローラー]]></category>
		<category><![CDATA[MCP]]></category>
		<category><![CDATA[robots.txt]]></category>
		<category><![CDATA[サイト運営]]></category>
		<category><![CDATA[セキュリティ]]></category>
		<guid isPermaLink="false">https://kuebiko.blog/?p=255</guid>

					<description><![CDATA[<p>アクセスログを眺めていたら、置いた覚えのない /.well-known/ai-catalog.json や /llms.txt へのアクセスが残っていた——最近、そんな経験をしたサイト運営者もいるのではないでしょうか。そ [&#8230;]</p>
<p>The post <a href="https://kuebiko.blog/archives/255/">【AI×セキュリティ】AIエージェントはサイトをどう探しに来るか｜「ai-catalog.json や llms.txt は置くべき？」を解く</a> first appeared on <a href="https://kuebiko.blog">クエビコ</a>.</p>]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">アクセスログを眺めていたら、置いた覚えのない <code>/.well-known/ai-catalog.json</code> や <code>/llms.txt</code> へのアクセスが残っていた——最近、そんな経験をしたサイト運営者もいるのではないでしょうか。その同じログには、<code>.env.openai</code> のような、AI の API キーを狙ったとしか思えないアクセスも混ざっています。</p>



<p class="wp-block-paragraph">AI 向けの「案内」を用意する仕様や慣習は、ここ 1〜2 年で一気に増えました。置けば AI に見つけてもらいやすくなる一方で、書き方を誤ると「攻撃者向けの地図」にもなります。</p>



<p class="wp-block-paragraph">この記事では、このブログ（クエビコ）のログに実際に残った探索を手がかりに、AI 向けの案内ファイルとセキュリティの勘所を整理します！</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">このブログに実際に来た「探索」</a></li><li><a href="#toc2" tabindex="0">AI向けの「案内」は大きく3種類</a><ol><li><a href="#toc3" tabindex="0">llms.txt：AI 向けのサイト案内</a></li><li><a href="#toc4" tabindex="0">ai-catalog.json（ARD）：サイトの「道具」の目録</a></li><li><a href="#toc5" tabindex="0">Agent Card（A2A）：エージェントの自己紹介</a></li><li><a href="#toc6" tabindex="0">robots.txt：AIクローラーの書き分け</a></li><li><a href="#toc7" tabindex="0">📄 論文: エージェントの「目録」は、どんな方式が競っているのか</a></li><li><a href="#toc8" tabindex="0">📄 論文: エージェントの道具は「読む」から「動かす」へ</a></li></ol></li><li><a href="#toc9" tabindex="0">セキュリティの視点：「案内」は攻撃者も読む</a><ol><li><a href="#toc10" tabindex="0">公開した目録は、攻撃面の一覧になる</a></li><li><a href="#toc11" tabindex="0">llms.txt と robots.txt は「お願い」であって強制ではない</a></li><li><a href="#toc12" tabindex="0">AI の API キーを狙う探索への備え</a></li><li><a href="#toc13" tabindex="0">📄 論文: Web に置き忘れられた API キーは珍しくない</a></li></ol></li><li><a href="#toc14" tabindex="0">このブログの結論</a></li><li><a href="#toc15" tabindex="0">AIエージェント時代のサイト運営の鍵は次の3点です</a></li><li><a href="#toc16" tabindex="0">まとめ：AIへの案内は「出してよいもの」だけ、鍵はしまっておく！</a></li><li><a href="#toc17" tabindex="0">参考文献</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">このブログに実際に来た「探索」</span></h2>



<p class="wp-block-paragraph">このブログは、しばらく閲覧できる相手を限って運用していました。2026年10月6日の昼に誰でも閲覧できる状態にしたので、その前後のログを読みました（送信元のアドレスなど個人を特定できる値は載せません）。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>来たもの</th><th>様子</th><th>結果</th></tr></thead><tbody><tr><td>ページの品質を測る検査ツール</td><td>PC 用とスマホ用がそれぞれ <code>/llms.txt</code> → <code>/robots.txt</code> → <code>/.well-known/ai-catalog.json</code> の順に 1 回ずつ（計約 6 秒）</td><td>llms.txt と robots.txt は 200、ai-catalog.json は 404（置いていない）</td></tr><tr><td>OpenAI のクローラー（<code>GPTBot</code>・<code>OAI-SearchBot</code>）</td><td>まず <code>robots.txt</code> やサイトマップを取得</td><td>閲覧を限っていた時期なので 403</td></tr><tr><td>WordPress の古い機能を探すアクセス</td><td><code>wlwmanifest.xml</code> を、<code>/blog/</code>・<code>/wp/</code>・<code>/shop/</code> など 17 通りの場所で総当たり。<code>xmlrpc.php</code> も</td><td>計 126 件・5 つの送信元。https への転送で止まり、続きは来なかった</td></tr><tr><td>設定ファイル <code>.env</code> を探すアクセス</td><td><code>.env</code> に <code>.local</code>・<code>.production</code>・<code>.bak</code> などを付けた名前や、<code>/api/.env</code> のような場所を総当たり</td><td>計 216 件・5 つの送信元。すべて 403（うち 208 件は閲覧を限っていた時期。公開後の 8 件は WAF が遮断）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">1 行目の検査ツールは、名乗り（User-Agent）に「Chrome-Lighthouse」を含み、送信元は Google のホスト名でした。Google が開発する検査ツール Lighthouse は、2026年9月公開の 13.5 版で AI エージェント向けの検査に ai-catalog.json の確認を加え、既存の llms.txt の確認と並べました。robots.txt も読むのは、ai-catalog.json の置き場所の指定（後述の Agentmap 行）を探すためです（<a href="https://github.com/GoogleChrome/lighthouse/releases/tag/v13.5.0">Lighthouse v13.5.0 リリースノート</a>）。</p>



<p class="wp-block-paragraph">OpenAI のクローラーは名前だけなら誰でも名乗れるので、OpenAI が公開する送信元アドレスの一覧と照らし合わせました。今回のアクセスはすべて一覧の範囲内でした。</p>



<p class="wp-block-paragraph">目を引いたのは最後の行です。公開後に来たある送信元は、<code>.git/HEAD</code> を見たあと、約 2 秒のうちに AWS 用の <code>.env.aws.local</code> と並べて <code>.env.anthropic</code>・<code>.env.openai</code>・<code>.env.openai.local</code>・<code>.env.gpt</code>・<code>.env.llm</code>・<code>.env.ai</code> を要求しました。AI サービスの API キーを置いていそうな名前を並べた探索です。これらはサイトの前に置いている WAF（Web アプリケーションファイアウォール）が、公開してはいけない種類のファイルへのアクセスとして 403 で止めました。そもそも、このブログにそうしたファイルはありません。</p>



<p class="wp-block-paragraph">同じ日のログに、「AI 向けの案内を読みに来る検査ツール」と「AI の鍵を探しに来る探索」が並んでいたわけです。</p>



<h2 class="wp-block-heading"><span id="toc2">AI向けの「案内」は大きく3種類</span></h2>



<p class="wp-block-paragraph">サイトが AI に向けて出す案内は、目的で分けると次の 3 つです。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>案内</th><th>置き場所</th><th>目的</th><th>位置づけ（2026年10月時点）</th></tr></thead><tbody><tr><td>llms.txt</td><td><code>/llms.txt</code></td><td>サイトの要点と読むべきページを、AI に読みやすい Markdown でまとめる</td><td>個人の提案から広まった慣習</td></tr><tr><td>ARD のマニフェスト</td><td><code>/.well-known/ard.json</code>（旧名 <code>ai-catalog.json</code>）</td><td>サイトが提供する MCP サーバ・A2A エージェント・API などの「道具」を一覧にする</td><td>業界の有志による仕様の草案（v0.91）</td></tr><tr><td>A2A の Agent Card</td><td><code>/.well-known/agent-card.json</code></td><td>1 つの AI エージェントの能力と接続方法を自己紹介する</td><td>A2A プロトコル仕様の一部</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">これとは別に、robots.txt が「どのボットに来てほしいか」を伝えます。順に見ていきます。</p>



<h3 class="wp-block-heading"><span id="toc3">llms.txt：AI 向けのサイト案内</span></h3>



<p class="wp-block-paragraph">llms.txt は、2024年9月に Jeremy Howard 氏が提案した、サイトのルートに置く Markdown のファイルです。サイトの概要と、詳しい情報へのリンクを、AI が短い文脈で読める形にまとめます。提案は v2 に改訂され、主要な AI 事業者も自社の開発者向けドキュメントに置いています（<a href="https://llmstxt.org/">llms-txt「The /llms.txt file」</a>）。</p>



<p class="wp-block-paragraph">提案文書は、robots.txt とは目的が違うと書いています。robots.txt は「どんなアクセスを受け入れるか」を伝え、llms.txt は利用者を手伝う AI がその場で読む情報で、主に学習ではなく回答の生成に使われる想定です。</p>



<p class="wp-block-paragraph">一方で Google は、検索の AI 機能（AI による概要など）に表示されるために、新たな機械可読ファイルや AI 用のテキストファイルを作る必要はないと明言しています（<a href="https://developers.google.com/search/docs/appearance/ai-features">Google 検索セントラル「AI features and your website」</a>）。llms.txt は、置けば必ず効くものではありません。</p>



<h3 class="wp-block-heading"><span id="toc4">ai-catalog.json（ARD）：サイトの「道具」の目録</span></h3>



<p class="wp-block-paragraph">ARD（Agentic Resource Discovery）は、AI エージェントが使える道具（MCP サーバ、A2A エージェント、スキルなど）を、Web ページのように検索して見つけられるようにする仕様です。Microsoft・Google・GoDaddy・Hugging Face などの参加者が作る草案で、2026年6月に公開が告知されました（<a href="https://huggingface.co/blog/agentic-resource-discovery-launch">Hugging Face「Agentic Resource Discovery: Let agents search」</a>）。</p>



<p class="wp-block-paragraph">サイトは自分のドメインに道具の目録（マニフェスト）を置き、各項目に識別子・表示名・種類・接続先の URL などを書きます。検索サービス（レジストリ）がそれを集めて索引を作り、エージェントは「やりたいこと」で検索して道具を選びます。</p>



<p class="wp-block-paragraph">ここで注意したいのが置き場所の名前です。2026年8月26日付の v0.91 で、目録の場所は <code>/.well-known/ard.json</code> に一本化され、従来の <code>/.well-known/ai-catalog.json</code> は「前の版の名前」になりました。読み手が旧名を見るかどうかは任意で、旧名にしか置いていない目録は見つけてもらえない可能性があります。目録の場所は、robots.txt の <code>Agentmap:</code> 行や HTML の link 要素でも示せます（<a href="https://github.com/ards-project/ard-spec/blob/main/spec/ard.md">ARD Specification v0.91</a>）。2026年10月6日時点の Lighthouse のソースは旧名の <code>ai-catalog.json</code> を見に行くので、このブログのログにも旧名が残っていました。</p>



<h3 class="wp-block-heading"><span id="toc5">Agent Card（A2A）：エージェントの自己紹介</span></h3>



<p class="wp-block-paragraph">A2A（Agent2Agent）は、AI エージェント同士が仕事を頼み合うためのプロトコルです。各エージェントは能力・接続先・認証方式を書いた Agent Card を <code>/.well-known/agent-card.json</code> に置いて見つけてもらいます（<a href="https://github.com/a2aproject/A2A/blob/main/docs/specification.md">A2A Protocol Specification</a>）。ARD の目録は、こうした Agent Card や MCP サーバの説明を「指し示す」側の仕組みです。</p>



<h3 class="wp-block-heading"><span id="toc6">robots.txt：AIクローラーの書き分け</span></h3>



<p class="wp-block-paragraph">AI のクローラーは、学習用（OpenAI の <code>GPTBot</code>、Anthropic の <code>ClaudeBot</code> など）・AI 検索用（<code>OAI-SearchBot</code>・<code>Claude-SearchBot</code> など）と目的で名前が分かれ、Google の <code>Google-Extended</code> は Gemini の学習やグラウンディング（回答の根拠づけ）への利用を断るための robots.txt 上の名前です（<a href="https://developers.openai.com/api/docs/bots">OpenAI</a>・<a href="https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler">Anthropic</a>・<a href="https://developers.google.com/crawling/docs/crawlers-fetchers/google-common-crawlers">Google</a>の公式ドキュメント）。書き分け方と守られる実態は、シリーズの <a href="/?p=147">AIクローラーとサイト運営</a> で詳しく扱っています。</p>



<h3 class="wp-block-heading"><span id="toc7">📄 論文: エージェントの「目録」は、どんな方式が競っているのか</span></h3>



<p class="wp-block-paragraph"><strong>Evolution of AI Agent Registry Solutions: Centralized, Enterprise, and Distributed Approaches</strong>（Aditi Singh ほか、2025年8月、<a href="https://arxiv.org/abs/2508.03095">arXiv:2508.03095</a>）は、査読前の論文（プレプリント）です。AI エージェントを見つけるための仕組みとして、MCP のレジストリ、A2A の Agent Card、分散型のディレクトリ、企業向けのディレクトリなど 5 つの方式を取り上げ、セキュリティ・認証・規模の拡大・保守のしやすさの 4 つの観点で比べました。</p>



<p class="wp-block-paragraph">著者らは、中央集権的な管理・企業の統制・分散による耐障害性の間のトレードオフを示し、検証できる身元や共通の語彙が必要だと結論づけています。</p>



<p class="wp-block-paragraph">運営者にとっての意味は、「見つけてもらう仕組み」も、載っている情報の身元を確かめる仕組みも、まだ発展途上だということです。</p>



<h3 class="wp-block-heading"><span id="toc8">📄 論文: エージェントの道具は「読む」から「動かす」へ</span></h3>



<p class="wp-block-paragraph"><strong>How are AI agents used? Evidence from 177,000 MCP tools</strong>（Merlin Stein、2026年3月、<a href="https://arxiv.org/abs/2603.23802">arXiv:2603.23802</a>）も査読前の論文です。2024年11月〜2026年2月に公開リポジトリで作られた MCP の道具 177,436 個を、データを読む道具・分析する道具・外部の環境を変える「行動」の道具に分類しました。</p>



<p class="wp-block-paragraph">ツールの利用全体に占める「行動」の道具の割合は、16 か月で 27% から 65% に増えていました。金融取引のような影響の大きい道具もあります。</p>



<p class="wp-block-paragraph">運営者にとっての意味は、目録に載せた道具が「何かを変更できる」なら、見つけた相手が実際に操作を試みうるということです。</p>



<h2 class="wp-block-heading"><span id="toc9">セキュリティの視点：「案内」は攻撃者も読む</span></h2>



<h3 class="wp-block-heading"><span id="toc10">公開した目録は、攻撃面の一覧になる</span></h3>



<p class="wp-block-paragraph">ai-catalog.json（ard.json）や Agent Card は、誰でも読める場所に置くファイルです。社内向けの MCP サーバや管理用の API を載せれば、攻撃者には「どこに何があるか」の一覧になります。</p>



<p class="wp-block-paragraph">A2A の仕様は、認証した相手にだけ詳しい内容を見せる「拡張 Agent Card」の取得に認証を必須とし、その拡張カードにさえ、漏れたら悪用されうる情報（内部サービスの URL や資格情報など）は載せるべきでないとしています（<a href="https://github.com/a2aproject/A2A/blob/main/docs/specification.md">A2A Protocol Specification</a>）。公開のカードに載せないのは言うまでもありません。</p>



<p class="wp-block-paragraph">ARD の仕様は、認証を道具ごとのプロトコルに任せ、目録の仕組みとしては定めていません。仕様の例でも、社内のエージェントは社内の検索サービスから返す形です。社内の道具は公開の目録ではなく、社内の仕組みで案内するのが筋です。また ARD は、識別子に含まれるドメインと発行元の証明が一致するかを検索サービス側で確かめる仕組みを用意しています。なりすましの目録が出回りうる前提の設計です。</p>



<h3 class="wp-block-heading"><span id="toc11">llms.txt と robots.txt は「お願い」であって強制ではない</span></h3>



<p class="wp-block-paragraph">robots.txt はアクセス認可の仕組みではないと、標準（RFC 9309）自身が明記しています（<a href="https://www.rfc-editor.org/rfc/rfc9309.html">RFC 9309</a>）。llms.txt も、AI に「ここを読んでほしい」と伝えるだけで、読まれたくないページを守る力はありません。見せたくないものは、認証の内側に置くのが原則です。</p>



<h3 class="wp-block-heading"><span id="toc12">AI の API キーを狙う探索への備え</span></h3>



<p class="wp-block-paragraph"><code>.env</code> は、設定やパスワード、API キーを書いておく定番のファイル名です。公開ディレクトリに置いたままだと、URL を当てるだけで中身を読まれます。探索側は AI サービス向けの名前まで用意しています。</p>



<h3 class="wp-block-heading"><span id="toc13">📄 論文: Web に置き忘れられた API キーは珍しくない</span></h3>



<p class="wp-block-paragraph"><strong>Keys on Doormats: Exposed API Credentials on the Web</strong>（Nurullah Demir ほか、2026年3月、<a href="https://arxiv.org/abs/2603.12498">arXiv:2603.12498</a>）は arXiv 版で、ACM CCS 2026 に採録されています。1,000 万の Web サイトを実際に表示して調べ、14 の事業者向けの資格情報 1,748 件が、実際に使える状態で露出していることを確かめました。表 2 によると、そのうち OpenAI の鍵は 181 件でした。</p>



<p class="wp-block-paragraph">露出の多くは公開用にまとめた JavaScript の中や外部から読み込む部品で起きていて、ソースコードを静的に調べるだけでは見逃されがちでした。露出は数か月から数年残ることが多かったといいます。</p>



<p class="wp-block-paragraph">運営者にとっての意味は、<code>.env</code> を置かないだけでなく、公開するファイルに鍵が混ざっていないかを確かめ、漏れたら無効にするところまでが対策だということです。</p>



<h2 class="wp-block-heading"><span id="toc14">このブログの結論</span></h2>



<p class="wp-block-paragraph"><strong>ai-catalog.json（ard.json）は置きません。</strong> このブログは記事を読んでもらうサイトで、AI エージェントに提供する道具（MCP サーバや API）がありません。載せるものが無い目録を置く理由はなく、検査ツールで「見つからない」と出ても、それで正しい状態です。</p>



<p class="wp-block-paragraph"><strong>llms.txt は、置いたままにして期待はしない、という扱いにします。</strong> 実はこのブログの llms.txt は、使っている SEO プラグインが自動で作っていました。中身は公開済みの記事の題名・要約・URL とサイトマップへのリンクで、すでに誰でも見られる情報です。AI の助けになるなら良いものの、検索の AI 機能に出る条件ではありません。下書きや非公開の情報が混ざっていないかだけ、ときどき確かめます。</p>



<p class="wp-block-paragraph"><strong>robots.txt は、今は AI 向けの書き分けをしていません。</strong></p>



<h2 class="wp-block-heading"><span id="toc15">AIエージェント時代のサイト運営の鍵は次の3点です</span></h2>



<ol class="wp-block-list">
<li><strong>案内ファイルは「誰が読んでも困らない」ものだけにする</strong><br>ai-catalog.json（ard.json）や Agent Card は攻撃者も読みます。社内の道具や内部の URL は載せず、詳しい情報は認証の内側に置きましょう。</li>



<li><strong>llms.txt と robots.txt は「お願い」と心得る</strong><br>どちらもアクセスを止める力はありません。守りたいものは認証やサーバ側の制御で守ります。</li>



<li><strong>AI の鍵は置かない・埋め込まない・漏れたら無効にする</strong><br>AI の API キーを狙う探索はすでに来ています。設定ファイルを公開ディレクトリに置かず、WAF などで探索そのものも止めておきましょう。</li>
</ol>



<h2 class="wp-block-heading"><span id="toc16">まとめ：AIへの案内は「出してよいもの」だけ、鍵はしまっておく！</span></h2>



<p class="wp-block-paragraph">AI 向けには、llms.txt、ai-catalog.json（新しい名前は ard.json）、agent-card.json といった新しい入口が用意されつつあります。このブログのログでも、検査ツールが llms.txt と ai-catalog.json を確かめに来る一方で、別の送信元は AI の API キーを探して <code>.env.openai</code> を要求していました。案内は提供する機能があるときに、外に出してよいものだけを載せる。鍵は公開の場所に置かない。この 2 つを押さえて、AI エージェント時代の入口に備えましょう！</p>



<h2 class="wp-block-heading"><span id="toc17">参考文献</span></h2>



<ul class="wp-block-list">
<li>GoogleChrome「Lighthouse v13.5.0 release notes」（<a href="https://github.com/GoogleChrome/lighthouse/releases/tag/v13.5.0">https://github.com/GoogleChrome/lighthouse/releases/tag/v13.5.0</a>）2026-10-06 確認</li>



<li>ards-project「Agentic Resource Discovery Specification v0.91」（<a href="https://github.com/ards-project/ard-spec/blob/main/spec/ard.md">https://github.com/ards-project/ard-spec/blob/main/spec/ard.md</a>）2026-10-06 確認</li>



<li>Hugging Face「Agentic Resource Discovery: Let agents search」（<a href="https://huggingface.co/blog/agentic-resource-discovery-launch">https://huggingface.co/blog/agentic-resource-discovery-launch</a>）2026-10-06 確認</li>



<li>Jeremy Howard「The /llms.txt file, v2」（<a href="https://llmstxt.org/">https://llmstxt.org/</a>）2026-10-06 確認</li>



<li>a2aproject「A2A Protocol Specification」（<a href="https://github.com/a2aproject/A2A/blob/main/docs/specification.md">https://github.com/a2aproject/A2A/blob/main/docs/specification.md</a>）2026-10-06 確認</li>



<li>Google 検索セントラル「AI features and your website」（<a href="https://developers.google.com/search/docs/appearance/ai-features">https://developers.google.com/search/docs/appearance/ai-features</a>）2026-10-06 確認</li>



<li>OpenAI「Overview of OpenAI Crawlers」（<a href="https://developers.openai.com/api/docs/bots">https://developers.openai.com/api/docs/bots</a>）2026-10-06 確認</li>



<li>Anthropic「Does Anthropic crawl data from the web, and how can site owners block the crawler?」（<a href="https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler">https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler</a>）2026-10-06 確認</li>



<li>Google「Google&#8217;s common crawlers」（<a href="https://developers.google.com/crawling/docs/crawlers-fetchers/google-common-crawlers">https://developers.google.com/crawling/docs/crawlers-fetchers/google-common-crawlers</a>）2026-10-06 確認</li>



<li>IETF「RFC 9309: Robots Exclusion Protocol」（<a href="https://www.rfc-editor.org/rfc/rfc9309.html">https://www.rfc-editor.org/rfc/rfc9309.html</a>）2026-10-06 確認</li>



<li>Aditi Singh ほか「Evolution of AI Agent Registry Solutions: Centralized, Enterprise, and Distributed Approaches」（<a href="https://arxiv.org/abs/2508.03095">https://arxiv.org/abs/2508.03095</a>）2026-10-06 確認</li>



<li>Merlin Stein「How are AI agents used? Evidence from 177,000 MCP tools」（<a href="https://arxiv.org/abs/2603.23802">https://arxiv.org/abs/2603.23802</a>）2026-10-06 確認</li>



<li>Nurullah Demir ほか「Keys on Doormats: Exposed API Credentials on the Web」（<a href="https://arxiv.org/abs/2603.12498">https://arxiv.org/abs/2603.12498</a>）2026-10-06 確認</li>
</ul><p>The post <a href="https://kuebiko.blog/archives/255/">【AI×セキュリティ】AIエージェントはサイトをどう探しに来るか｜「ai-catalog.json や llms.txt は置くべき？」を解く</a> first appeared on <a href="https://kuebiko.blog">クエビコ</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【AI×セキュリティ】AIエージェントとMCPの権限設計｜「つないだツールに、どこまで任せてよいか」を解く</title>
		<link>https://kuebiko.blog/archives/157/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ai-agent-mcp-permissions</link>
		
		<dc:creator><![CDATA[クエビコ]]></dc:creator>
		<pubDate>Wed, 07 Oct 2026 23:00:00 +0000</pubDate>
				<category><![CDATA[AIエージェント]]></category>
		<category><![CDATA[AIセキュリティ]]></category>
		<category><![CDATA[AI×セキュリティ]]></category>
		<category><![CDATA[MCP]]></category>
		<category><![CDATA[セキュリティ]]></category>
		<category><![CDATA[権限設計]]></category>
		<guid isPermaLink="false">https://blog.susanoo.mailsec-dev.com/?p=157</guid>

					<description><![CDATA[<p>「AI アシスタントに、社内のファイル共有やカレンダー、顧客管理のツールをつなげば、もっと仕事が楽になるはず」。最近は、そうした連携をボタン一つで設定できるサービスも増えてきました。AI が自分で必要なツールを選んで操作 [&#8230;]</p>
<p>The post <a href="https://kuebiko.blog/archives/157/">【AI×セキュリティ】AIエージェントとMCPの権限設計｜「つないだツールに、どこまで任せてよいか」を解く</a> first appeared on <a href="https://kuebiko.blog">クエビコ</a>.</p>]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">「AI アシスタントに、社内のファイル共有やカレンダー、顧客管理のツールをつなげば、もっと仕事が楽になるはず」。最近は、そうした連携をボタン一つで設定できるサービスも増えてきました。AI が自分で必要なツールを選んで操作してくれる「AI エージェント」は、とても便利です。</p>



<p class="wp-block-paragraph">一方で、こんな不安もあるのではないでしょうか。「AI に渡した権限で、消してはいけないデータを消されたらどうしよう」「つないだ先のサーバーは、ちゃんと鍵がかかっているの？」。人間の担当者なら「この作業には閲覧権限だけ渡す」と自然に考えますが、AI に対しては、つい全部の権限をまとめて渡してしまいがちです。</p>



<p class="wp-block-paragraph">この記事では、AI とツールをつなぐ共通の仕組み「MCP」を例に、AI エージェントにどこまで権限を渡してよいかを考えます。悪意ある指示を紛れ込ませるプロンプトインジェクションの検知や、ツール説明文の罠については <a href="/?p=47">LLMエージェントのセキュリティの記事</a> で詳しく扱いました。今回はその手前の、「そもそも AI に何を許すか」という権限と認証の設計に絞ってお話しします！</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">MCP とは</a></li><li><a href="#toc2" tabindex="0">MCP の仕様は認証と権限について何を求めているか</a><ol><li><a href="#toc3" tabindex="0">📄 論文: リモート MCP サーバーの認証の実態</a></li><li><a href="#toc4" tabindex="0">📄 論文: 別の調査でも見えた「認証なし」の公開サーバー（補足）</a></li><li><a href="#toc5" tabindex="0">📄 論文: AI エージェントが「強いほうの道具」を選ぶ傾向</a></li></ol></li><li><a href="#toc6" tabindex="0">運営者のやること</a><ol><li><a href="#toc7" tabindex="0">機能を絞る：必要なツールだけつなぐ</a></li><li><a href="#toc8" tabindex="0">権限を絞る：読むだけで済むなら読むだけ</a></li><li><a href="#toc9" tabindex="0">自律性を絞る：重要な操作は人が承認する</a></li><li><a href="#toc10" tabindex="0">つなぐ前に相手を確かめ、つないだ後は記録を見る</a></li></ol></li><li><a href="#toc11" tabindex="0">プロンプトインジェクション対策との関係</a></li><li><a href="#toc12" tabindex="0">AIエージェントに権限を渡す鍵は次の3点です</a></li><li><a href="#toc13" tabindex="0">まとめ：AIエージェントには「必要な分だけ」任せよう！</a></li><li><a href="#toc14" tabindex="0">参考文献</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">MCP とは</span></h2>



<p class="wp-block-paragraph">MCP（Model Context Protocol）は、AI アプリケーションと外部のデータやツールをつなぐための公開された共通仕様です。仕様では、AI アプリそのものを「ホスト」、ホストの中で外部との接続を受け持つ部品を「クライアント」、ツールやデータを提供する側を「MCP サーバー」と呼びます。クライアントと MCP サーバーが決まった形式でやり取りすることで、いろいろなツールを同じ方法で AI につなげられます。MCP サーバーには、自分のパソコン上で動かす「ローカル」のものと、インターネット越しに使う「リモート」のものがあります。</p>



<p class="wp-block-paragraph">MCP の仕様は、冒頭の「セキュリティと信頼」の節で、この仕組みが任意のデータへのアクセスやコードの実行につながる強力なものだと注意しています。そのうえで、利用者がすべてのデータアクセスと操作を理解して明示的に同意できること、共有するデータや実行される操作を利用者が管理し続けられることを原則に掲げています（<a href="https://modelcontextprotocol.io/specification/2026-07-28">MCP Specification</a>）。</p>



<h2 class="wp-block-heading"><span id="toc2">MCP の仕様は認証と権限について何を求めているか</span></h2>



<p class="wp-block-paragraph">2026年10月時点の最新版（2026-07-28 版）の仕様から、運営者が知っておきたい点を三つ挙げます。</p>



<p class="wp-block-paragraph">一つ目は、仕様が定める認可の仕組み（誰に何を許すかを決める部分）は「任意（OPTIONAL）」だという点です。インターネット越しに使う HTTP ベースの MCP サーバーでこの仕組みを使う場合は、OAuth 2.1（ログイン情報を渡さずに、限られた権限だけを他のアプリに委ねる標準的な仕組み）をもとにした仕様に従うことが推奨されています。裏を返すと、仕様の認可方式を使っていない MCP サーバーもありえます。独自の方法で守っている場合もありますが、認証も認可もないまま公開されているものが含まれる可能性もある、ということです（<a href="https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization">MCP Specification「Authorization」</a>）。</p>



<p class="wp-block-paragraph">二つ目は、トークン（認可済みであることを示す一時的な鍵）の扱いです。MCP サーバーは、自分宛てに発行されたトークンだけを受け入れなければならず、別のサービス宛てのトークンを受け取ったり、そのまま先へ渡したりしてはいけない、と定められています。セキュリティのベストプラクティスの文書は、この「素通し」を禁止された危険な設計として挙げ、本来の制限や監査の記録をすり抜けられてしまうと説明しています（<a href="https://modelcontextprotocol.io/docs/2026-07-28/tutorials/security/security_best_practices">MCP「Security Best Practices」</a>）。</p>



<p class="wp-block-paragraph">三つ目は、権限の範囲（スコープ）を最小にする考え方です。同じ文書は、最初から何でもできる広いスコープを与えると、トークンが盗まれたときの被害が広がり、取り消しも難しくなると指摘しています。そして、最初は閲覧などの低リスクな操作だけを許し、強い操作が必要になった時点で段階的に権限を追加し、その記録を残す設計を勧めています。ローカルの MCP サーバーについても、ワンクリックで設定できる AI アプリには、実行されるコマンドを省略せずに表示し、利用者の明示的な承認を得ることを求めています。</p>



<p class="wp-block-paragraph">また、仕様は冒頭の原則として、ホストはどのツールを呼び出す前にも利用者の明示的な同意を得ること、利用者は許可する前に各ツールが何をするかを理解できるようにすることを挙げています。ただし、これはプロトコル自体が強制できるものではなく、実装する側に同意と認可の仕組みを作り込むよう求める形です（<a href="https://modelcontextprotocol.io/specification/2026-07-28">MCP Specification</a>）。</p>



<p class="wp-block-paragraph">仕様は「正しく作ればこうなる」という基準を示しています。では、実際に動いている MCP サーバーはどうなっているのでしょうか。</p>



<h3 class="wp-block-heading"><span id="toc3">📄 論文: リモート MCP サーバーの認証の実態</span></h3>



<p class="wp-block-paragraph"><strong>A First Measurement Study on Authentication Security in Real-World Remote MCP Servers</strong>（Huijun Zhou ほか、2026年5月、<a href="https://arxiv.org/abs/2605.22333">arXiv:2605.22333</a>）は、査読前の論文（プレプリント）です。</p>



<p class="wp-block-paragraph">研究チームは、インターネット上で実際に稼働しているリモート MCP サーバーを 7,973 台見つけ出し、認証の状況を調べました。その結果、調べた範囲の約 4 割（40.55%）が認証なしでツールを公開していました。これは研究が見つけたリモートのサーバーについての、調査時点の値です。また、認証には OAuth が主に使われていましたが、検証できた 119 台にはすべて何らかの欠陥があり、なかでも「動的クライアント登録」（AI アプリが事前登録なしにその場で自分を登録する仕組み）まわりの欠陥は 96.6% のサーバーに見つかりました。欠陥の多くは情報漏えいやアカウントの乗っ取りにつながりうるもので、研究チームは責任ある開示を通じて、CVE（公開された脆弱性の識別番号）も取得しています。</p>



<p class="wp-block-paragraph">なお、2026-07-28 版の MCP 仕様では、動的クライアント登録は「非推奨で、後方互換のために残す」扱いになり、別の登録方式（クライアント ID メタデータ文書）を優先する位置づけになっています（<a href="https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization">MCP Specification「Authorization」</a>）。</p>



<p class="wp-block-paragraph">運営者にとっての意味は、つなぐ先の MCP サーバーに「鍵がかかっているか」を自分で確かめる必要があるということです。そして、鍵があっても実装の質はさまざまなので、提供元が更新を続け、最新の仕様に追随しているかも判断材料になります。</p>



<h3 class="wp-block-heading"><span id="toc4">📄 論文: 別の調査でも見えた「認証なし」の公開サーバー（補足）</span></h3>



<p class="wp-block-paragraph"><strong>Exposed by Design: A Dynamic Security Assessment of Internet-Facing MCP Servers at Scale</strong>（Nicolás Padilla、2026年7月、<a href="https://arxiv.org/abs/2608.00150">arXiv:2608.00150</a>）は、単著の査読前の論文（プレプリント）です。他の研究者による検証を経ていない段階の報告なので、傾向を補う参考として紹介します。</p>



<p class="wp-block-paragraph">この研究は、公開されている MCP サーバーのうち 414 台に実際にリクエストを送って動作を確かめ、SQL インジェクションや SSRF（サーバーを踏み台にした不正なリクエスト）といった従来型の脆弱性を 68 件報告しています。また、調べたサーバーの 91.8% が OAuth による認証を備えていなかったとしています。</p>



<p class="wp-block-paragraph">運営者にとっての意味は、MCP サーバーは「AI 用の新しい窓口」であっても、中身は普通のウェブの仕組みだということです。公開するなら、従来どおりの脆弱性診断の対象に含める必要があります。</p>



<h3 class="wp-block-heading"><span id="toc5">📄 論文: AI エージェントが「強いほうの道具」を選ぶ傾向</span></h3>



<p class="wp-block-paragraph"><strong>When Lower Privileges Suffice: Investigating Over-Privileged Tool Selection in LLM Agents</strong>（Kaiyue Yang ほか、2026年6月、<a href="https://arxiv.org/abs/2606.20023">arXiv:2606.20023</a>）は、査読前の論文（プレプリント）です。</p>



<p class="wp-block-paragraph">研究チームは、同じ目的を果たせる権限の低いツールと高いツールを並べて AI エージェントに渡し、どちらを選ぶかを測る評価用の課題集を作りました。8 つの分野・5 つの典型的なリスクの型で、最初の選択と、ツールが一時的にエラーを返したあとに権限を上げるかどうかを調べています。</p>



<p class="wp-block-paragraph">この研究の評価では、権限の低いツールで十分な場面でも、主要な AI エージェントが高い権限のツールを選ぶことはよくありました。さらに、一時的なエラーが起きると、より強いツールへ切り替える傾向が強まりました。AI に施されている一般的な安全対策は「必要最小限の権限を選ぶ」ことには必ずしも効かず、プロンプトで「権限の低いツールを使って」と指示する方法も、エラーが起きた場面では効果が限られていました。研究チームは、AI 自体を追加で訓練して改善する方法も提案しています。</p>



<p class="wp-block-paragraph">運営者にとっての意味は、「AI が自制してくれる」ことを前提にできない、という点です。強いツールを渡せば、AI はそれを使う可能性がある。だから、渡すツールと権限そのものを設計で絞る必要があります。</p>



<h2 class="wp-block-heading"><span id="toc6">運営者のやること</span></h2>



<p class="wp-block-paragraph">ここからは、研究と公的な資料を合わせて、AI エージェントにツールをつなぐときの手順を整理します。OWASP の「LLM アプリケーションの 10 大リスク」は、AI に任せすぎることで被害が起きるリスクを「過剰なエージェンシー（LLM06:2025 Excessive Agency）」と呼び、その原因を「機能の過剰」「権限の過剰」「自律性の過剰」の三つに分けています（<a href="https://genai.owasp.org/llmrisk/llm062025-excessive-agency/">OWASP「LLM06:2025 Excessive Agency」</a>）。この三つに沿って考えると整理しやすくなります。</p>



<h3 class="wp-block-heading"><span id="toc7">機能を絞る：必要なツールだけつなぐ</span></h3>



<ul class="wp-block-list">
<li>業務に必要なツールだけをつなぎ、試しに入れて使わなくなったものは外す。OWASP も、開発中に試して採用しなかった拡張機能が残っている例を挙げています</li>



<li>「メールを要約する」用途なら、読むだけのツールを選ぶ。送信や削除までできるツールは渡さない</li>



<li>コマンドを何でも実行できるような汎用ツールは避け、目的を限った個別のツールを使う</li>
</ul>



<h3 class="wp-block-heading"><span id="toc8">権限を絞る：読むだけで済むなら読むだけ</span></h3>



<ul class="wp-block-list">
<li>AI が使うアカウントやトークンには、業務に必要な最小限の権限だけを与える。閲覧で足りるなら書き込み権限は付けない</li>



<li>全員分のデータにアクセスできる管理者アカウントを共用せず、操作する利用者本人の権限の範囲で動かす。OWASP もこの点を対策に挙げています</li>



<li>許可するかどうかの判断を AI に任せず、つなぐ先のシステム側でアクセス制御をかける</li>
</ul>



<h3 class="wp-block-heading"><span id="toc9">自律性を絞る：重要な操作は人が承認する</span></h3>



<ul class="wp-block-list">
<li>ツールを使う前に利用者の同意を得て、何をするツールか分かるようにする。MCP の仕様もこれを原則に挙げています</li>



<li>特に削除・送信・支払い・公開など、取り返しのつかない操作は、実行内容を示したうえで、その都度人が確認して承認する仕組みにする</li>



<li>新しいローカルの MCP サーバーを追加するときは、表示される実行内容を確認してから承認する。中身の分からないものは入れない</li>
</ul>



<h3 class="wp-block-heading"><span id="toc10">つなぐ前に相手を確かめ、つないだ後は記録を見る</span></h3>



<ul class="wp-block-list">
<li>外部の MCP サーバーを使う前に、認証があるか、提供元はどこか、更新が続いているかを確認する</li>



<li>自社で MCP サーバーを公開する場合は、認証（相手が誰かの確認）と認可（何を許すかの制御）を設け、操作ごとにサーバー側で権限を確認する。通常のウェブサービスと同じく脆弱性診断の対象にもする</li>



<li>AI がどのツールをいつ使ったかの記録を残し、定期的に見直す。OWASP は、記録の監視や回数制限は被害を防ぐものではないが、被害を小さくするのに役立つとしています</li>
</ul>



<h2 class="wp-block-heading"><span id="toc11">プロンプトインジェクション対策との関係</span></h2>



<p class="wp-block-paragraph">AI エージェントの安全を考えると、悪意ある指示を紛れ込ませて AI を操るプロンプトインジェクションの話が必ず出てきます。その検知の方法と限界、設計での閉じ込め方は <a href="/?p=47">LLMエージェントのセキュリティの記事</a> で解説しました。</p>



<p class="wp-block-paragraph">この記事で扱った権限の設計は、それと補い合う関係にあります。注入を完全に見抜くのは難しいからこそ、「仮に AI が操られても、できることが限られている」状態を作っておく。最小権限と人の承認は、注入が成功してしまったときの最後の歯止めになります。</p>



<h2 class="wp-block-heading"><span id="toc12">AIエージェントに権限を渡す鍵は次の3点です</span></h2>



<ol class="wp-block-list">
<li><strong>つなぐ先の認証を自分で確かめる</strong><br>ある調査では、見つかったリモート MCP サーバーの約 4 割が認証なしでした。使う前に認証の有無と提供元、更新の状況を確認しましょう。</li>



<li><strong>権限は AI の判断ではなく設計で絞る</strong><br>研究の評価では、低い権限で足りる場面でも高い権限のツールが選ばれることがよくありました。渡すツールと権限そのものを、業務に必要な最小限にしましょう。</li>



<li><strong>取り返しのつかない操作は人が承認する</strong><br>削除・送信・支払いなどは実行前に人が確認し、AI の操作の記録を残して見直しましょう。</li>
</ol>



<h2 class="wp-block-heading"><span id="toc13">まとめ：AIエージェントには「必要な分だけ」任せよう！</span></h2>



<p class="wp-block-paragraph">AI エージェントとツールの連携は、正しく設計すれば頼もしい存在です。ただし、研究からは、調査対象の MCP サーバーの一部が認証なしで公開され、認証のあるサーバーにも実装の欠陥が見つかったこと、そして評価では AI エージェントが必要以上に高い権限のツールを選ぶ傾向があったことが見えてきました。</p>



<p class="wp-block-paragraph">人の担当者に仕事を頼むときと同じように、「この仕事にはこの権限だけ」と範囲を決めて渡す。それが、便利さと安全を両立させる一番の近道です。まずは、いま AI につないでいるツールを一覧にして、使っていないもの・権限が強すぎるものがないか見直してみましょう！</p>



<h2 class="wp-block-heading"><span id="toc14">参考文献</span></h2>



<ul class="wp-block-list">
<li>Model Context Protocol「Specification（Version 2026-07-28）」（<a href="https://modelcontextprotocol.io/specification/2026-07-28">https://modelcontextprotocol.io/specification/2026-07-28</a>）2026-10-01 確認</li>



<li>Model Context Protocol「Authorization（Version 2026-07-28）」（<a href="https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization">https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization</a>）2026-10-01 確認</li>



<li>Model Context Protocol「Security Best Practices（Version 2026-07-28）」（<a href="https://modelcontextprotocol.io/docs/2026-07-28/tutorials/security/security_best_practices">https://modelcontextprotocol.io/docs/2026-07-28/tutorials/security/security_best_practices</a>）2026-10-01 確認</li>



<li>OWASP Gen AI Security Project「LLM06:2025 Excessive Agency」（<a href="https://genai.owasp.org/llmrisk/llm062025-excessive-agency/">https://genai.owasp.org/llmrisk/llm062025-excessive-agency/</a>）2026-10-01 確認</li>



<li>Huijun Zhou ほか「A First Measurement Study on Authentication Security in Real-World Remote MCP Servers」arXiv:2605.22333（<a href="https://arxiv.org/abs/2605.22333">https://arxiv.org/abs/2605.22333</a>）2026-10-01 確認</li>



<li>Nicolás Padilla「Exposed by Design: A Dynamic Security Assessment of Internet-Facing MCP Servers at Scale」arXiv:2608.00150（<a href="https://arxiv.org/abs/2608.00150">https://arxiv.org/abs/2608.00150</a>）2026-10-01 確認</li>



<li>Kaiyue Yang ほか「When Lower Privileges Suffice: Investigating Over-Privileged Tool Selection in LLM Agents」arXiv:2606.20023（<a href="https://arxiv.org/abs/2606.20023">https://arxiv.org/abs/2606.20023</a>）2026-10-01 確認</li>
</ul><p>The post <a href="https://kuebiko.blog/archives/157/">【AI×セキュリティ】AIエージェントとMCPの権限設計｜「つないだツールに、どこまで任せてよいか」を解く</a> first appeared on <a href="https://kuebiko.blog">クエビコ</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【2026年9月 急上昇ワード】エージェントのツール呼び出しの監査×論文4選｜「承認したはずの操作が裏で広がっていないか」を解く</title>
		<link>https://kuebiko.blog/archives/245/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=agent-tool-call-audit</link>
		
		<dc:creator><![CDATA[クエビコ]]></dc:creator>
		<pubDate>Sun, 04 Oct 2026 03:00:00 +0000</pubDate>
				<category><![CDATA[AIエージェント]]></category>
		<category><![CDATA[AIセキュリティ]]></category>
		<category><![CDATA[セキュリティ]]></category>
		<category><![CDATA[ツール呼び出し]]></category>
		<category><![CDATA[ログ]]></category>
		<category><![CDATA[個人情報]]></category>
		<category><![CDATA[急上昇ワード]]></category>
		<guid isPermaLink="false">https://blog.susanoo.mailsec-dev.com/?p=245</guid>

					<description><![CDATA[<p>AIエージェントに「明日の天気を調べて」「打ち合わせを予定表に入れて」と頼むと、エージェントは天気のサービスや予定表のサービスを呼び出して作業を進めます。利用者が確認するのは「天気を調べる」「予定を入れる」という操作の名 [&#8230;]</p>
<p>The post <a href="https://kuebiko.blog/archives/245/">【2026年9月 急上昇ワード】エージェントのツール呼び出しの監査×論文4選｜「承認したはずの操作が裏で広がっていないか」を解く</a> first appeared on <a href="https://kuebiko.blog">クエビコ</a>.</p>]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">AIエージェントに「明日の天気を調べて」「打ち合わせを予定表に入れて」と頼むと、エージェントは天気のサービスや予定表のサービスを呼び出して作業を進めます。利用者が確認するのは「天気を調べる」「予定を入れる」という操作の名前までで、その呼び出しに実際にどんなデータが添えられて外部に送られたのかまでは、ほとんど見ていないのではないでしょうか。</p>



<p class="wp-block-paragraph">もうひとつの心配は、作業の途中でエージェントの行動が変わってしまうことです。読み込んだWebページやメールに紛れ込んだ指示に引きずられ、頼んでいない送信や削除をしていたとしても、長い作業の記録から「どこで、何が起きたのか」を後から突き止めるのは簡単ではありません。いざというときに、その記録自体が正しいと言い切れるかどうかも気になるところです。</p>



<p class="wp-block-paragraph">当ブログ独自の arXiv 急上昇ワード集計では、「tool call（ツール呼び出し）」がセキュリティ分野（cs.CR）で伸びています。論文全体に占める割合は2026年1〜6月の0.9%から7〜9月は2.2%になり、平滑化した伸びは2.2倍です。ソフトウェア工学の分野でも同じく2.2倍でした。この記事では、個人情報保護委員会や OWASP などの資料で考え方を整理したうえで、論文4本から「承認した操作が裏で広がっていないか」を確かめる方法を読み解きます。結論を先に言うと、<strong>送る前にデータを削り、送った後は記録を読み返して変化点を探し、その記録を改ざんに気づける形で残す</strong>のが基本です！</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-6" checked><label class="toc-title" for="toc-checkbox-6">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ツール呼び出しで「裏で広がる」もの</a><ol><li><a href="#toc2" tabindex="0">公的な資料が求めていること</a></li></ol></li><li><a href="#toc3" tabindex="0">渡すデータの広がりを、送る前に削る</a><ol><li><a href="#toc4" tabindex="0">📄 論文: ツールに渡す個人情報を「必要な分だけ」に書き換える</a></li></ol></li><li><a href="#toc5" tabindex="0">行動の広がりを、記録から後で突き止める</a><ol><li><a href="#toc6" tabindex="0">📄 論文: 乗っ取られた作業記録に「一手ずつ」印をつけたデータ集</a></li><li><a href="#toc7" tabindex="0">📄 論文: どこから入り込み、どこまで汚れたかを一度に示す</a></li></ol></li><li><a href="#toc8" tabindex="0">記録そのものを守る</a><ol><li><a href="#toc9" tabindex="0">📄 論文: エージェントの作業に「フライトレコーダー」をつける</a></li></ol></li><li><a href="#toc10" tabindex="0">現場でやること</a><ol><li><a href="#toc11" tabindex="0">ツールごとに「本当に必要な項目」を決め、送る前に削る</a></li><li><a href="#toc12" tabindex="0">呼び出しの記録は「読み返せる形」で残す</a></li><li><a href="#toc13" tabindex="0">読み返すときは「どこから変わったか」を探す</a></li><li><a href="#toc14" tabindex="0">大事な記録は、改ざんに気づける形で残す</a></li></ol></li><li><a href="#toc15" tabindex="0">ツール呼び出しを監査する鍵は次の3点です</a></li><li><a href="#toc16" tabindex="0">まとめ：「承認した」で終わらせず、送る前と送った後を確かめよう！</a></li><li><a href="#toc17" tabindex="0">参考文献</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ツール呼び出しで「裏で広がる」もの</span></h2>



<p class="wp-block-paragraph">ツール呼び出しとは、エージェントが外部のサービスや社内のシステムを使うときに、宛先の機能と、そこに渡す値（引数）をまとめて送る仕組みです。どのツールを使わせるか、どの権限を持たせるかの設計は、近日公開予定の記事「AIエージェントとMCPの権限設計」で扱います。この記事では、権限の範囲内で許可した操作であっても、次の3つが知らないうちに広がりうる点に注目します。</p>



<ul class="wp-block-list">
<li><strong>渡すデータ</strong>: 操作に必要な分を超えて、個人情報などが外部のサービスに送られる</li>



<li><strong>行動</strong>: 途中で読んだデータに紛れ込んだ指示により、依頼と違う操作に切り替わる</li>



<li><strong>記録</strong>: 後から確かめるための記録が欠けたり、書き換えられたりする</li>
</ul>



<h3 class="wp-block-heading"><span id="toc2">公的な資料が求めていること</span></h3>



<p class="wp-block-paragraph">個人情報保護委員会は2023年6月の注意喚起で、事業者が生成AIサービスに個人情報を含む指示を入力する場合は、利用目的の達成に必要な範囲内であることを十分に確認するよう求めています（<a href="https://www.ppc.go.jp/files/pdf/230602_alert_generative_AI_service.pdf">個人情報保護委員会「生成AIサービスの利用に関する注意喚起等」</a>）。この注意喚起は生成AIサービスへの入力を対象にしたものですが、エージェントが自動で組み立てるツール呼び出しにも同じ考え方を当てはめる、というのがこの記事の立場です。</p>



<p class="wp-block-paragraph">OWASP の「Top 10 for LLM Applications 2025」は、エージェントに過大な機能や権限を与えるリスクを「過剰な自律性（Excessive Agency）」としてまとめ、防ぐ策として拡張機能とその権限を必要最小限に絞ることを挙げています。あわせて、それ自体では防げないものの被害を抑える策として、拡張機能と連携先のシステムの動きを記録・監視し、望ましくない操作が起きている場所を突き止めることも挙げています（<a href="https://genai.owasp.org/llmrisk/llm062025-excessive-agency/">OWASP「LLM06:2025 Excessive Agency」</a>）。</p>



<p class="wp-block-paragraph">経済産業省と総務省の「AI事業者ガイドライン（第1.2版）」も、検証可能性を確保するため、データの量や内容に照らして合理的な範囲で、開発過程、利用時の入出力、推論過程、判断根拠などのログを記録・保存し、事故の原因究明や再発防止に照らして記録の方法・頻度・保存期間を検討するよう求めています（<a href="https://www.meti.go.jp/shingikai/mono_info_service/ai_shakai_jisso/20260331_report.html">経済産業省・総務省「AI事業者ガイドライン（第1.2版）」</a>）。</p>



<h2 class="wp-block-heading"><span id="toc3">渡すデータの広がりを、送る前に削る</span></h2>



<h3 class="wp-block-heading"><span id="toc4">📄 論文: ツールに渡す個人情報を「必要な分だけ」に書き換える</span></h3>



<p class="wp-block-paragraph"><strong>ToolMinimize: Auditing and Rewriting LLM Agent Tool Calls to Minimize Privacy Exposure</strong>（Wenbiao Li ほか、2026年8月、<a href="https://arxiv.org/abs/2608.24957">arXiv:2608.24957</a>）は、査読前の論文（プレプリント）です。</p>



<p class="wp-block-paragraph">著者らはまず、天気の確認や予定の登録といった日常的な20の作業を GPT-4o、Claude 3.5 Sonnet、Llama-3.3-70B に実行させ、ツールに渡された値を調べました。この実験では、通常の設定でツール呼び出しの<strong>81〜88%</strong>に、そのツールには不要な個人情報が含まれていました。「個人情報は必要な分だけ渡すように」と明示的に指示しても、<strong>36〜76%</strong>は過剰なままで、指示がほとんど効かないモデルもありました。たとえば天気を調べるのに番地までの住所を送ってしまう、病院名のように病気を推測させる情報を添えてしまう、といった形です。</p>



<p class="wp-block-paragraph">そこで論文は、エージェントとツールの間に入って呼び出しを止め、各ツールの入力項目の定義をもとに「この項目は本当に必要か」を判断し、不要な項目を消す、住所を市の単位に丸める、といった書き換えをしてから送る仕組みを提案しています。可否の判断で止めてしまうのではなく、作業を続けられる形に直して送るのが特徴です。著者らが作った90の模擬シナリオ、外部の50シナリオ、実在する25の MCP サーバーの入力定義をそれぞれ評価し、送られる個人情報を大きく減らせたと報告しています。ただし論文の「作業を損なわない」という評価は、送る値の形式が正しく必要な項目が残っているかを見たもので、作業を最後までやり遂げられたかは別に確かめています。</p>



<p class="wp-block-paragraph">効果は、個人情報をどれだけ見逃さずに見つけられるかに左右されます。著者ら自身、見つけられなかった情報は書き換えられずにそのまま送られること、模擬の宛先で実際に動かした確認では、地図の作業で必要な住所まで削ってしまい、元と同じ結果にならない例があったことを限界として挙げています。運営者にとっての意味は、<strong>「指示で気をつけさせる」だけでは足りず、送る直前に機械的に削る層が有効</strong>だということです。</p>



<h2 class="wp-block-heading"><span id="toc5">行動の広がりを、記録から後で突き止める</span></h2>



<h3 class="wp-block-heading"><span id="toc6">📄 論文: 乗っ取られた作業記録に「一手ずつ」印をつけたデータ集</span></h3>



<p class="wp-block-paragraph"><strong>AgentDrift: A Step-Labeled Benchmark of Injection-Hijacked LLM Agent Trajectories</strong>（Asif Pinjari ほか、2026年9月、<a href="https://arxiv.org/abs/2609.06972">arXiv:2609.06972</a>）は、査読前の論文（プレプリント）です。</p>



<p class="wp-block-paragraph">エージェントが読んだデータに指示が紛れ込み（間接プロンプトインジェクション）、乗っ取られたときの作業記録は、正常な手順がしばらく続いたあと、攻撃者のための操作に切り替わる形になります。著者らは、メール、銀行、Web、コーディング、医療の5分野で、1つのモデルを使って合成した12,536件の作業記録を作り、すべての手順に「正常」「指示が入り込んだ地点」「乗っ取られた操作」「入り込んだが従わなかった」のいずれかの印をつけました。攻撃に見えるが正当な内容を含む紛らわしい記録も入れてあります。</p>



<p class="wp-block-paragraph">表面的な特徴だけで判定する単純な分類器を試すと、見つけられた攻撃は<strong>55.4%</strong>にとどまり、途中から一部だけ乗っ取られた型に限ると<strong>8.2%</strong>しか見つけられませんでした。記録全体の雰囲気ではなく、手順の並びを追わないと分からない攻撃が多いということです。</p>



<h3 class="wp-block-heading"><span id="toc7">📄 論文: どこから入り込み、どこまで汚れたかを一度に示す</span></h3>



<p class="wp-block-paragraph"><strong>DriftNet: A Dual-Head Trajectory Transformer for Detecting and Localizing Prompt Injection in LLM Agents</strong>（Asif Pinjari ほか、2026年9月、<a href="https://arxiv.org/abs/2609.10892">arXiv:2609.10892</a>）は、査読前の論文（プレプリント）で、同じ著者らによる上のデータ集の続編です。</p>



<p class="wp-block-paragraph">保存されたツール呼び出しの記録だけを読み、「この作業は乗っ取られたか」と「どの手順で入り込み、どの手順が汚れたか」を同時に答える小さなモデルを作りました。エージェント本体のモデルの中身にも、実行のやり直しにも頼らない、記録だけを使う方式です。</p>



<p class="wp-block-paragraph">AgentDrift のデータで評価したところ、攻撃が成功した記録の<strong>98.7%</strong>で入り込んだ地点を正確に言い当て、指示が入り込んだが従わなかった218件はひとつも誤って警告しませんでした。ただし、学習も評価も1つのモデルで合成した記録で行っており、実際のエージェントの記録で同じ精度が出るかは確かめていないと、著者ら自身が明記しています。データ集の側でも、同じ架空の環境から作られた記録は同じ分類に偏るという性質が測られており、その影響を除いた評価は今後の課題とされています。</p>



<p class="wp-block-paragraph">2本から言えるのは、<strong>「乗っ取られたかどうか」だけでなく、「どこから変わったか」と「攻撃が来たが防げたか」を分けて記録を読む</strong>ことが、調査と再発防止の役に立つということです。プロンプトインジェクションそのものの仕組みと対策は、<a href="/?p=47">LLMエージェントのセキュリティの記事</a>で解説しています。</p>



<h2 class="wp-block-heading"><span id="toc8">記録そのものを守る</span></h2>



<h3 class="wp-block-heading"><span id="toc9">📄 論文: エージェントの作業に「フライトレコーダー」をつける</span></h3>



<p class="wp-block-paragraph"><strong>A Black Box for Agentic Processes: Blockchain-Anchored Evidence for AI Agent Communication, Human Oversight, and GRC Audits</strong>（Arslan Brömme、2026年9月、<a href="https://arxiv.org/abs/2609.04017">arXiv:2609.04017</a>）は、単著の査読前の論文（プレプリント）です。設計の考え方を示す立場表明の論文で、性能や安全性を実験で確かめたものではありません。</p>



<p class="wp-block-paragraph">エージェント同士のやり取り、人による承認、ツール呼び出しの引数と結果といった記録から、内容を表す短い指紋（ハッシュ値）を作り、改ざんしにくい外部の台帳に時刻とともに固定しておく設計です。記録の中身は社内に置いたままにし、外に出すのは指紋だけにします。後から記録の指紋を計算し直して照らし合わせれば、固定した時点から書き換えられていないかを確かめられます（記録の取り漏れや出来事の順番までは、これだけでは分かりません）。たとえば「人の承認は、実行より前に得られていたか」「実行された引数は、承認された内容と一致するか」を検証できるようになります。</p>



<p class="wp-block-paragraph">一方で著者は、この仕組みが証明できるのは「その時点からこの記録が変わっていないこと」までで、記録の内容が正しいことや、記録を取る段階で漏れやすり替えがなかったことは証明できないと強調しています。出来事の順番を確かめるには別の仕組みが必要で、すべてを固定するのではなく、外部への送信や権限の変更、承認といった影響の大きい出来事を優先して選ぶよう勧めています。</p>



<h2 class="wp-block-heading"><span id="toc10">現場でやること</span></h2>



<h3 class="wp-block-heading"><span id="toc11">ツールごとに「本当に必要な項目」を決め、送る前に削る</span></h3>



<p class="wp-block-paragraph">つないでいるツールの入力項目を一覧にし、それぞれ「必ず要る」「あれば便利」「不要」を決めます。住所や日時の細かさなど、丸めてよい項目も決めておきます。そのうえで、エージェントの指示に頼らず、呼び出しの直前に不要な項目を削る処理を挟みます。</p>



<h3 class="wp-block-heading"><span id="toc12">呼び出しの記録は「読み返せる形」で残す</span></h3>



<p class="wp-block-paragraph">ツールの名前だけでなく、渡した引数、読み込んだデータ、返ってきた結果、人が承認した内容を、作業ごとに順番どおり残します。ただし記録自体が個人情報の置き場所になるので、保存先の権限と保存期間を決めておきます。</p>



<h3 class="wp-block-heading"><span id="toc13">読み返すときは「どこから変わったか」を探す</span></h3>



<p class="wp-block-paragraph">定期的な見直しや問題が起きたときは、承認した内容と実際に実行された引数を突き合わせ、依頼と関係のない宛先への送信や削除が、どの手順の後から始まったかを探します。直前に読み込んだデータが入り口の候補です。自動で判定する仕組みは研究段階なので、人が読む前提で記録を整えておきます。</p>



<h3 class="wp-block-heading"><span id="toc14">大事な記録は、改ざんに気づける形で残す</span></h3>



<p class="wp-block-paragraph">承認、外部への送信、権限の変更といった影響の大きい記録は、エージェントが書き換えられない別の保存先にも送り、ハッシュ値を残しておきます。ブロックチェーンを使わなくても、追記しかできない保存先を分けるだけで、後から書き換えに気づきやすくなります。</p>



<h2 class="wp-block-heading"><span id="toc15">ツール呼び出しを監査する鍵は次の3点です</span></h2>



<ol class="wp-block-list">
<li><strong>送るデータは、指示でなく仕組みで減らす</strong><br>ツールごとに必要な項目を決め、呼び出しの直前に不要な個人情報を削ったり丸めたりします。</li>



<li><strong>記録は「どこから変わったか」を追える形で残す</strong><br>引数・読んだデータ・結果・承認を順番どおりに残し、承認した内容と実行された内容を突き合わせます。</li>



<li><strong>大事な記録ほど、改ざんに気づける場所に置く</strong><br>影響の大きい出来事を選び、エージェントが書き換えられない保存先とハッシュ値で守ります。</li>
</ol>



<h2 class="wp-block-heading"><span id="toc16">まとめ：「承認した」で終わらせず、送る前と送った後を確かめよう！</span></h2>



<p class="wp-block-paragraph">ツール呼び出しの承認は、操作の名前に対して行われがちです。9月の論文からは、その裏で不要な個人情報が送られていることが珍しくないこと、乗っ取りは記録の手順を順に追わないと見落としやすいこと、そして記録そのものも守る対象であることが見えてきました。</p>



<p class="wp-block-paragraph">権限を絞って「できること」を決めたら、次は「実際に何が送られ、何が起きたか」を確かめる番です。送る前にデータを削り、送った後は記録を読み返し、その記録を改ざんに気づける形で残す。この3つを押さえれば、「承認したはずの操作が裏で広がっていないか」に、記録をもとに答えられるようになるはずです！</p>



<h2 class="wp-block-heading"><span id="toc17">参考文献</span></h2>



<ul class="wp-block-list">
<li>Wenbiao Li ほか「ToolMinimize: Auditing and Rewriting LLM Agent Tool Calls to Minimize Privacy Exposure」arXiv:2608.24957（<a href="https://arxiv.org/abs/2608.24957">https://arxiv.org/abs/2608.24957</a>）2026-10-02 確認</li>



<li>Asif Pinjari ほか「AgentDrift: A Step-Labeled Benchmark of Injection-Hijacked LLM Agent Trajectories」arXiv:2609.06972（<a href="https://arxiv.org/abs/2609.06972">https://arxiv.org/abs/2609.06972</a>）2026-10-02 確認</li>



<li>Asif Pinjari ほか「DriftNet: A Dual-Head Trajectory Transformer for Detecting and Localizing Prompt Injection in LLM Agents」arXiv:2609.10892（<a href="https://arxiv.org/abs/2609.10892">https://arxiv.org/abs/2609.10892</a>）2026-10-02 確認</li>



<li>Arslan Brömme「A Black Box for Agentic Processes: Blockchain-Anchored Evidence for AI Agent Communication, Human Oversight, and GRC Audits」arXiv:2609.04017（<a href="https://arxiv.org/abs/2609.04017">https://arxiv.org/abs/2609.04017</a>）2026-10-02 確認</li>



<li>個人情報保護委員会「生成AIサービスの利用に関する注意喚起等」（<a href="https://www.ppc.go.jp/files/pdf/230602_alert_generative_AI_service.pdf">https://www.ppc.go.jp/files/pdf/230602_alert_generative_AI_service.pdf</a>）2026-10-02 確認</li>



<li>OWASP「LLM06:2025 Excessive Agency」（<a href="https://genai.owasp.org/llmrisk/llm062025-excessive-agency/">https://genai.owasp.org/llmrisk/llm062025-excessive-agency/</a>）2026-10-02 確認</li>



<li>経済産業省・総務省「AI事業者ガイドライン（第1.2版）」（<a href="https://www.meti.go.jp/shingikai/mono_info_service/ai_shakai_jisso/20260331_report.html">https://www.meti.go.jp/shingikai/mono_info_service/ai_shakai_jisso/20260331_report.html</a>）2026-10-02 確認</li>
</ul><p>The post <a href="https://kuebiko.blog/archives/245/">【2026年9月 急上昇ワード】エージェントのツール呼び出しの監査×論文4選｜「承認したはずの操作が裏で広がっていないか」を解く</a> first appeared on <a href="https://kuebiko.blog">クエビコ</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【2026年9月 急上昇ワード】オープンウェイトモデルの安全性ギャップ×論文4選｜「OSSモデルに乗り換えたら安全性はどこまで落ちるのか」を解く</title>
		<link>https://kuebiko.blog/archives/243/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=open-weight-safety-gap</link>
		
		<dc:creator><![CDATA[クエビコ]]></dc:creator>
		<pubDate>Sat, 03 Oct 2026 03:00:00 +0000</pubDate>
				<category><![CDATA[AIセキュリティ]]></category>
		<category><![CDATA[AIエージェント]]></category>
		<category><![CDATA[LLM]]></category>
		<category><![CDATA[オープンウェイトモデル]]></category>
		<category><![CDATA[セキュリティ]]></category>
		<category><![CDATA[急上昇ワード]]></category>
		<guid isPermaLink="false">https://blog.susanoo.mailsec-dev.com/?p=243</guid>

					<description><![CDATA[<p>「顧客データを外部のAPIに送れないので、公開されているモデルを自社のサーバーで動かしたい」。セキュリティ要件や社内規程の都合で、こう考える組織が増えています。ところが検討を進めると、「有名な商用モデルと比べて、危ない依 [&#8230;]</p>
<p>The post <a href="https://kuebiko.blog/archives/243/">【2026年9月 急上昇ワード】オープンウェイトモデルの安全性ギャップ×論文4選｜「OSSモデルに乗り換えたら安全性はどこまで落ちるのか」を解く</a> first appeared on <a href="https://kuebiko.blog">クエビコ</a>.</p>]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">「顧客データを外部のAPIに送れないので、公開されているモデルを自社のサーバーで動かしたい」。セキュリティ要件や社内規程の都合で、こう考える組織が増えています。ところが検討を進めると、「有名な商用モデルと比べて、危ない依頼を断る力はどれくらい違うのか」「セキュリティの分析に使えるだけの実力はあるのか」という問いに、はっきり答えられる材料が意外と見つかりません。</p>



<p class="wp-block-paragraph">しかも、重みが手元にあるモデルは、攻撃者も同じように手元で改変できます。「中身が見えるから安心」なのか、「中身をいじられるから危ない」のか。両方の声を聞いて、判断に迷っている方も多いのではないでしょうか。</p>



<p class="wp-block-paragraph">当ブログ独自の arXiv 急上昇ワード集計では、「open-weight model（オープンウェイトモデル）」がセキュリティ分野（cs.CR）で急に伸びました。論文全体に占める割合は2026年1〜6月の0.4%から7〜9月は1.4%になり、平滑化した伸びは2.5倍です。ソフトウェア工学と自然言語処理の分野でも同時に伸びています。この記事では、米国商務省の電気通信情報局（NTIA）などの公的資料で前提を整理したうえで、9月に出た論文4本から「どこに差が出て、何で埋めるか」を読み解きます。結論を先に言うと、<strong>差は「オープンウェイトかどうか」よりもモデルの規模や世代で大きく変わるので、自分の用途で測り、足りない分はモデルの外側の仕組みで補う</strong>のが基本です！</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-8" checked><label class="toc-title" for="toc-checkbox-8">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">オープンウェイトモデルとは：「重みが手元にある」ことの意味</a><ol><li><a href="#toc2" tabindex="0">「オープンソース」と「オープンウェイト」は同じではない</a></li><li><a href="#toc3" tabindex="0">重みを公開すると何が変わるか</a></li><li><a href="#toc4" tabindex="0">自前で運用する側の心構え</a></li></ol></li><li><a href="#toc5" tabindex="0">研究で見る「安全性の差」はどこに出るか</a><ol><li><a href="#toc6" tabindex="0">📄 論文: 危ない依頼を「そのまま実行してしまう」割合</a></li><li><a href="#toc7" tabindex="0">📄 論文: セキュリティの分析に使ったときの実力差</a></li></ol></li><li><a href="#toc8" tabindex="0">研究で見る「重みが手元にある」ことの表と裏</a><ol><li><a href="#toc9" tabindex="0">📄 論文: 安全機能を外す改変を、重みの側で邪魔する</a></li><li><a href="#toc10" tabindex="0">📄 論文: 内部の状態を見て、攻撃を受けたことに気づく</a></li></ol></li><li><a href="#toc11" tabindex="0">現場でやること</a><ol><li><a href="#toc12" tabindex="0">自分の用途で、候補モデルを並べて測る</a></li><li><a href="#toc13" tabindex="0">足りない安全性は、モデルの外側で補う</a></li><li><a href="#toc14" tabindex="0">重みの入手元と中身を管理する</a></li><li><a href="#toc15" tabindex="0">見張る役割を自分で引き受ける</a></li></ol></li><li><a href="#toc16" tabindex="0">オープンウェイトモデルを安全に使う鍵は次の3点です</a></li><li><a href="#toc17" tabindex="0">まとめ：オープンウェイトは「差を測って、外側で埋める」前提で使おう！</a></li><li><a href="#toc18" tabindex="0">参考文献</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">オープンウェイトモデルとは：「重みが手元にある」ことの意味</span></h2>



<h3 class="wp-block-heading"><span id="toc2">「オープンソース」と「オープンウェイト」は同じではない</span></h3>



<p class="wp-block-paragraph">AIモデルの振る舞いは、学習で決まった膨大な数値（重み、パラメータ）で決まります。この重みを誰でもダウンロードできる形で公開したモデルを、一般に「オープンウェイトモデル」と呼びます。</p>



<p class="wp-block-paragraph">現場では「OSSモデル」とひとまとめに呼ばれがちですが、オープンソース・イニシアティブ（OSI）の「オープンソースAIの定義 1.0」は、重みなどのパラメータに加えて、学習と実行に使ったコードの全体と、同等のシステムを作り直せるだけの学習データの詳しい情報まで公開されていることを求めています（<a href="https://opensource.org/ai/open-source-ai-definition">Open Source Initiative「The Open Source AI Definition 1.0」</a>）。重みだけが公開されていても、この定義でいう「オープンソースAI」にはあたりません。この記事では、重みが手に入るかどうかに注目して「オープンウェイト」と呼びます。</p>



<h3 class="wp-block-heading"><span id="toc3">重みを公開すると何が変わるか</span></h3>



<p class="wp-block-paragraph">NTIA は2024年7月の報告書で、重みが広く公開されると次の3つが起きると整理しています（<a href="https://www.ntia.gov/sites/default/files/publications/ntia-ai-open-model-report.pdf">NTIA「Dual-Use Foundation Models with Widely Available Model Weights」</a>）。</p>



<ul class="wp-block-list">
<li>開発者の想定を超えて、誰でも追加学習などで手を加えられる。悪意のある人は追加学習で安全のための仕組みを外し、それを自由に配布できる</li>



<li>開発者は利用者の行動を見ることも、配布した重みを取り消すこともできなくなる</li>



<li>自分の計算機で動かせるので、開発者にデータを渡さずに使える。その一方で、利用や悪用を見張る力は API で提供されるモデルより弱くなる</li>
</ul>



<p class="wp-block-paragraph">自社運用を考える組織にとっては、3つ目が「データを外に出さずに済む」という最大の利点です。同時に、商用 API なら提供元も担っていた見張りの役割を、自分たちで引き受けることになる、とも読めます。</p>



<h3 class="wp-block-heading"><span id="toc4">自前で運用する側の心構え</span></h3>



<p class="wp-block-paragraph">米国国立標準技術研究所（NIST）の生成AI向けのリスク管理の手引きは、外部から取り入れる生成AIについて、オープンソースでも商用でも、調達時の確認や構成部品の一覧（SBOM）の要求など、既存のリスク管理の手順を当てはめられると書いています（<a href="https://nvlpubs.nist.gov/nistpubs/ai/NIST.AI.600-1.pdf">NIST「AI 600-1: Generative Artificial Intelligence Profile」</a>）。オープンウェイトだから特別な魔法が必要なわけではなく、「どこから入手し、どう確かめ、どう見張るか」を普段のソフトウェアと同じ目線で決めることが出発点になります。</p>



<h2 class="wp-block-heading"><span id="toc5">研究で見る「安全性の差」はどこに出るか</span></h2>



<h3 class="wp-block-heading"><span id="toc6">📄 論文: 危ない依頼を「そのまま実行してしまう」割合</span></h3>



<p class="wp-block-paragraph"><strong>AURA-Eval: Evaluation Framework for Acting Under Risk Awareness in LLM Agent Trajectories</strong>（Ruoxi Shang ほか、2026年9月、<a href="https://arxiv.org/abs/2609.06783">arXiv:2609.06783</a>）は、査読前の論文（プレプリント）です。</p>



<p class="wp-block-paragraph">既存の安全性ベンチマークから集めた157件のエージェントの作業記録をもとに、条件を少しずつ変えた1,249問を作り、20のモデルに「次に何をするか」を答えさせています。実際の環境で動かしたのではなく、途中までの作業記録を同じ条件で見せて、次の一手を比べる方式です。判定は複数のLLMによる採点を人が抜き取りで確かめています。</p>



<p class="wp-block-paragraph">問題には、安全なやり方で依頼をかなえられる場面と、そのまま実行すると危険でしかない場面の両方があります。危険な行動を取った割合は、Claude Opus 4.6 や GPT-5.4 などのフロンティアモデルが<strong>16.9〜23.6%</strong>だったのに対し、フロンティア級に分類された1モデルを除くオープンウェイトモデル（Llama、Qwen、Gemma など、いずれも700億パラメータ以下）は<strong>36.5〜52.0%</strong>でした。差が大きいのは「安全な道がない」場面で、フロンティアモデルは代わりの方法を提案することが多く、オープンウェイトモデルはリスクに気づかないまま実行する傾向が目立ちました。</p>



<p class="wp-block-paragraph">ただし、フロンティア級でありながら重みも公開されている GLM-5.1 は19.4%で、フロンティアモデルの群と同じ水準でした。また、実行前に人が確認する機会を減らしたり、影響の及ぶ範囲を広げたりした問題では、モデル全体として危険な行動が増えました。運営者にとっては、「オープンウェイトだから危ない」ではなく、<strong>選んだモデルの規模と世代、そして人の確認を挟めるかどうか</strong>で安全性が大きく動く、という結果として受け取るのがよさそうです。</p>



<h3 class="wp-block-heading"><span id="toc7">📄 論文: セキュリティの分析に使ったときの実力差</span></h3>



<p class="wp-block-paragraph"><strong>SCRIPTIOC-BENCH: A Benchmark for Recognizing Actionable Threat Intelligence from Script-Based Malware using LLMs</strong>（Hanna Kim ほか、2026年9月、<a href="https://arxiv.org/abs/2609.06149">arXiv:2609.06149</a>）は、査読前の論文（プレプリント）です。</p>



<p class="wp-block-paragraph">人の手で確認した実在の悪性スクリプト634件（Webページや Windows の自動処理で使われる3種類の言語で書かれたもの）を使い、スクリプトを実行せずに読むだけで、接続先のURLやドメイン、IPアドレス、作成されるファイルといった「侵害の痕跡（IOC）」をどこまで正しく取り出せるかを測っています。80億から4,800億パラメータのオープンウェイトモデルと、商用の上位モデルを同じ手順で比べました。</p>



<p class="wp-block-paragraph">最も成績のよい商用モデルでも、正確さと網羅性をまとめた指標（F1）は<strong>65.4</strong>止まりで、オープンウェイトの最上位は<strong>49.8</strong>でした。値が難読化されていて組み立て直す必要がある痕跡ほど、取りこぼしが増えます。一方で、80億パラメータの小さなモデルに文字列処理の道具を使わせることと、この作業向けの追加学習を組み合わせると、出した答えのうち正しいものの割合（適合率）が31%から48%に上がりました。</p>



<p class="wp-block-paragraph">自前で動かす小さなモデルを分析の補助に使う場合、<strong>そのままでは商用の上位モデルと差がある一方、道具と追加学習で差を縮められる</strong>ということです。いずれにしても、結果は人が確かめる前提で使うべき水準です。</p>



<h2 class="wp-block-heading"><span id="toc8">研究で見る「重みが手元にある」ことの表と裏</span></h2>



<h3 class="wp-block-heading"><span id="toc9">📄 論文: 安全機能を外す改変を、重みの側で邪魔する</span></h3>



<p class="wp-block-paragraph"><strong>Bait-and-Recover: Poisoning Internal Refusal Signals to Defend LLMs against White-Box Editing Jailbreaks</strong>（Tian Gao ほか、2026年9月、<a href="https://arxiv.org/abs/2609.05794">arXiv:2609.05794</a>）は、査読前の論文（プレプリント）です。</p>



<p class="wp-block-paragraph">重みが手元にあると、攻撃者はモデルの内部の計算を観察し、「断る」働きに関わる部分を探して重みを直接書き換えることができます。著者らによれば、この種の改変は追加学習よりはるかに安く、1台のGPUで数分で済み、普段の受け答えはほとんど変わりません。論文は、攻撃者が観察する場所にわざと紛らわしい信号を仕込み、すぐ後ろでその影響を打ち消すことで、正しい改変箇所を見つけにくくする防御を提案しています。</p>



<p class="wp-block-paragraph">Qwen3 と Gemma 3 の4つのモデル（10億〜120億パラメータ）で試したところ、普段の振る舞いをほとんど変えない範囲に改変を限った条件で、最も効いた改変に対しても危ない依頼を断れた割合（4モデルの平均）は<strong>16.25%から71.75%</strong>に上がり、一般的な性能評価への影響はわずかでした。ただし著者ら自身が、有害なデータを集めて追加学習する攻撃は防げないこと、改変の自由度を広げると突破されることを限界として挙げています。</p>



<p class="wp-block-paragraph">運営者にとっての意味は、<strong>一度配布された重みは、安全機能を外した版が作られうる前提で扱う</strong>ことです。入手元がはっきりしない「改良版」の重みを使わない理由が、ここにあります。</p>



<h3 class="wp-block-heading"><span id="toc10">📄 論文: 内部の状態を見て、攻撃を受けたことに気づく</span></h3>



<p class="wp-block-paragraph"><strong>MechAudit-40: White-Box Auditing across 40 LLM Attack Mechanisms</strong>（Zhen Guo ほか、2026年9月、<a href="https://arxiv.org/abs/2609.06612">arXiv:2609.06612</a>）は、査読前の論文（プレプリント）です。</p>



<p class="wp-block-paragraph">重みが手元にあることは、防御側にとっても利点になります。この論文は、30億〜200億パラメータの5つのオープンウェイトモデルに、8分類・40種類の攻撃を総当たりで試し、そのときのモデル内部の状態を記録して、攻撃を受けたときに共通して表れる変化があるかを調べました。</p>



<p class="wp-block-paragraph">この変化を手がかりに、モデルごとに正常時の状態で基準を合わせた監視の仕組みは、学習に使っていない種類の攻撃でも<strong>81.1%</strong>を、誤検知0.70%の設定で見つけました。一方で、内部の状態からは「攻撃が成功したかどうか」はほぼ見分けられませんでした。著者らは、警告を「攻撃にさらされた証拠」として扱い、「侵害された」という判定とはみなさないよう求めています。</p>



<p class="wp-block-paragraph">内部の状態を読む監視は、重みを自分で動かしているからこそ可能な手段です。ただし研究段階の仕組みで、運用にそのまま入れられる製品ではありません。<strong>警告を、ログの確認や処理の一時停止につなげる網のひとつ</strong>として位置づけるのが現実的です。</p>



<h2 class="wp-block-heading"><span id="toc11">現場でやること</span></h2>



<h3 class="wp-block-heading"><span id="toc12">自分の用途で、候補モデルを並べて測る</span></h3>



<p class="wp-block-paragraph">一般的なベンチマークの順位だけで選ばず、自社で実際に任せる作業を数十件ほど用意し、候補のオープンウェイトモデルと商用モデルを同じ条件で比べます。AURA-Eval の結果からは、「安全なやり方がある依頼」と「断るべき依頼」の両方を混ぜて試すことが大切だと分かります。前者だけで比べると、差が見えにくくなります。</p>



<h3 class="wp-block-heading"><span id="toc13">足りない安全性は、モデルの外側で補う</span></h3>



<p class="wp-block-paragraph">モデルが危ない依頼を見抜けなくても被害が出ないように、使えるツールや権限を絞り、取り消せない操作の前には人の承認を挟みます。AURA-Eval でも、承認の機会を減らすと危険な行動が増えました。エージェントに渡す権限の設計は、近日公開予定の記事「AIエージェントとMCPの権限設計」で詳しく扱います。プロンプトインジェクションへの備えは、<a href="/?p=47">LLMエージェントのセキュリティの記事</a>も参考にしてください。</p>



<h3 class="wp-block-heading"><span id="toc14">重みの入手元と中身を管理する</span></h3>



<p class="wp-block-paragraph">重みは開発元の公式な配布先から入手し、配布元が確認用のハッシュ値を示している場合は照らし合わせてから保存します。第三者が手を加えた版は、安全機能が外されていても見た目では分かりません。使う版とライセンス、入手日を記録し、ソフトウェアの部品と同じように一覧で管理しておくと、問題が見つかったときに差し替えやすくなります。</p>



<h3 class="wp-block-heading"><span id="toc15">見張る役割を自分で引き受ける</span></h3>



<p class="wp-block-paragraph">API なら提供元も担っていた利用状況の監視は、自前運用では自分たちの仕事になります。入力と出力、ツールの呼び出しを記録し、定期的に見直す仕組みを最初から用意しておきましょう。内部の状態を使った監視は、将来の選択肢として知っておく程度で十分です。</p>



<h2 class="wp-block-heading"><span id="toc16">オープンウェイトモデルを安全に使う鍵は次の3点です</span></h2>



<ol class="wp-block-list">
<li><strong>「オープンウェイトだから危ない」ではなく、規模と世代で測る</strong><br>差はモデルの規模や世代で大きく変わります。自分の用途と、断るべき依頼を混ぜた問題で、商用モデルと並べて確かめます。</li>



<li><strong>足りない分は、モデルの外側の権限と承認で補う</strong><br>モデルが見抜けなくても被害が出ないように、ツールと権限を絞り、重要な操作の前に人の確認を挟みます。</li>



<li><strong>重みは「改変されうる部品」として管理し、見張りは自分で担う</strong><br>公式の配布元から入手して版を記録し、利用の記録と見直しの仕組みを最初から組み込みます。</li>
</ol>



<h2 class="wp-block-heading"><span id="toc17">まとめ：オープンウェイトは「差を測って、外側で埋める」前提で使おう！</span></h2>



<p class="wp-block-paragraph">オープンウェイトモデルには、データを外に出さずに使えるという大きな利点があります。一方で、9月の論文からは、評価した中小規模のオープンウェイトモデルが、危ない依頼をそのまま実行しやすく、セキュリティの分析でも商用の上位モデルに届かない場面があることが見えてきました。ただしその差は、フロンティア級のオープンウェイトモデルでは小さく、道具や追加学習でも縮められます。</p>



<p class="wp-block-paragraph">重みが手元にあることは、攻撃者が安全機能を外せるという弱みであり、防御側が中を見て監視できるという強みでもあります。自分の用途で差を測り、権限と承認で外側を固め、重みと利用状況を自分で管理する。この3つを押さえれば、「乗り換えたら安全性はどこまで落ちるのか」という不安に、根拠を持って答えられるはずです！</p>



<h2 class="wp-block-heading"><span id="toc18">参考文献</span></h2>



<ul class="wp-block-list">
<li>Ruoxi Shang ほか「AURA-Eval: Evaluation Framework for Acting Under Risk Awareness in LLM Agent Trajectories」arXiv:2609.06783（<a href="https://arxiv.org/abs/2609.06783">https://arxiv.org/abs/2609.06783</a>）2026-10-02 確認</li>



<li>Hanna Kim ほか「SCRIPTIOC-BENCH: A Benchmark for Recognizing Actionable Threat Intelligence from Script-Based Malware using LLMs」arXiv:2609.06149（<a href="https://arxiv.org/abs/2609.06149">https://arxiv.org/abs/2609.06149</a>）2026-10-02 確認</li>



<li>Tian Gao ほか「Bait-and-Recover: Poisoning Internal Refusal Signals to Defend LLMs against White-Box Editing Jailbreaks」arXiv:2609.05794（<a href="https://arxiv.org/abs/2609.05794">https://arxiv.org/abs/2609.05794</a>）2026-10-02 確認</li>



<li>Zhen Guo ほか「MechAudit-40: White-Box Auditing across 40 LLM Attack Mechanisms」arXiv:2609.06612（<a href="https://arxiv.org/abs/2609.06612">https://arxiv.org/abs/2609.06612</a>）2026-10-02 確認</li>



<li>米国商務省 電気通信情報局（NTIA）「Dual-Use Foundation Models with Widely Available Model Weights」（<a href="https://www.ntia.gov/sites/default/files/publications/ntia-ai-open-model-report.pdf">https://www.ntia.gov/sites/default/files/publications/ntia-ai-open-model-report.pdf</a>）2026-10-02 確認</li>



<li>Open Source Initiative「The Open Source AI Definition 1.0」（<a href="https://opensource.org/ai/open-source-ai-definition">https://opensource.org/ai/open-source-ai-definition</a>）2026-10-02 確認</li>



<li>米国国立標準技術研究所（NIST）「AI 600-1: Artificial Intelligence Risk Management Framework: Generative Artificial Intelligence Profile」（<a href="https://nvlpubs.nist.gov/nistpubs/ai/NIST.AI.600-1.pdf">https://nvlpubs.nist.gov/nistpubs/ai/NIST.AI.600-1.pdf</a>）2026-10-02 確認</li>
</ul><p>The post <a href="https://kuebiko.blog/archives/243/">【2026年9月 急上昇ワード】オープンウェイトモデルの安全性ギャップ×論文4選｜「OSSモデルに乗り換えたら安全性はどこまで落ちるのか」を解く</a> first appeared on <a href="https://kuebiko.blog">クエビコ</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【週刊論文ウォッチ 9/21〜9/27】コーディングエージェントの続報と、今週の新語「音響グラウンディング」</title>
		<link>https://kuebiko.blog/archives/142/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%2590%25e9%2580%25b1%25e5%2588%258aarxiv%25e3%2582%25a6%25e3%2582%25a9%25e3%2583%2583%25e3%2583%2581-9-21%25e3%2580%259c9-27%25e3%2580%2591%25e3%2582%25b3%25e3%2583%25bc%25e3%2583%2587%25e3%2582%25a3%25e3%2583%25b3%25e3%2582%25b0%25e3%2582%25a8%25e3%2583%25bc%25e3%2582%25b8%25e3%2582%25a7%25e3%2583%25b3</link>
		
		<dc:creator><![CDATA[クエビコ]]></dc:creator>
		<pubDate>Mon, 28 Sep 2026 21:00:00 +0000</pubDate>
				<category><![CDATA[AIエージェント]]></category>
		<category><![CDATA[AIニュース]]></category>
		<category><![CDATA[論文解説]]></category>
		<category><![CDATA[LLM]]></category>
		<category><![CDATA[コード生成]]></category>
		<category><![CDATA[ハルシネーション]]></category>
		<category><![CDATA[論文]]></category>
		<category><![CDATA[週刊論文ウォッチ]]></category>
		<guid isPermaLink="false">https://blog.susanoo.mailsec-dev.com/?p=142</guid>

					<description><![CDATA[<p>毎週、arXiv の cs.SE（ソフトウェア工学）・cs.CR（セキュリティ）・cs.CL（自然言語処理）に投稿された論文をすべて読み、2 つの観点で拾います。1 つは、月次の「急上昇ワード」で取り上げたテーマのその後 [&#8230;]</p>
<p>The post <a href="https://kuebiko.blog/archives/142/">【週刊論文ウォッチ 9/21〜9/27】コーディングエージェントの続報と、今週の新語「音響グラウンディング」</a> first appeared on <a href="https://kuebiko.blog">クエビコ</a>.</p>]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">毎週、arXiv の cs.SE（ソフトウェア工学）・cs.CR（セキュリティ）・cs.CL（自然言語処理）に投稿された論文をすべて読み、2 つの観点で拾います。1 つは、月次の「急上昇ワード」で取り上げたテーマのその後。もう 1 つは、これまで 1 年以上出てこなかったのに、今週いくつもの論文タイトルに現れた「新語」です。</p>



<p class="wp-block-paragraph">今週の対象は 704 本（主分野で数えて cs.CL 409 本・cs.CR 184 本・cs.SE 111 本）でした。</p>



<hr class="wp-block-separator has-alpha-channel-opacity" />




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-10" checked><label class="toc-title" for="toc-checkbox-10">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">🔁 急上昇テーマの続報：コーディングエージェント（今週 22 本）</a><ol><li><a href="#toc2" tabindex="0">AIだけで書かれた2万行のコードベースは、どれだけ間違っているか</a></li><li><a href="#toc3" tabindex="0">マージ後もエージェントは「自分の尻拭い」をしている</a></li><li><a href="#toc4" tabindex="0">コストがかさむのは「同じ調べ物・同じスクリプト・同じテスト」の繰り返し</a></li></ol></li><li><a href="#toc5" tabindex="0">🆕 今週の新語</a><ol><li><a href="#toc6" tabindex="0">acoustic grounding（音響グラウンディング）— 2 本</a></li><li><a href="#toc7" tabindex="0">synthetic research（LLMによる合成調査研究）— 2 本</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">🔁 急上昇テーマの続報：コーディングエージェント（今週 22 本）</span></h2>



<p class="wp-block-paragraph">月次の急上昇ランキングでは、コーディングエージェントは直近 3 か月で cs.SE 1.9 倍・cs.CR 2.6 倍・cs.CL 2.1 倍と、3 分野そろって伸びているテーマです。今週は、実際にどれだけ信頼できてどれだけコストがかかるかを数字で示した論文が目立ちました。実務に効きそうな 3 本を紹介します。</p>



<h3 class="wp-block-heading"><span id="toc2">AIだけで書かれた2万行のコードベースは、どれだけ間違っているか</span></h3>



<p class="wp-block-paragraph"><strong>Between the Commits: Process, Error, and Claim Reliability in a Wholly AI-Authored Codebase</strong>（<a href="https://arxiv.org/abs/2609.29744">arXiv:2609.29744</a>）</p>



<p class="wp-block-paragraph">人間のコードやテストを一切含まない、Claude だけで書かれた 2 万 1000 行の Python ツールの開発履歴を分析した研究です。</p>



<ul class="wp-block-list">
<li>AIによるコード生成イベントのうち 14.3% は、AI 自身が書いたテストスイートに後から捕まる本物のエラーを含んでいた</li>



<li>AI の対話的な応答のうち 4〜5 件に 1 件は、何らかの事実誤認を含んでいた（設計の修正案を除いて数えた値。含めると約 3 割）</li>
</ul>



<h3 class="wp-block-heading"><span id="toc3">マージ後もエージェントは「自分の尻拭い」をしている</span></h3>



<p class="wp-block-paragraph"><strong>Who Finishes the Job? A Study of Follow-Up Fixes and Commit Authorship on AI Coding Agent Pull Requests</strong>（<a href="https://arxiv.org/abs/2609.26847">arXiv:2609.26847</a>）</p>



<p class="wp-block-paragraph">OpenAI Codex・GitHub Copilot・Devin・Cursor・Claude Code の 5 つのコーディングエージェントによるマージ済み PR 6,774 件を追跡し、同じリポジトリの人間の PR 5,044 件と比較した研究です。</p>



<ul class="wp-block-list">
<li>マージされたエージェントの PR は、同じ期間・同じリポジトリの人間の PR に比べて、あとから検証済みの修正を受けるオッズが 1.62 倍だった</li>



<li>エージェントの PR が受けた検証済みの修正のうち 69.6% は同じエージェント自身が行っており、エージェントが作った修正 PR（Codex を除く）の 76.4% はコミットのすべてがエージェント作成だった</li>
</ul>



<h3 class="wp-block-heading"><span id="toc4">コストがかさむのは「同じ調べ物・同じスクリプト・同じテスト」の繰り返し</span></h3>



<p class="wp-block-paragraph"><strong>Analyzing and Mitigating Cost-Inefficient Behaviors in Coding Agents</strong>（<a href="https://arxiv.org/abs/2609.30725">arXiv:2609.30725</a>）</p>



<p class="wp-block-paragraph">Claude Code と Mini-SWE-Agent による SWE-bench Verified 上の 1,200 トラジェクトリを分析した研究です。</p>



<ul class="wp-block-list">
<li>「同じ情報を何度も探し直す」「似たスクリプトを何度も書く」「テストを何度も再実行する」という 3 つの非効率な振る舞いが、タスクの 79.00%〜98.00% で見られ、タスクコストの最大 22.75% を占めていた</li>



<li>開発者が設計したスキルを与えるとコストを最大 41.73% 削減でき、これはエージェント自身が生成したスキルの最大の削減幅（22.32%）のおよそ 2 倍だった</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity" />



<h2 class="wp-block-heading"><span id="toc5">🆕 今週の新語</span></h2>



<p class="wp-block-paragraph">過去 13 か月の論文には一度も出てこず、今週は複数の論文タイトルに現れた語です。</p>



<h3 class="wp-block-heading"><span id="toc6">acoustic grounding（音響グラウンディング）— 2 本</span></h3>



<ul class="wp-block-list">
<li>音声認識モデルは、音声が入っていない・弱い・不明瞭な入力に対して、実際には支持されないテキストを生成してしまうことがあります。デコーダのクロスアテンションに小さな編集を加える手法で、非音声入力での幻覚率を 89.18% から 1.94% まで下げました（Whisper-Large-v3 と環境音データ UrbanSound8K での値）（<a href="https://arxiv.org/abs/2609.23979">arXiv:2609.23979</a>）</li>



<li>音声言語モデルは、音声そのものより「テキストとして予測しやすいか」に頼って答えてしまうことがあります。音声の有無で教師モデルの予測がどれだけ変わるかを報酬にして蒸留する手法を提案し、3B モデルで音声理解ベンチマーク MMAU の 72.72% という、比較した 3B モデルの中で最高の精度を達成しました（<a href="https://arxiv.org/abs/2609.28778">arXiv:2609.28778</a>）</li>
</ul>



<h3 class="wp-block-heading"><span id="toc7">synthetic research（LLMによる合成調査研究）— 2 本</span></h3>



<ul class="wp-block-list">
<li>LLM で作った「合成回答者」を人間の調査の代わりに使う研究が増えていますが、今の検証の多くは、意思決定者が本当に知りたい「実際の行動」ではなく別のものを測っていると指摘しています。そのうえで、属性ごと（サブグループごと）に妥当性を報告することと、同じ人物像で条件だけを変える反実仮想実験を検証の要件にする枠組みを提案しています（<a href="https://arxiv.org/abs/2609.27690">arXiv:2609.27690</a>）</li>



<li>もう 1 本は、9 つの言語モデルと 20 の人間データを比較する 11 種類のテストからなるベンチマークを提示し、内的妥当性・構成概念妥当性・外的妥当性のうち 1 つの観点で成績が良くても、ほかの観点で人間を再現できる裏付けにはならないことを示しました（<a href="https://arxiv.org/abs/2609.30030">arXiv:2609.30030</a>）</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity" />



<details class="wp-block-details is-layout-flow wp-block-details-is-layout-flow"><summary>集計方法について</summary>
<ul class="wp-block-list">
<li>対象: arXiv cs.SE / cs.CR / cs.CL に 2026-09-21〜09-27 に投稿された論文すべて（704 本）</li>



<li>続報: 月次の急上昇ワード（直近 3 か月）と記事化済みのテーマについて、タイトルかアブストラクトでその語に触れた論文を拾う</li>



<li>新語: 過去 13 か月の論文（月 250〜300 本の抽出）に一度も出てこず、今週 2 本以上の論文タイトルに現れた語</li>



<li>語の抽出は自動のため、表記ゆれや取りこぼしがあります</li>
</ul>
</details>



<p class="wp-block-paragraph">2026-10-01 更新: エージェントの PR の修正を誰が書いたかの研究で、76.4% の母数の記述の誤りを修正しました</p><p>The post <a href="https://kuebiko.blog/archives/142/">【週刊論文ウォッチ 9/21〜9/27】コーディングエージェントの続報と、今週の新語「音響グラウンディング」</a> first appeared on <a href="https://kuebiko.blog">クエビコ</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【2026年最新】マルチエージェントの協調×論文4選｜「エージェントを増やしたのに精度が上がらない」を解く</title>
		<link>https://kuebiko.blog/archives/54/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%25902026%25e5%25b9%25b4%25e6%259c%2580%25e6%2596%25b0%25e3%2580%2591%25e3%2583%259e%25e3%2583%25ab%25e3%2583%2581%25e3%2582%25a8%25e3%2583%25bc%25e3%2582%25b8%25e3%2582%25a7%25e3%2583%25b3%25e3%2583%2588%25e3%2581%25ae%25e5%258d%2594%25e8%25aa%25bfxarxiv%25e8%25ab%2596%25e6%2596%25874%25e9%2581%25b8</link>
		
		<dc:creator><![CDATA[クエビコ]]></dc:creator>
		<pubDate>Fri, 25 Sep 2026 23:00:00 +0000</pubDate>
				<category><![CDATA[AIエージェント]]></category>
		<category><![CDATA[AIニュース]]></category>
		<category><![CDATA[マルチエージェント]]></category>
		<category><![CDATA[論文解説]]></category>
		<category><![CDATA[LLM]]></category>
		<category><![CDATA[論文]]></category>
		<guid isPermaLink="false">https://blog.susanoo.mailsec-dev.com/?p=54</guid>

					<description><![CDATA[<p>計画役・実行役・レビュー役のように、複数のAIエージェントに役割を分担させる「マルチエージェント」構成が人気を集めています。人間のチームのように分業させれば、より難しい仕事もこなせるはずだという期待があります。 ところが [&#8230;]</p>
<p>The post <a href="https://kuebiko.blog/archives/54/">【2026年最新】マルチエージェントの協調×論文4選｜「エージェントを増やしたのに精度が上がらない」を解く</a> first appeared on <a href="https://kuebiko.blog">クエビコ</a>.</p>]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">計画役・実行役・レビュー役のように、複数のAIエージェントに役割を分担させる<strong>「マルチエージェント」</strong>構成が人気を集めています。人間のチームのように分業させれば、より難しい仕事もこなせるはずだという期待があります。</p>



<p class="wp-block-paragraph">ところが現場では、「エージェントを増やしたのに成果がほとんど変わらない」「どこで失敗したのか追いかけられない」「APIの呼び出し回数だけが増えて費用がかさむ」といった声がよく聞かれます。</p>



<p class="wp-block-paragraph">この記事では、各社の公式ドキュメントやエンジニアリングブログをもとにマルチエージェントの基本と使いどころを整理し、「なぜ失敗するのか、本当に単体より良いのか」を扱った論文4本を紹介します。結論を先に言うと、<strong>まず強い単体エージェントを作り、増やすときは同じコストで比べ、協力の手順と失敗の記録を設計に組み込む</strong>のが基本です！</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-12" checked><label class="toc-title" for="toc-checkbox-12">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">マルチエージェントとは何か：複数のエージェントで仕事を分ける構成</a><ol><li><a href="#toc2" tabindex="0">エージェントと「複数のエージェント」</a></li><li><a href="#toc3" tabindex="0">よくある3つの構成</a></li></ol></li><li><a href="#toc4" tabindex="0">単一エージェントとの使い分けとコスト</a><ol><li><a href="#toc5" tabindex="0">各社とも「まず単体」を勧めている</a></li><li><a href="#toc6" tabindex="0">増やすほどトークンが増える</a></li></ol></li><li><a href="#toc7" tabindex="0">研究で見る「なぜ失敗し、どこで失敗したか」</a><ol><li><a href="#toc8" tabindex="0">📄 論文: 失敗は「設計」「すれ違い」「検証不足」の3系統に分かれる</a></li><li><a href="#toc9" tabindex="0">📄 論文: どのエージェントのどのステップが悪かったかは、自動ではまだ特定しにくい</a></li></ol></li><li><a href="#toc10" tabindex="0">研究で見る「協力するか、本当に単体より良いか」</a><ol><li><a href="#toc11" tabindex="0">📄 論文: 賢いモデルほど協力的とは限らない</a></li><li><a href="#toc12" tabindex="0">📄 論文: 最適化の予算を揃えると、チームは単体を有意に上回れなかった</a></li></ol></li><li><a href="#toc13" tabindex="0">現場でやること</a><ol><li><a href="#toc14" tabindex="0">まず「強い単体エージェント」を基準線にする</a></li><li><a href="#toc15" tabindex="0">増やすときは、同じ呼び出し回数・トークン数で比べる</a></li><li><a href="#toc16" tabindex="0">受け渡しの手順を明文化する</a></li><li><a href="#toc17" tabindex="0">実行記録を残し、失敗の型で読む</a></li></ol></li><li><a href="#toc18" tabindex="0">マルチエージェント導入の鍵は次の3点です</a></li><li><a href="#toc19" tabindex="0">まとめ：マルチエージェントは「増やせば強い」から「必要なときだけ、設計して使う」へ！</a></li><li><a href="#toc20" tabindex="0">参考文献</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">マルチエージェントとは何か：複数のエージェントで仕事を分ける構成</span></h2>



<h3 class="wp-block-heading"><span id="toc2">エージェントと「複数のエージェント」</span></h3>



<p class="wp-block-paragraph">Anthropic は、エージェントを「LLMがツールを使いながら、自分で手順を決めて繰り返し動くもの」と説明し、マルチエージェントを「そうしたエージェントが複数で協力して動くシステム」と定義しています。同社はあわせて、あらかじめコードで決めた経路でLLMを呼ぶ「ワークフロー」と、LLM自身が進め方を決める「エージェント」を区別しています（<a href="https://www.anthropic.com/engineering/multi-agent-research-system">Anthropic「How we built our multi-agent research system」</a>、<a href="https://www.anthropic.com/engineering/building-effective-agents">Anthropic「Building effective agents」</a>）。</p>



<h3 class="wp-block-heading"><span id="toc3">よくある3つの構成</span></h3>



<p class="wp-block-paragraph">各社の資料に出てくる構成は、おおむね次の3つに整理できます。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>構成</th><th>仕組み</th><th>各社の資料での呼び名</th></tr></thead><tbody><tr><td>役割分担型</td><td>決まった順に作業を受け渡す、または得意な相手に仕事を引き継ぐ</td><td>逐次（sequential）、引き継ぎ（handoff）、分散型</td></tr><tr><td>オーケストレーター型</td><td>中心のエージェントが仕事を分けて配り、結果をまとめる</td><td>orchestrator-workers、マネージャー型</td></tr><tr><td>議論型</td><td>複数のエージェントが同じ会話に参加し、提案と検証を繰り返す</td><td>グループチャット、作成者と確認者のループ</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">OpenAI のガイドは、中心の「マネージャー」が専門エージェントをツールとして呼ぶ型と、対等なエージェント同士が仕事を引き継ぐ分散型の2つを挙げています（<a href="https://cdn.openai.com/business-guides-and-resources/a-practical-guide-to-building-agents.pdf">OpenAI「A practical guide to building agents」</a>）。Anthropic の調査機能は、主役のエージェントが計画を立て、3〜5体の下位エージェントを並行して走らせるオーケストレーター型です。Microsoft の設計ガイドは、議論型（グループチャット）には別名として「マルチエージェント・ディベート」もあると説明し、会話の制御を保つために参加するエージェントを3体以下に抑えることを勧めています（<a href="https://learn.microsoft.com/en-us/azure/architecture/ai-ml/guide/ai-agent-design-patterns">Microsoft「AI agent orchestration patterns」</a>）。</p>



<h2 class="wp-block-heading"><span id="toc4">単一エージェントとの使い分けとコスト</span></h2>



<h3 class="wp-block-heading"><span id="toc5">各社とも「まず単体」を勧めている</span></h3>



<p class="wp-block-paragraph">OpenAI のガイドの基本方針は、<strong>まず単体のエージェントの能力を最大限に引き出す</strong>ことです。分けるのは、条件分岐の多い複雑な指示を扱いきれないときや、似たツールが多すぎて選び間違えるときとしています。Microsoft も、ツールを持つ単体のエージェントを「企業での用途では多くの場合、妥当な既定の選択」とし、複数にするのは単体では確実に処理できない理由があるときだと書いています。Anthropic も、必要になるまで複雑にしないよう勧めています。単体のエージェントの作り込みは<a href="/?p=113">エージェント・ハーネスの記事</a>で扱っています。</p>



<h3 class="wp-block-heading"><span id="toc6">増やすほどトークンが増える</span></h3>



<p class="wp-block-paragraph">Anthropic の社内データでは、エージェントは通常のチャットのおよそ4倍、マルチエージェントはおよそ15倍のトークンを使います。同社の社内評価では、マルチエージェント構成が単体の Claude Opus 4 を90.2%上回った一方、Web閲覧の評価（BrowseComp）で成績のばらつきの80%はトークンの使用量だけで説明できたとも述べています。つまり、性能の上積みの多くは「多くの計算を使えたこと」から来ている可能性があります。同社は、並行して進められ、価値が費用に見合う調査のような仕事に向き、多くのコーディング作業のように依存関係の多い仕事には今のところ向かないとしています（<a href="https://www.anthropic.com/engineering/multi-agent-research-system">Anthropic「How we built our multi-agent research system」</a>）。Microsoft も、エージェントごとに作業の難しさに合ったモデルを割り当てることを勧めています。モデルの使い分けによる費用の下げ方は<a href="/?p=41">推論コストの記事</a>で詳しく扱っています。</p>



<h2 class="wp-block-heading"><span id="toc7">研究で見る「なぜ失敗し、どこで失敗したか」</span></h2>



<h3 class="wp-block-heading"><span id="toc8">📄 論文: 失敗は「設計」「すれ違い」「検証不足」の3系統に分かれる</span></h3>



<p class="wp-block-paragraph"><strong>Why Do Multi-Agent LLM Systems Fail?</strong>（Mert Cemri ほか、2025年3月投稿・10月改訂、<a href="https://arxiv.org/abs/2503.13657">arXiv:2503.13657</a>）は、査読前の論文（プレプリント）です。</p>



<p class="wp-block-paragraph">対象は、公開されている7つのマルチエージェントの枠組み（MetaGPT、ChatDev など）を、プログラミング・数学・汎用タスクで動かした実行記録です。まず専門家が150件超の記録を読んで失敗の型を洗い出し、3人の注釈者で定義を詰めて一致度（κ=0.88）を確かめました。そのうえでLLMを使った自動分類で、<strong>1,642件</strong>の記録に失敗の型を付けています。</p>



<p class="wp-block-paragraph">結果、失敗は14の型に分かれ、「システム設計の問題（指示や役割に従わない、同じ手順の繰り返しなど）」「エージェント間のすれ違い（確認せずに思い込みで進む、情報を渡さないなど）」「タスクの検証（早すぎる終了、検証の不足や誤り）」の3系統にまとまりました。検証役を持つ枠組みは失敗が少ない傾向がありましたが、検証役がいてもコンパイルが通るかだけを見るような表面的な確認にとどまる例も多く見られました。付録では役割の指示や構成を見直す改善も試していますが、ChatDev での改善は大きなものではなかったと著者ら自身が述べています。</p>



<p class="wp-block-paragraph">運営者にとっての意味は、失敗を「モデルが弱いから」で片付けず、設計・受け渡し・検証のどこで起きたかを分けて見られるということです。</p>



<h3 class="wp-block-heading"><span id="toc9">📄 論文: どのエージェントのどのステップが悪かったかは、自動ではまだ特定しにくい</span></h3>



<p class="wp-block-paragraph"><strong>Which Agent Causes Task Failures and When? On Automated Failure Attribution of LLM Multi-Agent Systems</strong>（Shaokun Zhang ほか、2025年4月投稿・6月改訂、<a href="https://arxiv.org/abs/2505.00212">arXiv:2505.00212</a>）は、査読前の論文（プレプリント）です。</p>



<p class="wp-block-paragraph">対象は、Web検索などを伴う質問集（GAIA、AssistantBench）を解かせた127のマルチエージェントシステムの失敗記録です。自動生成した構成（GPT-4o で動作）と、人が作り込んだ構成（Magentic-One）の両方を含みます。人が「原因のエージェント」と「決定的な誤りのステップ」を注釈したデータセット（Who&amp;When）を作り、主に GPT-4o に記録を読ませて当てさせました。</p>



<p class="wp-block-paragraph">記録を一度に全部読ませる方法は、原因のエージェントを当てるのが最も得意で、正答率は<strong>平均53.5%</strong>でした。一方、誤りのステップを当てるのは1ステップずつ判定させる方法が最も得意でしたが、それでも<strong>平均14.2%</strong>にとどまりました。どちらも GPT-4o での、正解の有無と構成の種類をまたいだ4条件の平均です。ランダムより平均で悪かったのは、一度に全部読ませる方法でステップを当てる場合で、エージェントを当てる場合はどの方法もランダムを上回っています。人が作り込んだ構成の記録で OpenAI o1 や DeepSeek R1 に替えて試しても、GPT-4o を一貫して上回ることはありませんでした。</p>



<p class="wp-block-paragraph">運営者にとっての意味は、失敗の原因探しをまだAIに任せきれないということです。人が後から追えるよう、記録の残し方を最初から決めておく必要があります。</p>



<h2 class="wp-block-heading"><span id="toc10">研究で見る「協力するか、本当に単体より良いか」</span></h2>



<h3 class="wp-block-heading"><span id="toc11">📄 論文: 賢いモデルほど協力的とは限らない</span></h3>



<p class="wp-block-paragraph"><strong>More Capable, Less Cooperative? When LLMs Fail At Zero-Cost Collaboration</strong>（Advait Yadav ほか、2026年4月投稿・6月改訂、<a href="https://arxiv.org/abs/2604.07821">arXiv:2604.07821</a>）は、ICML 2026 採録（abs のコメント欄の記載）です。</p>



<p class="wp-block-paragraph">対象は、実際の業務ではなく著者らが作った模擬環境です。10体のエージェント（すべて同じモデル）が20ラウンドにわたり、他のエージェントが持つ情報を集めてタスクを完了させます。情報を渡しても渡した側は何も失わず、全員に「システム全体の収益を最大化し、協力せよ」と同じ指示を与えています。8つのLLMで各5回ずつ試しました。</p>



<p class="wp-block-paragraph">最適な動きをした場合と比べると、OpenAI o3 は<strong>17%</strong>しか達成できず、より小型の o3-mini は50%に達しました。一般的な性能の高さと、この環境での成果には相関が見られませんでした。一部のモデルは、渡しても損をしないのに、求められた情報を渡しませんでした。対策の効き方はモデルで分かれ、「必要な情報を求め、求められたら渡し、そろったらすぐ提出する」という手順を明示すると、手際の悪さで失敗していたモデルの一部は成果が<strong>およそ2倍</strong>になりました。協力しないことで失敗していたモデルには、情報を渡すたびの小さな報酬が効きました。</p>



<p class="wp-block-paragraph">運営者にとっての意味は、「賢いモデルなら自然に協力する」とは考えず、誰が何をいつ渡すかを手順として書いておく必要があるということです。</p>



<h3 class="wp-block-heading"><span id="toc12">📄 論文: 最適化の予算を揃えると、チームは単体を有意に上回れなかった</span></h3>



<p class="wp-block-paragraph"><strong>At Equal Inference Cost, Multi-Agent Structure Does Not Beat a Single Frozen Agent</strong>（David Dylan ほか、2026年6月、<a href="https://arxiv.org/abs/2609.04217">arXiv:2609.04217</a>）は、査読前の論文（プレプリント）です。</p>



<p class="wp-block-paragraph">対象は、家庭内の作業をこなすテキストの仮想環境（ALFWorld、評価用134タスク）と、模擬的なネット通販の環境（WebShop、80セッション）です。すべての役割で同じ Qwen2.5-7B を固定して使い、プロンプトだけを最適化しました。多くの比較ではチームの方が1ステップあたり多くのモデル呼び出しを使えるため、この論文はプロンプトを最適化する段階で使えるLLMの呼び出し総数を揃えて、計画役・実行役・批評役のチームと単体のエージェントを比べています。最適化後の評価での呼び出し回数は揃えていません。評価は条件ごとに1回です。</p>



<p class="wp-block-paragraph">ALFWorld では、チームの平均が最も高かったものの、単体との差は統計的に有意ではありませんでした（<strong>0.769対0.754</strong>、p=0.80）。しかも評価での1タスクあたりの呼び出し回数は、チームが単体の<strong>1.8倍</strong>でした。最適化の段階でチームに2〜3倍の呼び出しを許しても、チームは単体と並ぶだけでした。WebShop ではプロンプト最適化の効果自体が見られず、チームはむしろ悪化する傾向でした（有意差はなし）。計画役と批評役のプロンプトは最適化しても空のままで、成績の上積みにつながっていませんでした。著者ら自身、7Bモデル1種類・1つの構成での結果で、大きなモデルや役割ごとに違うモデルを使う場合に当てはまるとは主張しないと述べています。また、表の一部の行は検定の値が空欄で、一部の実験はエラーで完了しなかったと著者ら自身が書いています。</p>



<p class="wp-block-paragraph">運営者にとっての意味は、「チームにしたら良くなった」という結果を見たら、まず同じ呼び出し回数の単体と比べたかを確かめるべきだということです。</p>



<h2 class="wp-block-heading"><span id="toc13">現場でやること</span></h2>



<h3 class="wp-block-heading"><span id="toc14">まず「強い単体エージェント」を基準線にする</span></h3>



<p class="wp-block-paragraph">いきなり複数にせず、ツールと指示を整えた単体のエージェントで、どこまでできるかを測ります。この成績と費用が、後でチームを評価するときの基準線になります。</p>



<h3 class="wp-block-heading"><span id="toc15">増やすときは、同じ呼び出し回数・トークン数で比べる</span></h3>



<p class="wp-block-paragraph">以下は論文の条件ではなく、運用上の提案です。チームを試すときは、成績と一緒に本番でのLLMの呼び出し回数とトークン数を記録します。4本目の論文のように、作る段階の予算を揃えても、本番ではチームの方が多く呼び出すことがあるためです。単体にも同じ回数を使わせて（たとえば複数回答えさせて選ぶなど）比べ、差が構成の効果なのか、計算を多く使った効果なのかを切り分けます。</p>



<h3 class="wp-block-heading"><span id="toc16">受け渡しの手順を明文化する</span></h3>



<p class="wp-block-paragraph">エージェントごとに、目的・出力の形式・使うツール・担当の範囲を書きます。Anthropic も、下位のエージェントへの指示があいまいだと、同じ検索を重複して行ったり抜けが出たりしたと述べています。あわせて次を決めておきます。</p>



<ul class="wp-block-list">
<li>誰が、どの情報を、いつ渡すか</li>



<li>どの条件で作業を終えてよいか</li>



<li>検証役は何を基準に合否を出すか</li>
</ul>



<h3 class="wp-block-heading"><span id="toc17">実行記録を残し、失敗の型で読む</span></h3>



<p class="wp-block-paragraph">各エージェントの入出力とツールの呼び出しを、後から順に追える形で残します。失敗したら、設計・受け渡し・検証のどの系統かで分類します。自動での原因特定はまだ精度が低いので、AIの判定は手がかりとして使い、最後は人が確かめます。</p>



<h2 class="wp-block-heading"><span id="toc18">マルチエージェント導入の鍵は次の3点です</span></h2>



<ol class="wp-block-list">
<li><strong>まず強い単体エージェントを基準線にする</strong><br>各社とも単体から始めることを勧めています。複数にするのは、単体では確実に処理できない理由が見えてからです。</li>



<li><strong>同じコストで比べてから増やす</strong><br>チームの上積みは、多くの計算を使えたことから来ている場合があります。呼び出し回数とトークン数を揃えて単体と比べます。</li>



<li><strong>協力の手順と失敗の記録を設計に組み込む</strong><br>賢いモデルでも自然には協力しません。受け渡しの手順を明示し、人が後から追える実行記録を残します。</li>
</ol>



<h2 class="wp-block-heading"><span id="toc19">まとめ：マルチエージェントは「増やせば強い」から「必要なときだけ、設計して使う」へ！</span></h2>



<p class="wp-block-paragraph">マルチエージェントは、並行して進められる調査のような仕事では大きな力を発揮します。一方で、トークンの消費は大きく増え、失敗の原因は追いにくくなり、同じコストで比べると単体を上回らない例も報告されています。</p>



<p class="wp-block-paragraph">まずは今のエージェントの成績・呼び出し回数・トークン数を記録し、「単体ではどこまでできるか」を測ってみてください。そのうえで増やすかどうかを決めれば、費用だけが膨らむ構成を避けられます！</p>



<h2 class="wp-block-heading"><span id="toc20">参考文献</span></h2>



<ul class="wp-block-list">
<li>Anthropic「Building effective agents」（<a href="https://www.anthropic.com/engineering/building-effective-agents">https://www.anthropic.com/engineering/building-effective-agents</a>）2026-10-01 確認</li>



<li>Anthropic「How we built our multi-agent research system」（<a href="https://www.anthropic.com/engineering/multi-agent-research-system">https://www.anthropic.com/engineering/multi-agent-research-system</a>）2026-10-01 確認</li>



<li>OpenAI「A practical guide to building agents」（<a href="https://cdn.openai.com/business-guides-and-resources/a-practical-guide-to-building-agents.pdf">https://cdn.openai.com/business-guides-and-resources/a-practical-guide-to-building-agents.pdf</a>）2026-10-01 確認</li>



<li>Microsoft「AI agent orchestration patterns」（<a href="https://learn.microsoft.com/en-us/azure/architecture/ai-ml/guide/ai-agent-design-patterns">https://learn.microsoft.com/en-us/azure/architecture/ai-ml/guide/ai-agent-design-patterns</a>）2026-10-01 確認</li>



<li>Mert Cemri ほか「Why Do Multi-Agent LLM Systems Fail?」arXiv:2503.13657（<a href="https://arxiv.org/abs/2503.13657">https://arxiv.org/abs/2503.13657</a>）2026-10-01 確認</li>



<li>Shaokun Zhang ほか「Which Agent Causes Task Failures and When? On Automated Failure Attribution of LLM Multi-Agent Systems」arXiv:2505.00212（<a href="https://arxiv.org/abs/2505.00212">https://arxiv.org/abs/2505.00212</a>）2026-10-01 確認</li>



<li>Advait Yadav ほか「More Capable, Less Cooperative? When LLMs Fail At Zero-Cost Collaboration」arXiv:2604.07821（<a href="https://arxiv.org/abs/2604.07821">https://arxiv.org/abs/2604.07821</a>）2026-10-01 確認</li>



<li>David Dylan ほか「At Equal Inference Cost, Multi-Agent Structure Does Not Beat a Single Frozen Agent」arXiv:2609.04217（<a href="https://arxiv.org/abs/2609.04217">https://arxiv.org/abs/2609.04217</a>）2026-10-01 確認</li>
</ul>



<p class="wp-block-paragraph">2026-10-01 更新: 構成を見直し、論文へのリンクと参考文献を追加し、失敗原因の自動特定の正答率とランダムとの比較、チームと単体の比較で揃えた条件の記述の誤りを修正しました</p><p>The post <a href="https://kuebiko.blog/archives/54/">【2026年最新】マルチエージェントの協調×論文4選｜「エージェントを増やしたのに精度が上がらない」を解く</a> first appeared on <a href="https://kuebiko.blog">クエビコ</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【2026年9月 急上昇ワード】エージェント・ハーネス×論文4選｜「同じモデルなのに、エージェントの出来が安定しない」を解く</title>
		<link>https://kuebiko.blog/archives/113/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%25902026%25e5%25b9%25b49%25e6%259c%2588-%25e6%2580%25a5%25e4%25b8%258a%25e6%2598%2587%25e3%2583%25af%25e3%2583%25bc%25e3%2583%2589%25e3%2580%2591%25e3%2582%25a8%25e3%2583%25bc%25e3%2582%25b8%25e3%2582%25a7%25e3%2583%25b3%25e3%2583%2588%25e3%2583%25bb%25e3%2583%258f%25e3%2583%25bc%25e3%2583%258d%25e3%2582%25b9</link>
		
		<dc:creator><![CDATA[クエビコ]]></dc:creator>
		<pubDate>Thu, 24 Sep 2026 23:00:00 +0000</pubDate>
				<category><![CDATA[AIエージェント]]></category>
		<category><![CDATA[AIニュース]]></category>
		<category><![CDATA[論文解説]]></category>
		<category><![CDATA[LLM]]></category>
		<category><![CDATA[エージェントハーネス]]></category>
		<category><![CDATA[コード生成]]></category>
		<category><![CDATA[セキュリティ]]></category>
		<category><![CDATA[論文]]></category>
		<guid isPermaLink="false">https://blog.susanoo.mailsec-dev.com/?p=113</guid>

					<description><![CDATA[<p>コーディングエージェントを業務に入れたチームから、「モデルを最新版に替えたのに、思ったほど良くならない」「同じモデルでも、ツールによって結果がまるで違う」という声をよく聞くようになりました。 その答えとして、いま arX [&#8230;]</p>
<p>The post <a href="https://kuebiko.blog/archives/113/">【2026年9月 急上昇ワード】エージェント・ハーネス×論文4選｜「同じモデルなのに、エージェントの出来が安定しない」を解く</a> first appeared on <a href="https://kuebiko.blog">クエビコ</a>.</p>]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">コーディングエージェントを業務に入れたチームから、「モデルを最新版に替えたのに、思ったほど良くならない」「同じモデルでも、ツールによって結果がまるで違う」という声をよく聞くようになりました。</p>



<p class="wp-block-paragraph">その答えとして、いま arXiv で急に語られ始めているのが <strong>「エージェント・ハーネス（agent harness）」</strong>、つまりモデルの周りにある「何を見せるか・どのツールを使わせるか・どうループを回すか」を決める外側のコードです。Claude Code や Codex のような製品で、モデル以外の部分すべてを指す言葉だと考えると分かりやすいでしょう。</p>



<p class="wp-block-paragraph">本記事では、当ブログ独自の <strong>arXiv 急上昇ワード集計</strong> で直近 3 か月にいちばん伸びたこのテーマについて、実務に効く論文を 4 本選んで解説します。</p>



<hr class="wp-block-separator has-alpha-channel-opacity" />




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-14" checked><label class="toc-title" for="toc-checkbox-14">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">目次</a></li><li><a href="#toc2" tabindex="0">📈 今月の急上昇ワード（ソフトウェア工学 cs.SE）</a></li><li><a href="#toc3" tabindex="0">1. 【同じモデルでも別物】コンテキストが狭い条件では、ハーネスを替えるだけで解ける課題が 43 件 → 72 件に</a><ol><li><a href="#toc4" tabindex="0">💡 現場の課題</a></li><li><a href="#toc5" tabindex="0">📄 論文が明かす最新知見</a></li></ol></li><li><a href="#toc6" tabindex="0">2. 【どこに効くか】コンテキスト管理は「窓が狭いほど」効く。計画はモデルが強いとコスト削減に変わる</a><ol><li><a href="#toc7" tabindex="0">💡 現場の課題</a></li><li><a href="#toc8" tabindex="0">📄 論文が明かす最新知見</a></li></ol></li><li><a href="#toc9" tabindex="0">3. 【自動で育てる】ハーネスを「進化」させるだけで業務タスクが 20〜35 ポイント改善</a><ol><li><a href="#toc10" tabindex="0">💡 現場の課題</a></li><li><a href="#toc11" tabindex="0">📄 論文が明かす最新知見</a></li></ol></li><li><a href="#toc12" tabindex="0">4. 【ハーネスは攻撃面】ハーネスが組み立てるコンテキストで、低い権限の指示が「昇格」する</a><ol><li><a href="#toc13" tabindex="0">💡 現場の課題</a></li><li><a href="#toc14" tabindex="0">📄 論文が明かす最新知見</a></li></ol></li><li><a href="#toc15" tabindex="0">ハーネスを現場で設計する 3 大原則</a></li><li><a href="#toc16" tabindex="0">まとめ：エージェント選びは「どのモデルか」から「どう包むか」へ！</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">目次</span></h2>



<ul class="wp-block-list">
<li><a href="#trends">📈 今月の急上昇ワード（ソフトウェア工学 cs.SE）</a></li>



<li><a href="#paper-1">1. 【同じモデルでも別物】コンテキストが狭い条件では、ハーネスを替えるだけで解ける課題が 43 件 → 72 件に</a></li>



<li><a href="#paper-2">2. 【どこに効くか】コンテキスト管理は「窓が狭いほど」効く。計画はモデルが強いとコスト削減に変わる</a></li>



<li><a href="#paper-3">3. 【自動で育てる】ハーネスを「進化」させるだけで業務タスクが 20〜35 ポイント改善</a></li>



<li><a href="#paper-4">4. 【ハーネスは攻撃面】ハーネスが組み立てるコンテキストで、低い権限の指示が「昇格」する</a></li>



<li><a href="#principles">ハーネスを現場で設計する 3 大原則</a></li>



<li><a href="#summary">まとめ</a></li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity" />



<h2 class="wp-block-heading" id="trends"><span id="toc2">📈 今月の急上昇ワード（ソフトウェア工学 cs.SE）</span></h2>



<p class="wp-block-paragraph">cs.SE に投稿された論文を毎月 250 本ずつ集め、各概念が「論文全体の何 % で語られたか」を、直近 3 か月（2026年7〜9月）とその前の 6 か月（1〜6月）で比べました。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>順位</th><th>キーワード</th><th>直近3か月</th><th>前6か月</th><th>伸び</th></tr></thead><tbody><tr><td>1</td><td><strong>agent harness（エージェント・ハーネス）</strong></td><td>1.6%</td><td>0.3%</td><td><strong>3.1倍</strong></td></tr><tr><td>2</td><td>tool call（ツール呼び出し）</td><td>2.5%</td><td>0.9%</td><td>2.3倍</td></tr><tr><td>3</td><td>digital twin（デジタルツイン）</td><td>1.7%</td><td>0.6%</td><td>2.3倍</td></tr><tr><td>4</td><td>coding agent（コーディングエージェント）</td><td>7.9%</td><td>4.1%</td><td>1.9倍</td></tr><tr><td>5</td><td>agentic ai（エージェント型 AI）</td><td>2.4%</td><td>1.3%</td><td>1.7倍</td></tr><tr><td>6</td><td>model context protocol（MCP）</td><td>2.5%</td><td>1.5%</td><td>1.6倍</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">※「伸び」は、少数の偶然で跳ねないよう平滑化した値です（集計方法は末尾を参照）。</p>



<p class="wp-block-paragraph"><code>agent harness</code> という言葉を使った論文は、2026年4月まで 0 本でした。5月に初めて現れ、8月には 250 本中 8 本（3.2%）まで増えています。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><strong>分野をまたいでも同じ動き:</strong> <code>coding agent</code> はセキュリティ（cs.CR）で 2.6 倍、自然言語処理（cs.CL）で 2.1 倍と、3 分野すべてで上位に入りました。セキュリティ分野では、ほかに <code>radio access network</code>（無線アクセス網, 2.5倍）と <code>cpu</code>（2.2倍）が伸びています。</p>
</blockquote>



<hr class="wp-block-separator has-alpha-channel-opacity" />



<h2 class="wp-block-heading" id="paper-1"><span id="toc3">1. 【同じモデルでも別物】コンテキストが狭い条件では、ハーネスを替えるだけで解ける課題が 43 件 → 72 件に</span></h2>



<ul class="wp-block-list">
<li><strong>関連論文</strong>: <em>Same Model, Different Harness: Different Coding-Agent Results</em> (<a href="https://arxiv.org/abs/2608.26218">arXiv:2608.26218</a>)</li>
</ul>



<h3 class="wp-block-heading"><span id="toc4">💡 現場の課題</span></h3>



<p class="wp-block-paragraph">エージェントの比較や選定は、「どのモデルが強いか」で語られがちです。しかし実際に使うのは「モデル＋ハーネス」の組み合わせで、ハーネス側の差がどれだけ効くのかは見過ごされてきました。</p>



<h3 class="wp-block-heading"><span id="toc5">📄 論文が明かす最新知見</span></h3>



<ul class="wp-block-list">
<li>モデルと課題を固定し、<strong>ハーネスの設定だけ</strong>を変えて比べた</li>



<li>主な変更は、コンテキストが埋まってきたら古いツール出力を機械的に短くすることと、同じ作業の繰り返しや停滞を検知して介入すること</li>



<li>コンテキスト窓が狭い条件（Qwen3.6, 20,480 トークン, 169 課題, 1 課題 480 秒まで）で、SWE-bench Verified の完全解決が <strong>43 件 → 72 件</strong>。修正後に通るべきテストのうち実際に通った割合（課題ごとの平均）は <strong>28% → 49%</strong></li>



<li>窓が広い条件（262,144 トークン）では、Verified と Pro で 2 つの設定の差はほぼ消えた（FeatureBench では改善が残った）</li>



<li>モデルごとに調整し直さなくても、設計の異なる別の 3 モデルでも改善した</li>



<li>結論: エージェントの評価では、<strong>「モデルとハーネスを一体の解答者」として扱うべき</strong></li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity" />



<h2 class="wp-block-heading" id="paper-2"><span id="toc6">2. 【どこに効くか】コンテキスト管理は「窓が狭いほど」効く。計画はモデルが強いとコスト削減に変わる</span></h2>



<ul class="wp-block-list">
<li><strong>関連論文</strong>: <em>An Empirical Study of Harness Design for Coding Agents</em> (<a href="https://arxiv.org/abs/2609.20804">arXiv:2609.20804</a>)</li>
</ul>



<h3 class="wp-block-heading"><span id="toc7">💡 現場の課題</span></h3>



<p class="wp-block-paragraph">「計画を立てさせる」「専用ツールを用意する」「履歴を要約する」など、ハーネスの工夫は多いものの、どの部品がどれだけ効くのかは分かっていませんでした。そのため、自社用に作るときに何を優先すべきか判断できません。</p>



<h3 class="wp-block-heading"><span id="toc8">📄 論文が明かす最新知見</span></h3>



<ul class="wp-block-list">
<li>4 モデル × SWE-Bench Verified / Terminal-Bench 2.1 で、<strong>176 通りの設定</strong>を部品ごとに比較した</li>



<li><strong>コンテキスト管理</strong>は窓が小さいほど効く。効果の大半は「あふれて落ちる失敗」を防ぐことによるもの</li>



<li>最も効率が良いのは、<strong>ルールで削ってから LLM で要約する</strong>という 2 段構え。削った内容を後から取り出せる仕組みを足しても、モデルがほとんど使わず精度は上がらない</li>



<li><strong>計画ステップ</strong>は、弱いモデルでは精度を支え、強いモデルでは主にコスト削減として働く</li>



<li>bash が得意なモデルなら、<strong>専用ツールを揃えなくても bash だけで十分</strong>動き、コストも大きく下がる（特にコマンド操作が中心の Terminal-Bench で。SWE-Bench では専用ツールの方が良いモデルもあった）</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity" />



<h2 class="wp-block-heading" id="paper-3"><span id="toc9">3. 【自動で育てる】ハーネスを「進化」させるだけで業務タスクが 20〜35 ポイント改善</span></h2>



<ul class="wp-block-list">
<li><strong>関連論文</strong>: <em>StarHarness: Evolving Harnesses with Stratified Search for Enterprise Environments</em> (<a href="https://arxiv.org/abs/2608.24804">arXiv:2608.24804</a>)</li>
</ul>



<h3 class="wp-block-heading"><span id="toc10">💡 現場の課題</span></h3>



<p class="wp-block-paragraph">SRE、ITSM、経理など社内の業務環境には、独自のツールや慣習があります。汎用のエージェントをそのまま持ち込むと、モデルと環境のミスマッチでつまずきます。とはいえ、モデルを追加学習するのは重い作業です。</p>



<h3 class="wp-block-heading"><span id="toc11">📄 論文が明かす最新知見</span></h3>



<ul class="wp-block-list">
<li><strong>モデルの重みは固定</strong>したまま、プロンプト、ツールの与え方、スキル、MCP、サブエージェント構成、ループ設定といったハーネス側を自動で改良する</li>



<li>失敗の傾向で課題を層別化し、「改良案を探す課題」と「採否を決める課題（提案側からは見えない）」を分けて、過剰適合を防ぐ</li>



<li>ITBench SRE / EnterpriseOps-Gym ITSM / AutomationBench Finance で、<strong>採用した変更は環境ごとに 4〜12 件だけで、既定のハーネスと比べて 20〜35 ポイント改善</strong>（改良に使ったモデル GPT-5.4 での値）</li>



<li>改良に使わなかった課題でも効果が残り、GPT 系と Qwen 系の間で<strong>作り直さずに流用できた</strong></li>



<li>効いていたのは、インターフェースの修正、環境の慣習、運用知識の書き込みといった地味な改善。一部の環境では誤診断が減り、手順（ターン数）も短くなった</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity" />



<h2 class="wp-block-heading" id="paper-4"><span id="toc12">4. 【ハーネスは攻撃面】ハーネスが組み立てるコンテキストで、低い権限の指示が「昇格」する</span></h2>



<ul class="wp-block-list">
<li><strong>関連論文</strong>: <em>When Context Gets Root: Privilege Escalation in LLM Harnesses</em> (<a href="https://arxiv.org/abs/2608.27299">arXiv:2608.27299</a>)</li>
</ul>



<h3 class="wp-block-heading"><span id="toc13">💡 現場の課題</span></h3>



<p class="wp-block-paragraph">モデル側には「システム指示 ＞ ユーザー ＞ ツール出力」のような<strong>指示の優先順位</strong>（instruction hierarchy）で守る仕組みがあります。しかし、実際にどの文字列をどの立場でモデルに渡すかを決めているのはハーネスです。</p>



<h3 class="wp-block-heading"><span id="toc14">📄 論文が明かす最新知見</span></h3>



<ul class="wp-block-list">
<li>ハーネスがコンテキストを組み立てる過程で、低い権限の悪意あるコンテンツが<strong>上位の指示として扱われてしまう</strong>攻撃「instruction privilege escalation」を提示した</li>



<li>マルチエージェントの仕組みを使った攻撃で、6 つのコーディングエージェント向けハーネスを検証した。操作を無制限に許可した設定では、機密性・完全性・可用性・リモートコード実行にわたる <strong>13 の攻撃目標をすべて達成</strong>（各目標で数回までの試行を重ねた結果。1 回あたりの成功率はハーネスにより 31.7〜100%）</li>



<li><strong>自動の権限レビュー</strong>を備えた 3 つのハーネスでも、13 目標すべてが成功した</li>



<li>ハーネスの「永続的なゴール」や「スケジュール実行」の機能経由でも再現できた</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity" />



<h2 class="wp-block-heading" id="principles"><span id="toc15">ハーネスを現場で設計する 3 大原則</span></h2>



<ol class="wp-block-list">
<li><strong>評価は「モデル＋ハーネス」の組で行う</strong><br>モデルを比べる前にハーネスを固定する。ベンダー公表値と自社の結果が違うのは、ハーネスが違うからかもしれません（論文1）。</li>



<li><strong>窓が狭い・作業が長いなら、まずはコンテキスト管理から。足すより削る</strong><br>古いツール出力の機械的な切り詰めとルールによる削除が最初の一手です。専用ツールや計画ステップは、モデルの得意不得意を見て足します（論文1・2）。</li>



<li><strong>ハーネスは「育てるもの」であり「守るもの」</strong><br>失敗ログから少しずつ改良し、採否は別の課題で判断する（論文3）。同時に、コンテキストを組み立てる箇所を権限境界として監査します。論文4が示すとおり、ハーネスの設計は性能の問題であると同時に、セキュリティ境界の問題でもあると考えるべきでしょう。</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity" />



<h2 class="wp-block-heading" id="summary"><span id="toc16">まとめ：エージェント選びは「どのモデルか」から「どう包むか」へ！</span></h2>



<p class="wp-block-paragraph">7〜9 月の arXiv では、「agent harness」という言葉が前の半年の約 3 倍（平滑化後の値）の割合で語られました。論文から見えてくるのは、<strong>同じモデルでも包み方次第で成果が大きく変わり、しかもその包み方は自動で改良できる</strong>という流れです。一方で、ハーネスは新しい攻撃面にもなっています。</p>



<p class="wp-block-paragraph">次にエージェントを見直すときは、モデルの載せ替えより先に、ハーネスのコンテキスト管理と権限設計を点検してみてください。</p>



<hr class="wp-block-separator has-alpha-channel-opacity" />



<details class="wp-block-details is-layout-flow wp-block-details-is-layout-flow"><summary>集計方法について</summary>
<ul class="wp-block-list">
<li>対象: arXiv cs.SE の各月の投稿から直近分 250 本ずつ（2025年9月〜2026年9月, 計 3,250 本。9月は 9/10〜9/23 投稿分）</li>



<li>論文のタイトルとアブストラクトから概念を自動抽出し、概念ごとに「その月の論文の何 % で言及されたか」を集計</li>



<li>伸び = 直近 3 か月の言及率 ÷ 前 6 か月の言及率（少数の偶然で跳ねないよう平滑化）。「実験結果」「ベースライン」などの汎用語は除外</li>



<li>抽出は自動のため表記ゆれや取りこぼしがあります。ランキングは「何が語られているか」の目安であり、将来の予測ではありません</li>
</ul>
</details>



<p class="wp-block-paragraph">2026-10-01 更新: 論文1の、コンテキスト窓が広い条件での結果の記述の誤りを修正しました</p><p>The post <a href="https://kuebiko.blog/archives/113/">【2026年9月 急上昇ワード】エージェント・ハーネス×論文4選｜「同じモデルなのに、エージェントの出来が安定しない」を解く</a> first appeared on <a href="https://kuebiko.blog">クエビコ</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【2026年最新】長文脈とAIの記憶×論文4選｜「長い資料ほど見落とす」「前に伝えたことを忘れる」を解く</title>
		<link>https://kuebiko.blog/archives/48/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%25902026%25e5%25b9%25b4%25e6%259c%2580%25e6%2596%25b0%25e3%2580%2591%25e9%2595%25b7%25e6%2596%2587%25e8%2584%2588%25e3%2581%25a8ai%25e3%2581%25ae%25e8%25a8%2598%25e6%2586%25b6xarxiv%25e8%25ab%2596%25e6%2596%25874%25e9%2581%25b8%25ef%25bd%259c%25e3%2580%258c%25e9%2595%25b7%25e3%2581%2584%25e8%25b3%2587</link>
		
		<dc:creator><![CDATA[クエビコ]]></dc:creator>
		<pubDate>Tue, 22 Sep 2026 23:00:00 +0000</pubDate>
				<category><![CDATA[AIニュース]]></category>
		<category><![CDATA[論文解説]]></category>
		<category><![CDATA[AIエージェント]]></category>
		<category><![CDATA[LLM]]></category>
		<category><![CDATA[論文]]></category>
		<category><![CDATA[長文脈]]></category>
		<category><![CDATA[長期記憶]]></category>
		<guid isPermaLink="false">https://blog.susanoo.mailsec-dev.com/?p=48</guid>

					<description><![CDATA[<p>LLMのコンテキストウィンドウ（1回の処理でモデルに渡せる文章量の上限）は大きく伸び、分厚い資料や大量のログをまるごと渡せるようになりました。過去の会話の内容を覚えておく「メモリ機能」を備えたチャットサービスやエージェン [&#8230;]</p>
<p>The post <a href="https://kuebiko.blog/archives/48/">【2026年最新】長文脈とAIの記憶×論文4選｜「長い資料ほど見落とす」「前に伝えたことを忘れる」を解く</a> first appeared on <a href="https://kuebiko.blog">クエビコ</a>.</p>]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">LLMのコンテキストウィンドウ（1回の処理でモデルに渡せる文章量の上限）は大きく伸び、分厚い資料や大量のログをまるごと渡せるようになりました。過去の会話の内容を覚えておく「メモリ機能」を備えたチャットサービスやエージェントも増えています。</p>



<p class="wp-block-paragraph">ところが現場では、「上限には収まっているのに、長い資料を渡すと大事な箇所を見落とす」「前回の会話で伝えたはずの情報が反映されない」といった声がよく聞かれます。上限の数字だけを見て設計すると、こうした見えにくい劣化に気づけません。</p>



<p class="wp-block-paragraph">この記事では、各社の公式ドキュメントをもとにコンテキストウィンドウとメモリ機能の仕組みを整理し、「長い入力を実際にどこまで使いこなせるのか」「記憶をどう評価すべきか」を扱った論文4本を紹介します。結論を先に言うと、<strong>上限ではなく「実際に読める量」を自分の資料で測り、長い資料は置き方と渡し方を工夫し、記憶機能は事実ごとに点検する</strong>のが基本です！</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-16" checked><label class="toc-title" for="toc-checkbox-16">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">コンテキストウィンドウとは何か：AIの「作業机」の広さ</a><ol><li><a href="#toc2" tabindex="0">会話の履歴も出力も、すべて含めて数える</a></li><li><a href="#toc3" tabindex="0">上限に収まっても、長いほど精度は落ちる</a></li></ol></li><li><a href="#toc4" tabindex="0">会話をまたぐ「記憶」の仕組み</a><ol><li><a href="#toc5" tabindex="0">APIは本来「前の会話を覚えていない」</a></li><li><a href="#toc6" tabindex="0">チャットサービスのメモリ機能</a></li><li><a href="#toc7" tabindex="0">開発者が作る記憶：メモリツール</a></li></ol></li><li><a href="#toc8" tabindex="0">研究で見る「長い入力のどこで見落とすか」</a><ol><li><a href="#toc9" tabindex="0">📄 論文: 長さが同じでも「情報の詰まり具合」で見落とす</a></li><li><a href="#toc10" tabindex="0">📄 論文: 上限の「半分手前」で崩れたモデルがある</a></li></ol></li><li><a href="#toc11" tabindex="0">長い資料を「読ませずに扱う」、記憶を「事実ごとに測る」</a><ol><li><a href="#toc12" tabindex="0">📄 論文: 長い資料はファイルとして置き、エージェントに探させる</a></li><li><a href="#toc13" tabindex="0">📄 論文: 記憶は「正解率」でなく事実ごとの変化で測る</a></li></ol></li><li><a href="#toc14" tabindex="0">現場でやること</a><ol><li><a href="#toc15" tabindex="0">長い資料は「置き方」を整える</a></li><li><a href="#toc16" tabindex="0">自社の資料で「落ち始める長さ」を測る</a></li><li><a href="#toc17" tabindex="0">長い資料は「探させる」構成も比べる</a></li><li><a href="#toc18" tabindex="0">記憶機能は「事実ごと」に点検する</a></li></ol></li><li><a href="#toc19" tabindex="0">長文脈と記憶を使いこなす鍵は次の3点です</a></li><li><a href="#toc20" tabindex="0">まとめ：長文脈と記憶は「どれだけ入るか」から「どれだけ使えるか」へ！</a></li><li><a href="#toc21" tabindex="0">参考文献</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">コンテキストウィンドウとは何か：AIの「作業机」の広さ</span></h2>



<h3 class="wp-block-heading"><span id="toc2">会話の履歴も出力も、すべて含めて数える</span></h3>



<p class="wp-block-paragraph">Anthropic のドキュメントは、コンテキストウィンドウを「モデルが応答を作るときに参照できるテキストのすべて（応答そのものを含む）」と説明し、学習に使われた大量のデータとは別の「作業用の記憶」にあたるとしています。Google も、短期記憶にたとえて説明しています（<a href="https://platform.claude.com/docs/en/build-with-claude/context-windows">Anthropic「Context windows」</a>、<a href="https://ai.google.dev/gemini-api/docs/long-context">Google「Long context」</a>）。</p>



<p class="wp-block-paragraph">注意したいのは、数えられるのが質問文だけではない点です。Anthropic の説明では、システムプロンプト、それまでの会話のすべて、ツールの実行結果や画像・文書、ツールの定義、さらにモデルが生成する出力や思考の部分まで、すべてが上限に数えられます。OpenAI も、上限には入力・出力・推論のトークンが含まれ、超えた分は切り捨てられうると書いています（<a href="https://developers.openai.com/api/docs/guides/conversation-state">OpenAI「Conversation state」</a>）。会話が長引くほど、資料を置ける余白は減っていきます。</p>



<p class="wp-block-paragraph">2026年10月時点で、Anthropic は最新世代を中心とする多くのモデルの上限を100万トークン、それ以外のモデルを20万トークンとしています。Google も、多くの Gemini モデルが100万トークン以上を扱えるとしています。</p>



<h3 class="wp-block-heading"><span id="toc3">上限に収まっても、長いほど精度は落ちる</span></h3>



<p class="wp-block-paragraph">大事なのは、各社とも「入れられること」と「使いこなせること」を分けて説明している点です。Anthropic は、トークン数が増えるほど正確さや思い出す力が落ちる現象を「コンテキストの劣化（context rot）」と呼び、何を入れるかを選ぶことは、空きの大きさと同じくらい重要だとしています。Google も、1つの情報を探す試験では高い精度が出る一方で、探す情報が複数になると同じ精度は出ず、内容によって大きく変わると明記しています。</p>



<h2 class="wp-block-heading"><span id="toc4">会話をまたぐ「記憶」の仕組み</span></h2>



<h3 class="wp-block-heading"><span id="toc5">APIは本来「前の会話を覚えていない」</span></h3>



<p class="wp-block-paragraph">OpenAI のドキュメントは、文章生成のリクエストは1回ごとに独立していて状態を持たない、と説明しています。複数回のやりとりは、それまでの会話をリクエストに含めて送ることで成り立っています。つまり、AIが「覚えている」ように見えるのは、過去のやりとりがコンテキストウィンドウに入っている間だけです。</p>



<h3 class="wp-block-heading"><span id="toc6">チャットサービスのメモリ機能</span></h3>



<p class="wp-block-paragraph">会話をまたいで覚えておくのがメモリ機能です。Anthropic のヘルプによると、Claude のメモリは会話の終了後に要約するのではなく、会話中に話題ごとに保存し、利用者が確認・編集できます。プロジェクトごとに記憶は分かれ、1つのチャットだけメモリを使わない設定もあります。健康や信条などの個人的な話題は既定では保存せず、Team・Enterprise プランでは管理者が利用の可否を決めます（<a href="https://support.claude.com/en/articles/11817273-using-claude-s-chat-search-and-memory-to-build-on-previous-context">Anthropic「Use Claude&#8217;s chat search and memory to build on previous context」</a>）。Google の Gemini アプリの過去のチャットに基づく個人化は、個人の Google アカウントで使う機能で、仕事用や学校用のアカウントでは使えないと案内されています（<a href="https://support.google.com/gemini/answer/16598623?hl=en">Google「Get personalization in Gemini Apps」</a>）。</p>



<h3 class="wp-block-heading"><span id="toc7">開発者が作る記憶：メモリツール</span></h3>



<p class="wp-block-paragraph">自社のエージェントに記憶を持たせる場合は、仕組みを自分で用意します。Anthropic のメモリツールは、モデルが記憶用のファイルの作成・読み出し・更新・削除を要求し、実際の保存はアプリ側が行う方式です。同じドキュメントは、機密情報を書き込む前に取り除く検証、ファイルの大きさの上限、長く使われていない記憶の定期的な削除、そして記憶用の保存場所の外にあるファイルに触れられないよう、操作のたびに指定先を検証することを、アプリ側の責任として挙げています（<a href="https://platform.claude.com/docs/en/agents-and-tools/tool-use/memory-tool">Anthropic「Memory tool」</a>）。</p>



<h2 class="wp-block-heading"><span id="toc8">研究で見る「長い入力のどこで見落とすか」</span></h2>



<h3 class="wp-block-heading"><span id="toc9">📄 論文: 長さが同じでも「情報の詰まり具合」で見落とす</span></h3>



<p class="wp-block-paragraph"><strong>Dense Contexts Are Hard Contexts: Lexical Density Limits Effective Context in LLMs</strong>（Giovanni Dettori ほか、2026年6月、<a href="https://arxiv.org/abs/2606.06203">arXiv:2606.06203</a>）は、査読前の論文（プレプリント）です。</p>



<p class="wp-block-paragraph">対象は 9B〜685B パラメータの、重みが公開されたモデル8種で、小さめのモデルは研究用のGPUで、大きなモデルは商用APIで動かしています。長さをどれも約1万2千トークンにそろえた3種類の「探し物」課題を作り、各100問で、正解の位置を少しずつずらして測りました。3種類は、同じ定型文が並ぶ対応表から値を探すもの（疎）、場面に反するルールを一覧から探すもの（中）、文に含まれる禁止語を単語の一覧から探すもの（密）で、情報の詰まり具合が違います。課題の種類も違うため、各課題の中で同じ項目を繰り返して密度だけを下げる実験も加えています。</p>



<p class="wp-block-paragraph">結果は、疎な対応表ではどの位置でもほぼ満点だった一方、密な2種類では正解が後ろにあるほど成績が下がり、8モデルの平均で、正解が1万2千トークン地点にあるときのスコアは2千トークン地点に比べて、満点を100として<strong>27ポイントと31ポイント</strong>低くなりました。約1万2千トークンは、長さだけなら劣化しないと考えられてきた短さです。密度だけを下げると成績はおおむね戻りましたが、単語の一覧では、中程度に間引くとかえって悪くなる場合もありました。</p>



<p class="wp-block-paragraph">運営者にとっての意味は、表や一覧、設定ファイルのように新しい情報がぎっしり詰まった資料は、短くても見落としが起きやすいということです。</p>



<h3 class="wp-block-heading"><span id="toc10">📄 論文: 上限の「半分手前」で崩れたモデルがある</span></h3>



<p class="wp-block-paragraph"><strong>Intelligence Degradation in Long-Context LLMs: Critical Threshold Determination via Natural Length Distribution Analysis</strong>（Weiwei Wang ほか、2026年1月、<a href="https://arxiv.org/abs/2601.15300">arXiv:2601.15300</a>）は、査読前の論文（プレプリント）です。</p>



<p class="wp-block-paragraph">対象は公開モデルの Qwen2.5-7B（上限12万8千トークン）1つで、読解問題1,000件を、資料を切り詰めたり水増ししたりせず元の長さのまま解かせ、答えの一致度（F1）を測りました。短い資料は SQuAD、長い資料は NarrativeQA という別のデータセットから500件ずつ取っています。</p>



<p class="wp-block-paragraph">結果は、上限の40%（約5万1千トークン）まではF1が0.55〜0.58で安定していたのに、40〜50%の間で0.556から0.302へ<strong>45.5%</strong>落ち、その先も戻りませんでした。ただし1モデル・1種類の課題での結果で、著者ら自身も、ほかのモデルや課題に当てはまるかは今後の検証が必要だとしています。</p>



<p class="wp-block-paragraph">運営者にとっての意味は、「上限に収まるか」だけでは安心できず、使うモデルと資料で落ち始める長さを確かめる必要があるということです。</p>



<h2 class="wp-block-heading"><span id="toc11">長い資料を「読ませずに扱う」、記憶を「事実ごとに測る」</span></h2>



<h3 class="wp-block-heading"><span id="toc12">📄 論文: 長い資料はファイルとして置き、エージェントに探させる</span></h3>



<p class="wp-block-paragraph"><strong>Coding Agents are Effective Long-Context Processors</strong>（Weili Cao ほか、2026年3月、<a href="https://arxiv.org/abs/2603.20432">arXiv:2603.20432</a>）は、査読前の論文（プレプリント）です。</p>



<p class="wp-block-paragraph">長い資料をモデルに丸ごと読ませる代わりに、文書をファイルとしてフォルダに置き、既製のコーディングエージェントに検索コマンドやプログラムで探させる方法を試しました。対象は、長い文書の読解・集計や、最大3兆トークンの文書群からの質問応答など公開ベンチマーク5種で、それぞれ200問を無作為に選び、Codex（GPT-5）を中心に、2種では Claude Code（Sonnet 4.5）でも測っています。比較相手は、GPT-5 に資料を区切って読ませる方法、一般的な RAG、検索ツール付きのエージェントなどです。</p>



<p class="wp-block-paragraph">結果は、5種のうち4種で公表済みの最高値を上回り、相対的な改善幅は平均<strong>17.3%</strong>でした。一方で、多様な長文読解を集めたベンチマークでは最高値に届かず、GPT-5 にそのまま読ませた場合とほぼ同じでした。また、検索ツールを追加するとかえって成績が下がる場合があり、1問あたりの費用は RAG より高くなっています。</p>



<p class="wp-block-paragraph">運営者にとっての意味は、長い資料への対策として「上限の大きいモデルに入れる」「RAGで一部を渡す」に加えて、「ファイルとして探させる」も比べる価値があるということです。</p>



<h3 class="wp-block-heading"><span id="toc13">📄 論文: 記憶は「正解率」でなく事実ごとの変化で測る</span></h3>



<p class="wp-block-paragraph"><strong>MemTrace: Probing What Final Accuracy Misses in Long-Term Memory</strong>（Xianxuan Long ほか、2026年6月、<a href="https://arxiv.org/abs/2606.17328">arXiv:2606.17328</a>）は、査読前の論文（プレプリント）です。</p>



<p class="wp-block-paragraph">既存の評価用データ（HaluMem）にある20人分の複数回の会話履歴から、利用者に関する835の事実を取り出し、事実ごとに「何回前の会話で出たか」「今の状態・以前の状態・変化の経緯のどれを聞くか」「根拠がある・ない・誤った前提を含むか」を変えて、1万5千問以上を作りました。長文脈モデル、RAG、外部記憶、エージェント型の計13構成を比べました。長文脈モデルは会話履歴を直接読んで自分で答え、ほかの構成は取り出した記憶を共通のモデル（gpt-4o-mini）に渡して答えさせています。</p>



<p class="wp-block-paragraph">結果は、全体の正解率が近くても弱点がばらばらでした。長文脈モデルの Qwen3.5-35B は、新しい事実の「変化の経緯」には49.0%答えられたのに、会話が積み重なると<strong>6.7%</strong>に落ちました。話に出ていない事実についてはほぼ必ず回答を控えるのに、誤った前提はあまり正せないシステムもありました。1種類の簡単な検索器を使った300問の追試では、正しい会話に届いていたのに解けなかった例が、届かなかった例の約<strong>10倍</strong>ありました。この倍率は検索器によって変わりうると著者らは断っています。</p>



<p class="wp-block-paragraph">運営者にとっての意味は、記憶の改善は「保存を増やす」より「取り出せた情報を正しく使わせる」ことが課題で、評価も事実の更新や誤った前提を含めて行う必要があるということです。</p>



<h2 class="wp-block-heading"><span id="toc14">現場でやること</span></h2>



<h3 class="wp-block-heading"><span id="toc15">長い資料は「置き方」を整える</span></h3>



<p class="wp-block-paragraph">各社のガイドは、長い資料の渡し方について具体的な指針を示しています。</p>



<ul class="wp-block-list">
<li>長い資料はプロンプトの先頭に置き、質問は最後に書く（Anthropic は、質問を最後に置くと、特に複数の資料を含む複雑な入力で、回答の質が試験で最大30%上がったとしています）</li>



<li>複数の資料は1つずつ区切り、出典や資料名を添える</li>



<li>答える前に、関係する箇所を資料から引用させる</li>
</ul>



<p class="wp-block-paragraph">（<a href="https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices">Anthropic「Prompting best practices」</a>、<a href="https://ai.google.dev/gemini-api/docs/long-context">Google「Long context」</a>）</p>



<h3 class="wp-block-heading"><span id="toc16">自社の資料で「落ち始める長さ」を測る</span></h3>



<p class="wp-block-paragraph">上限の数字ではなく、実際に使う資料と質問で確かめます。資料の長さを変えたり、答えの書かれた箇所を前後に動かしたりして、同じ質問への正答がどこから崩れるかを見ます。表や一覧のように情報が詰まった資料は、短くても分割して渡すことを前提にしましょう。</p>



<h3 class="wp-block-heading"><span id="toc17">長い資料は「探させる」構成も比べる</span></h3>



<p class="wp-block-paragraph">すべてを1回で読ませる方法、関連部分だけを渡す RAG（<a href="/?p=40">RAGの実務の記事</a>）、ファイルとして置いてエージェントに探させる方法を、同じ質問で比べます。精度だけでなく、1件あたりの費用と待ち時間も合わせて判断します（<a href="/?p=41">推論コストの記事</a>）。</p>



<h3 class="wp-block-heading"><span id="toc18">記憶機能は「事実ごと」に点検する</span></h3>



<ul class="wp-block-list">
<li>利用者の情報が変わったとき（担当者の交代、締め切りの変更など）に、新しい内容で答えられるか</li>



<li>「以前はどうだったか」「どう変わったか」を聞いても正しく答えられるか</li>



<li>話していない事実を聞かれたら「分からない」と言えるか、誤った前提を含む質問を正せるか</li>



<li>業務で使うなら、保存される内容の確認方法、オフにする手順、古い記憶の削除の運用を決めておく</li>
</ul>



<h2 class="wp-block-heading"><span id="toc19">長文脈と記憶を使いこなす鍵は次の3点です</span></h2>



<ol class="wp-block-list">
<li><strong>「上限に収まるか」ではなく「実際に読める量」で設計する</strong><br>自社の資料で長さや情報の詰まり具合を変えて精度を測り、どこから落ち始めるかを把握します。</li>



<li><strong>長い資料は置き方と渡し方を工夫する</strong><br>資料を先頭・質問を末尾に置き、引用させてから答えさせます。読ませるだけでなく、ファイルとして探させる構成も比べます。</li>



<li><strong>記憶機能は事実ごとと変化の追跡で評価する</strong><br>全体の正解率だけで判断せず、情報の更新や誤った前提を含む質問で正しく振る舞えるかを確かめます。</li>
</ol>



<h2 class="wp-block-heading"><span id="toc20">まとめ：長文脈と記憶は「どれだけ入るか」から「どれだけ使えるか」へ！</span></h2>



<p class="wp-block-paragraph">コンテキストウィンドウは会話の履歴や出力まで含めた「作業机」の広さで、各社とも長くなるほど精度が落ちうると説明しています。研究でも、情報の詰まり具合や長さによって上限よりずっと手前で見落としが起きる例や、記憶が「保存されていても使われない」例が示されました。</p>



<p class="wp-block-paragraph">まずは、よく使う長い資料を1つ選び、答えの書かれた箇所を動かしながら同じ質問をしてみてください。自社の環境で「どこまで読めるか」が見えてきます！</p>



<h2 class="wp-block-heading"><span id="toc21">参考文献</span></h2>



<ul class="wp-block-list">
<li>Anthropic「Context windows」（<a href="https://platform.claude.com/docs/en/build-with-claude/context-windows">https://platform.claude.com/docs/en/build-with-claude/context-windows</a>）2026-10-01 確認</li>



<li>Anthropic「Prompting best practices」（<a href="https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices">https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices</a>）2026-10-01 確認</li>



<li>Anthropic「Memory tool」（<a href="https://platform.claude.com/docs/en/agents-and-tools/tool-use/memory-tool">https://platform.claude.com/docs/en/agents-and-tools/tool-use/memory-tool</a>）2026-10-01 確認</li>



<li>Anthropic「Use Claude&#8217;s chat search and memory to build on previous context」（<a href="https://support.claude.com/en/articles/11817273-using-claude-s-chat-search-and-memory-to-build-on-previous-context">https://support.claude.com/en/articles/11817273-using-claude-s-chat-search-and-memory-to-build-on-previous-context</a>）2026-10-01 確認</li>



<li>Google「Long context」（<a href="https://ai.google.dev/gemini-api/docs/long-context">https://ai.google.dev/gemini-api/docs/long-context</a>）2026-10-01 確認</li>



<li>Google「Get personalization in Gemini Apps」（<a href="https://support.google.com/gemini/answer/16598623?hl=en">https://support.google.com/gemini/answer/16598623?hl=en</a>）2026-10-01 確認</li>



<li>OpenAI「Conversation state」（<a href="https://developers.openai.com/api/docs/guides/conversation-state">https://developers.openai.com/api/docs/guides/conversation-state</a>）2026-10-01 確認</li>



<li>Giovanni Dettori ほか「Dense Contexts Are Hard Contexts: Lexical Density Limits Effective Context in LLMs」arXiv:2606.06203（<a href="https://arxiv.org/abs/2606.06203">https://arxiv.org/abs/2606.06203</a>）2026-10-01 確認</li>



<li>Weiwei Wang ほか「Intelligence Degradation in Long-Context LLMs: Critical Threshold Determination via Natural Length Distribution Analysis」arXiv:2601.15300（<a href="https://arxiv.org/abs/2601.15300">https://arxiv.org/abs/2601.15300</a>）2026-10-01 確認</li>



<li>Weili Cao ほか「Coding Agents are Effective Long-Context Processors」arXiv:2603.20432（<a href="https://arxiv.org/abs/2603.20432">https://arxiv.org/abs/2603.20432</a>）2026-10-01 確認</li>



<li>Xianxuan Long ほか「MemTrace: Probing What Final Accuracy Misses in Long-Term Memory」arXiv:2606.17328（<a href="https://arxiv.org/abs/2606.17328">https://arxiv.org/abs/2606.17328</a>）2026-10-01 確認</li>
</ul>



<p class="wp-block-paragraph">2026-10-01 更新: 構成を見直し、論文へのリンクと参考文献を追加し、情報密度の実験条件、上限の半分手前での性能低下を調べた対象モデル、コーディングエージェントの比較結果の記述の誤りを修正しました</p><p>The post <a href="https://kuebiko.blog/archives/48/">【2026年最新】長文脈とAIの記憶×論文4選｜「長い資料ほど見落とす」「前に伝えたことを忘れる」を解く</a> first appeared on <a href="https://kuebiko.blog">クエビコ</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【2026年最新】LLMエージェントのセキュリティ×論文4選｜「プロンプトインジェクションが怖くて権限を渡せない」を解く</title>
		<link>https://kuebiko.blog/archives/47/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%25902026%25e5%25b9%25b4%25e6%259c%2580%25e6%2596%25b0%25e3%2580%2591llm%25e3%2582%25a8%25e3%2583%25bc%25e3%2582%25b8%25e3%2582%25a7%25e3%2583%25b3%25e3%2583%2588%25e3%2581%25ae%25e3%2582%25bb%25e3%2582%25ad%25e3%2583%25a5%25e3%2583%25aa%25e3%2583%2586%25e3%2582%25a3xarxiv%25e8%25ab%2596%25e6%2596%25874</link>
		
		<dc:creator><![CDATA[クエビコ]]></dc:creator>
		<pubDate>Sat, 19 Sep 2026 23:00:00 +0000</pubDate>
				<category><![CDATA[AIエージェント]]></category>
		<category><![CDATA[AIニュース]]></category>
		<category><![CDATA[論文解説]]></category>
		<category><![CDATA[LLM]]></category>
		<category><![CDATA[セキュリティ]]></category>
		<category><![CDATA[プロンプトインジェクション]]></category>
		<category><![CDATA[論文]]></category>
		<guid isPermaLink="false">https://blog.susanoo.mailsec-dev.com/?p=47</guid>

					<description><![CDATA[<p>AIエージェントに、メールの送信やファイルの操作、社内システムへの登録といった「実際に手を動かす権限」を渡す動きが広がっています。それと同時に最大の懸念になっているのが「プロンプトインジェクション」です。Webページやメ [&#8230;]</p>
<p>The post <a href="https://kuebiko.blog/archives/47/">【2026年最新】LLMエージェントのセキュリティ×論文4選｜「プロンプトインジェクションが怖くて権限を渡せない」を解く</a> first appeared on <a href="https://kuebiko.blog">クエビコ</a>.</p>]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">AIエージェントに、メールの送信やファイルの操作、社内システムへの登録といった「実際に手を動かす権限」を渡す動きが広がっています。それと同時に最大の懸念になっているのが<strong>「プロンプトインジェクション」</strong>です。Webページやメール、ツールの説明文など、エージェントが読み込むデータの中に指示を紛れ込ませ、本来の依頼とは別の行動を取らせる攻撃のことです。</p>



<p class="wp-block-paragraph">やっかいなのは、利用者が直接入力しなくても、エージェントが読みに行った先に指示が仕込まれていれば攻撃が成立する点です。「検知を1つ挟めば安心か」「どこまで権限を渡してよいか」の判断材料が足りず、PoCから先に進めないという声も少なくありません。とはいえ「怖いから権限を絞る」だけでは、エージェントの価値も一緒に小さくなってしまいます。</p>



<p class="wp-block-paragraph">この記事では、OWASP や英国の国家サイバーセキュリティセンター（NCSC）、各社の公式ドキュメントをもとに仕組みと対策の全体像を整理し、「検知で防ぐ」「検知の限界」「設計で閉じ込める」「ツール経由の新しい攻撃」を扱った論文4本を紹介します。結論を先に言うと、<strong>検知は「確率を下げる網」と割り切り、騙されても被害が出ないように権限と処理の流れを設計する</strong>のが基本です！</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-18" checked><label class="toc-title" for="toc-checkbox-18">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">プロンプトインジェクションとは何か：「データ」と「指示」の区別がつかない</a><ol><li><a href="#toc2" tabindex="0">OWASP による定義</a></li><li><a href="#toc3" tabindex="0">直接型と間接型</a></li><li><a href="#toc4" tabindex="0">なぜ根本的には防げないのか</a></li></ol></li><li><a href="#toc5" tabindex="0">対策の全体像：「起きにくくする」「見つける」「被害を小さくする」</a><ol><li><a href="#toc6" tabindex="0">起きにくくする</a></li><li><a href="#toc7" tabindex="0">見つける</a></li><li><a href="#toc8" tabindex="0">被害を小さくする</a></li></ol></li><li><a href="#toc9" tabindex="0">研究で見る「検知」の実力と限界</a><ol><li><a href="#toc10" tabindex="0">📄 論文: 既製のLLMに「紛れ込んだ指示」を見つけて取り除かせる</a></li><li><a href="#toc11" tabindex="0">📄 論文: 「ほぼ完璧な検知」が構造的に崩れるケース</a></li></ol></li><li><a href="#toc12" tabindex="0">研究で見る「設計で閉じ込める」</a><ol><li><a href="#toc13" tabindex="0">📄 論文: 信頼できないデータが「処理の流れ」を変えられない構造にする</a></li><li><a href="#toc14" tabindex="0">📄 論文: ツールの「説明文」が他のツールの使い方をねじ曲げる</a></li></ol></li><li><a href="#toc15" tabindex="0">現場でやること</a><ol><li><a href="#toc16" tabindex="0">まず「何を読ませて、何をさせているか」を一覧にする</a></li><li><a href="#toc17" tabindex="0">権限は「機能・権限・自律性」の3つで絞る</a></li><li><a href="#toc18" tabindex="0">外部の内容は「指示と分けて」渡し、検知は網として使う</a></li><li><a href="#toc19" tabindex="0">ログを残し、追加するツールを審査する</a></li></ol></li><li><a href="#toc20" tabindex="0">エージェントに権限を渡すための鍵は次の3点です</a></li><li><a href="#toc21" tabindex="0">まとめ：エージェントの安全は「見抜く」だけでなく「騙されても壊れない」設計で！</a></li><li><a href="#toc22" tabindex="0">参考文献</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">プロンプトインジェクションとは何か：「データ」と「指示」の区別がつかない</span></h2>



<h3 class="wp-block-heading"><span id="toc2">OWASP による定義</span></h3>



<p class="wp-block-paragraph">OWASP は、LLMアプリケーションのリスク一覧（2025年版）の1番目にプロンプトインジェクションを挙げ、入力によってLLMの振る舞いや出力が意図しない形で変わる脆弱性と定義しています。人間の目に見えない形でも、モデルが読み取れば効果を持ちます（<a href="https://genai.owasp.org/llmrisk/llm01-prompt-injection/">OWASP「LLM01:2025 Prompt Injection」</a>）。</p>



<h3 class="wp-block-heading"><span id="toc3">直接型と間接型</span></h3>



<p class="wp-block-paragraph">OWASP は、プロンプトインジェクションを2つの型に分けています。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>型</th><th>指示がどこから入るか</th><th>想定する相手</th></tr></thead><tbody><tr><td>直接型</td><td>利用者が入力する文そのもの</td><td>利用者自身が攻撃者になる場合</td></tr><tr><td>間接型</td><td>Webサイトやファイルなど外部から取り込む内容</td><td>利用者は正当で、読み込む先に仕込まれている場合</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Anthropic の公式ドキュメントも同じ分け方で、間接型の例に受信メール、取得したWebページ、ツールの実行結果などを挙げています（<a href="https://platform.claude.com/docs/en/test-and-evaluate/strengthen-guardrails/mitigate-jailbreaks">Anthropic「Mitigate jailbreaks and prompt injections」</a>）。エージェントにとって問題が大きいのは間接型です。Microsoft も、報告を受けるAIの脆弱性で最も多い手法の1つだと述べています（<a href="https://www.microsoft.com/en-us/msrc/blog/2025/07/how-microsoft-defends-against-indirect-prompt-injection-attacks">Microsoft「How Microsoft defends against indirect prompt injection attacks」</a>）。</p>



<p class="wp-block-paragraph">なお、検索して取り込む文書に指示を仕込むRAGの「毒入れ」については、<a href="/?p=40">RAGの実務×論文4選</a>で扱っています。</p>



<h3 class="wp-block-heading"><span id="toc4">なぜ根本的には防げないのか</span></h3>



<p class="wp-block-paragraph">英国 NCSC は2025年12月のブログで、プロンプトインジェクションを SQL インジェクションと同じように考えるのは危険だと指摘しています。SQL インジェクションはデータと命令を分けて扱う仕組みで根本から防げますが、LLMの内部には「データ」と「指示」の区別がなく、あるのは「次に来る言葉の予測」だけです。そのため同じ意味で完全に防げるようにはならない可能性が高い、としています（<a href="https://www.ncsc.gov.uk/blog-post/prompt-injection-is-not-sql-injection">NCSC「Prompt injection is not SQL injection (it may be worse)」</a>）。</p>



<p class="wp-block-paragraph">OWASP も確実な防ぎ方があるかは分からないとし、OpenAI も対策でリスクは大きく下がるがなくならないと書いています（<a href="https://developers.openai.com/api/docs/guides/agent-builder-safety">OpenAI「Safety in building agents」</a>）。NCSC は、残るリスクを前提に設計と運用で管理すべきで、それを許容できないならLLMに向いた用途ではないかもしれない、とまで述べています。</p>



<h2 class="wp-block-heading"><span id="toc5">対策の全体像：「起きにくくする」「見つける」「被害を小さくする」</span></h2>



<p class="wp-block-paragraph">Microsoft は対策を「予防」「検知」「影響の軽減」に分け、攻撃の可能性を下げるだけの<strong>確率的な対策</strong>と、設計で特定の攻撃が成功しないことを保証する<strong>決定的な対策</strong>を区別しています。すべてに決定的な対策は使えないので、組み合わせる考え方です。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>層</th><th>主な対策</th><th>性質</th></tr></thead><tbody><tr><td>起きにくくする</td><td>外部の内容を指示と分けて渡す、システムプロンプトで扱いを明示する</td><td>確率的</td></tr><tr><td>見つける</td><td>小型モデルなどで入力やツールの結果を事前に判定する、ログを残す</td><td>確率的</td></tr><tr><td>被害を小さくする</td><td>最小権限、重要な操作の前の人の承認、データの流れの制限</td><td>決定的にできる</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc6">起きにくくする</span></h3>



<p class="wp-block-paragraph">各社に共通するのは、<strong>外部から来た内容を開発者の指示と混ぜない</strong>ことです。Anthropic は外部の内容をツールの結果として出どころとともに渡し、それが信頼できないデータだとシステムプロンプトに明記するよう勧めています。OpenAI も、信頼できない入力を開発者向けの指示に入れないこと、処理の間を決まった形式の出力でつなぐことを挙げています。</p>



<h3 class="wp-block-heading"><span id="toc7">見つける</span></h3>



<p class="wp-block-paragraph">入力やツールの結果を、本体に渡す前に小型のモデルで判定させる方法も紹介されています（Anthropic）。ただし NCSC は、既知の危険な言い回しを拒否リストで止める方法には、言い換えが無限にあるため注意が必要だとしています。</p>



<h3 class="wp-block-heading"><span id="toc8">被害を小さくする</span></h3>



<p class="wp-block-paragraph">OWASP は、最小権限と、権限の大きい操作に人の承認を挟むことを挙げています。同じ一覧の「過剰な権限（Excessive Agency）」の項目では、被害の根本原因を「機能が多すぎる」「権限が強すぎる」「自律性が高すぎる」の3つに整理しています（<a href="https://genai.owasp.org/llmrisk/llm062025-excessive-agency/">OWASP「LLM06:2025 Excessive Agency」</a>）。NCSC は、LLMを使わない仕組みで行動を縛る対策を重視すべきだとしています。ここからは、それぞれの層に取り組んだ論文を見ていきます。</p>



<h2 class="wp-block-heading"><span id="toc9">研究で見る「検知」の実力と限界</span></h2>



<h3 class="wp-block-heading"><span id="toc10">📄 論文: 既製のLLMに「紛れ込んだ指示」を見つけて取り除かせる</span></h3>



<p class="wp-block-paragraph"><strong>PromptArmor: Simple yet Effective Prompt Injection Defenses</strong>（Tianneng Shi ほか、2025年7月、<a href="https://arxiv.org/abs/2507.15219">arXiv:2507.15219</a>）は、査読前の論文（プレプリント）です。</p>



<p class="wp-block-paragraph">評価は、銀行・メッセージ・旅行・業務の4種類の模擬環境でエージェントの作業を再現するベンチマーク AgentDojo 上で、検知役には主に OpenAI のAPIのモデルを使っています。</p>



<p class="wp-block-paragraph">市販のLLMに工夫したプロンプトを与え、エージェントが読む前のツールの結果から紛れ込んだ指示を見つけて取り除かせる方法です。検知役に GPT-4o、GPT-4.1、o4-mini を使うと、ベンチマーク付属の定型的な手口に対して誤検知と見逃しがともに<strong>1%未満</strong>で、防御なしでは約55%だった攻撃成功率も1%未満に下がりました。防御を知ったうえで自動で手口を変えて試す攻撃（1手法）でも、攻撃成功率は<strong>0.34%</strong>でしたが、見逃しは約2%と通常の評価より増えています。古いモデル（GPT-3.5）を検知役にすると、誤検知・見逃しとも1割を超えました。</p>



<p class="wp-block-paragraph">運営者にとっての意味は、性能の高いモデルを検知役にすれば手軽な「1枚目の網」として有力だが、評価の範囲外の攻撃にも同じ数字が出るとは限らない、ということです。</p>



<h3 class="wp-block-heading"><span id="toc11">📄 論文: 「ほぼ完璧な検知」が構造的に崩れるケース</span></h3>



<p class="wp-block-paragraph"><strong>How Not to Detect Prompt Injections with an LLM</strong>（Sarthak Choudhary ほか、2025年7月投稿・2025年12月改訂、<a href="https://arxiv.org/abs/2507.05630">arXiv:2507.05630</a>）は、査読前の論文（プレプリント）です。</p>



<p class="wp-block-paragraph">評価の対象は、KAD を強化した代表的な防御（検知役を追加学習したもの）1つで、感情分析や要約など7種類の文章処理の課題に、本体のモデルとして GPT-4.1 や Claude 4 Sonnet など4つを組み合わせて測っています。エージェントでの評価ではありません。</p>



<p class="wp-block-paragraph">「既知回答検知（KAD）」は、検知役のLLMに答えの分かっている確認用の課題を出し、入力に指示が紛れ込んでいれば検知役がそちらに引っ張られて正しく答えられなくなる、という性質を利用する方式で、「ほぼ完璧」と報告されていました。著者らはこの前提そのものの構造的な弱点を突く攻撃を設計しました。モデルの内部へのアクセスも、攻撃文の最適化計算も使っていません。検知率はほとんどの課題で<strong>0%</strong>まで下がり、攻撃の成功率は課題とモデルによっては<strong>9割前後</strong>に達しました（1割未満の組み合わせもあります）。</p>



<p class="wp-block-paragraph">運営者にとっての意味は、検知の数字は「攻撃者が仕組みを知らない」前提のことが多く、検知だけに頼るのは危険だということです。</p>



<h2 class="wp-block-heading"><span id="toc12">研究で見る「設計で閉じ込める」</span></h2>



<h3 class="wp-block-heading"><span id="toc13">📄 論文: 信頼できないデータが「処理の流れ」を変えられない構造にする</span></h3>



<p class="wp-block-paragraph"><strong>Defeating Prompt Injections by Design</strong>（Edoardo Debenedetti ほか、2025年3月投稿・2025年6月改訂、<a href="https://arxiv.org/abs/2503.18813">arXiv:2503.18813</a>）は、査読前の論文（プレプリント）です。</p>



<p class="wp-block-paragraph">評価は AgentDojo の模擬環境で、o3、Claude 4 Sonnet、Gemini 2.5 Pro など各社のモデルを使っています。</p>



<p class="wp-block-paragraph">「LLMが騙されても被害が出ない」構造を目指した「CaMeL」で、NCSC のブログでも設計で防ぐ主要な研究として紹介されています。利用者の依頼から先に処理の手順とデータの流れを組み立て、外部のデータは中身の読み取りにしか使わせません。さらにデータごとに「どこへ渡してよいか」を表す権限情報（ケイパビリティ）を付け、ツールを呼ぶ直前にルールと照合して持ち出しを止めます。o3 を使った場合、普通にツールを呼ばせる方式の<strong>84%</strong>に対してタスクの<strong>77%</strong>を解きましたが、この差はモデルによって3ポイント程度から30ポイント以上まで開きます。著者ら自身も、ルールを保守する手間や、データの流れに関わらない攻撃は対象外であることを挙げ、「完全に解決したわけではない」と明言しています。</p>



<p class="wp-block-paragraph">運営者にとっての意味は、「どのデータをどのツールに渡してよいか」をLLMの外で決めておけば、モデルが騙されても重大な操作を止められるということです。下がる成功率が許容できるかは、使うモデルで確かめます。</p>



<h3 class="wp-block-heading"><span id="toc14">📄 論文: ツールの「説明文」が他のツールの使い方をねじ曲げる</span></h3>



<p class="wp-block-paragraph"><strong>Think Twice Before You Act: Protecting LLM Agents Against Tool Description Poisoning via Isolated Planning</strong>（Shanghao Shi ほか、2026年6月、<a href="https://arxiv.org/abs/2606.20922">arXiv:2606.20922</a>）は、ICML 2026 採録（abs のコメント欄の記載）です。</p>



<p class="wp-block-paragraph">評価は AgentDojo と、10種類の業務場面を模した ASB という2つのベンチマーク上で、GPT-4o などのAPIのモデルを使って行ったものです。</p>



<p class="wp-block-paragraph">ツールの説明文（何ができるかを書いたメタデータ）は、エージェントが計画を立てるたびに読み込まれます。あまり使われないツールの説明文を書き換えるだけで、送金など<strong>別の重要なツール</strong>を呼ばせる脅威で、書き換えられたツール自体が選ばれなくても成立します。既存の対策5種では、一部は攻撃を減らすものの成功率は高いまま残りました。提案手法「Tool-Guard」は、呼び出しが依頼内容とかみ合わないと判定されたツールを「影響を受けた可能性があるもの」の一覧に移し、その一覧と残りのツールとで計画を別々に立てさせます。移されたツールは悪者扱いではなく、引き続き使えます。AgentDojo で GPT-4o を使うと、攻撃成功率は防御なしの約43%から<strong>約2%</strong>に下がり、ASB でも低い水準に抑えられました。</p>



<p class="wp-block-paragraph">運営者にとっての意味は、つないだツールの説明文も「信頼できない入力」として扱う必要がある、ということです。</p>



<h2 class="wp-block-heading"><span id="toc15">現場でやること</span></h2>



<h3 class="wp-block-heading"><span id="toc16">まず「何を読ませて、何をさせているか」を一覧にする</span></h3>



<p class="wp-block-paragraph">エージェントごとに、読み込む外部の内容と、使えるツールや権限を書き出します。外部の内容を読む処理と、送信・削除・支払いのような重要な操作が同じエージェントにあれば、最初に見直す対象です。</p>



<h3 class="wp-block-heading"><span id="toc17">権限は「機能・権限・自律性」の3つで絞る</span></h3>



<ul class="wp-block-list">
<li>業務に要らないツールはつながない（機能）</li>



<li>読み取りだけでよいなら書き込み権限を渡さない（権限）</li>



<li>送信・削除・外部への共有など取り消しにくい操作の前に、人の承認を挟む（自律性）</li>
</ul>



<h3 class="wp-block-heading"><span id="toc18">外部の内容は「指示と分けて」渡し、検知は網として使う</span></h3>



<p class="wp-block-paragraph">外部の内容は出どころを明示してツールの結果として渡し、性能の高いモデルによる事前の判定を1枚目の網として入れます。ただし、どちらも防げることを保証するものではないので、前の項目の権限の絞り込みと必ず組み合わせます。コード生成エージェントのように、リポジトリの中身を読んで書き込む使い方なら、<a href="/?p=42">コード生成エージェント×論文4選</a>で扱ったレビュー体制も合わせて考えます。</p>



<h3 class="wp-block-heading"><span id="toc19">ログを残し、追加するツールを審査する</span></h3>



<p class="wp-block-paragraph">LLMの入出力とツールの呼び出しを記録しておけば、攻撃者が試行錯誤している段階で気づける可能性があります（NCSC）。新しいツールの説明文に他のツールの使い方を指図する記述がないかを確認し、出どころの分からないツールは重要な操作のあるエージェントと一緒にしないようにします。</p>



<h2 class="wp-block-heading"><span id="toc20">エージェントに権限を渡すための鍵は次の3点です</span></h2>



<ol class="wp-block-list">
<li><strong>検知は「確率を下げる網」と割り切る</strong><br>既製のLLMによる検知は手軽で効果も高い一方、仕組みを知った攻撃者に崩される方式もあります。検知だけに頼らない構成にします。</li>



<li><strong>権限とデータの流れを「LLMの外」で縛る</strong><br>最小権限、取り消しにくい操作の前の承認、データを渡してよい先のルールを、モデルの判断に任せずに決めておきます。下がる成功率が許容できるかも確かめます。</li>



<li><strong>ツールの説明文も「信頼できない入力」として扱う</strong><br>つなぐツールを審査し、ツール同士の影響を切り分けられるようにしておきます。</li>
</ol>



<h2 class="wp-block-heading"><span id="toc21">まとめ：エージェントの安全は「見抜く」だけでなく「騙されても壊れない」設計で！</span></h2>



<p class="wp-block-paragraph">プロンプトインジェクションは、LLMがデータと指示を区別できないことから生まれる問題で、公的機関も各社も「完全には防げない」という立場です。だからこそ2026年現在は、検知で攻撃の可能性を下げる対策と、騙されても被害が出ないように権限と処理の流れを設計する対策を、組み合わせる考え方が重視されています。</p>



<p class="wp-block-paragraph">まずは自社のエージェントが「何を読み、何をしているか」を一覧にしてみてください。外部の内容を読む処理と重要な操作が同じ場所にあれば、そこが最初に手を入れるところです！</p>



<h2 class="wp-block-heading"><span id="toc22">参考文献</span></h2>



<ul class="wp-block-list">
<li>OWASP「LLM01:2025 Prompt Injection」（<a href="https://genai.owasp.org/llmrisk/llm01-prompt-injection/">https://genai.owasp.org/llmrisk/llm01-prompt-injection/</a>）2026-10-01 確認</li>



<li>OWASP「LLM06:2025 Excessive Agency」（<a href="https://genai.owasp.org/llmrisk/llm062025-excessive-agency/">https://genai.owasp.org/llmrisk/llm062025-excessive-agency/</a>）2026-10-01 確認</li>



<li>英国 NCSC「Prompt injection is not SQL injection (it may be worse)」（<a href="https://www.ncsc.gov.uk/blog-post/prompt-injection-is-not-sql-injection">https://www.ncsc.gov.uk/blog-post/prompt-injection-is-not-sql-injection</a>）2026-10-01 確認</li>



<li>Microsoft Security Response Center「How Microsoft defends against indirect prompt injection attacks」（<a href="https://www.microsoft.com/en-us/msrc/blog/2025/07/how-microsoft-defends-against-indirect-prompt-injection-attacks">https://www.microsoft.com/en-us/msrc/blog/2025/07/how-microsoft-defends-against-indirect-prompt-injection-attacks</a>）2026-10-01 確認</li>



<li>Anthropic「Mitigate jailbreaks and prompt injections」（<a href="https://platform.claude.com/docs/en/test-and-evaluate/strengthen-guardrails/mitigate-jailbreaks">https://platform.claude.com/docs/en/test-and-evaluate/strengthen-guardrails/mitigate-jailbreaks</a>）2026-10-01 確認</li>



<li>OpenAI「Safety in building agents」（<a href="https://developers.openai.com/api/docs/guides/agent-builder-safety">https://developers.openai.com/api/docs/guides/agent-builder-safety</a>）2026-10-01 確認</li>



<li>Tianneng Shi ほか「PromptArmor: Simple yet Effective Prompt Injection Defenses」arXiv:2507.15219（<a href="https://arxiv.org/abs/2507.15219">https://arxiv.org/abs/2507.15219</a>）2026-10-01 確認</li>



<li>Sarthak Choudhary ほか「How Not to Detect Prompt Injections with an LLM」arXiv:2507.05630（<a href="https://arxiv.org/abs/2507.05630">https://arxiv.org/abs/2507.05630</a>）2026-10-01 確認</li>



<li>Edoardo Debenedetti ほか「Defeating Prompt Injections by Design」arXiv:2503.18813（<a href="https://arxiv.org/abs/2503.18813">https://arxiv.org/abs/2503.18813</a>）2026-10-01 確認</li>



<li>Shanghao Shi ほか「Think Twice Before You Act: Protecting LLM Agents Against Tool Description Poisoning via Isolated Planning」arXiv:2606.20922（<a href="https://arxiv.org/abs/2606.20922">https://arxiv.org/abs/2606.20922</a>）2026-10-01 確認</li>
</ul>



<p class="wp-block-paragraph">2026-10-01 更新: 構成を見直し、論文へのリンクと参考文献を追加し、既知回答検知を破る攻撃の成功率、CaMeLのタスク成功率の比較、Tool-Guardが隔離するツールの記述の誤りを修正しました</p><p>The post <a href="https://kuebiko.blog/archives/47/">【2026年最新】LLMエージェントのセキュリティ×論文4選｜「プロンプトインジェクションが怖くて権限を渡せない」を解く</a> first appeared on <a href="https://kuebiko.blog">クエビコ</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【2026年最新】コード生成エージェント×論文4選｜「レビューが追いつかない」「テストが薄い」を解く最前線</title>
		<link>https://kuebiko.blog/archives/42/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%25902026%25e5%25b9%25b4%25e6%259c%2580%25e6%2596%25b0%25e3%2580%2591%25e3%2582%25b3%25e3%2583%25bc%25e3%2583%2589%25e7%2594%259f%25e6%2588%2590%25e3%2582%25a8%25e3%2583%25bc%25e3%2582%25b8%25e3%2582%25a7%25e3%2583%25b3%25e3%2583%2588xarxiv%25e8%25ab%2596%25e6%2596%25874%25e9%2581%25b8%25ef%25bd%259c</link>
		
		<dc:creator><![CDATA[クエビコ]]></dc:creator>
		<pubDate>Fri, 18 Sep 2026 02:36:33 +0000</pubDate>
				<category><![CDATA[AIエージェント]]></category>
		<category><![CDATA[AIニュース]]></category>
		<category><![CDATA[論文解説]]></category>
		<category><![CDATA[LLM]]></category>
		<category><![CDATA[コードレビュー]]></category>
		<category><![CDATA[コード生成]]></category>
		<category><![CDATA[テスト自動化]]></category>
		<category><![CDATA[論文]]></category>
		<guid isPermaLink="false">https://blog.susanoo.mailsec-dev.com/?p=42</guid>

					<description><![CDATA[<p>コードの一部を補完してくれるAIから、Issueを読んで修正し、プルリクエスト（PR）まで出してくれる「コード生成エージェント」の時代へと移りつつあります。リポジトリを読み、コードを直し、テストを走らせるところまで任せら [&#8230;]</p>
<p>The post <a href="https://kuebiko.blog/archives/42/">【2026年最新】コード生成エージェント×論文4選｜「レビューが追いつかない」「テストが薄い」を解く最前線</a> first appeared on <a href="https://kuebiko.blog">クエビコ</a>.</p>]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">コードの一部を補完してくれるAIから、Issueを読んで修正し、プルリクエスト（PR）まで出してくれる<strong>「コード生成エージェント」</strong>の時代へと移りつつあります。リポジトリを読み、コードを直し、テストを走らせるところまで任せられる製品が各社から出ており、AIが自分でPRを作ること自体は珍しくなくなりました。</p>



<p class="wp-block-paragraph">しかし、実際にチームへ導入すると「AIが出すPRのレビューに人間の時間が取られる」「テストが十分なのか分からない」「ベンチマークのスコアほど実務で役に立たない」といった悩みに直面します。この記事では、各社の公式ドキュメントと OWASP・OpenSSF の公開資料をもとに、コード生成エージェントの仕組みと、その中でレビューとテストがどこに置かれているかを整理します。そのうえで、レビュー・テスト・評価の3つの観点から論文4本を紹介します。結論を先に言うと、<strong>「完成の定義」をテストとして人が先に決め、PRは変更行が本当にテストされているかで確かめ、AIレビューは自分たちの規約に沿わせる</strong>のが基本です！</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-20" checked><label class="toc-title" for="toc-checkbox-20">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">コード生成エージェントとは何か：Issue から PR までを自走する</a><ol><li><a href="#toc2" tabindex="0">隔離された環境で「読む・直す・試す」を繰り返す</a></li><li><a href="#toc3" tabindex="0">歯止めは「人のレビュー」と「権限の絞り込み」</a></li></ol></li><li><a href="#toc4" tabindex="0">レビューとテストは「省略できない工程」</a><ol><li><a href="#toc5" tabindex="0">OWASP は「AIが生成したコードへの不適切な信頼」を挙げた</a></li><li><a href="#toc6" tabindex="0">OpenSSF は「レビューとテストの代わりにはならない」と明記</a></li></ol></li><li><a href="#toc7" tabindex="0">研究で見る「レビュー」と「テスト」の回し方</a><ol><li><a href="#toc8" tabindex="0">📄 論文: チームの規約に沿わせると、AIレビューの指摘が採用されやすくなる</a></li><li><a href="#toc9" tabindex="0">📄 論文: 人がテストを書き、AIがそれを通す分業</a></li></ol></li><li><a href="#toc10" tabindex="0">研究で見る「テストの薄さ」と「スコアの当てにならなさ」</a><ol><li><a href="#toc11" tabindex="0">📄 論文: AIが出したPRは、どこまでテストされているか</a></li><li><a href="#toc12" tabindex="0">📄 論文: ベンチマークの高いスコアには「暗記」が混ざっている可能性</a></li></ol></li><li><a href="#toc13" tabindex="0">現場でやること</a><ol><li><a href="#toc14" tabindex="0">「完成の定義」をテストとして先に書く</a></li><li><a href="#toc15" tabindex="0">PRは「CIが緑」ではなく「変更行が実行されたか」で見る</a></li><li><a href="#toc16" tabindex="0">AIレビューには自分たちの規約を渡す</a></li><li><a href="#toc17" tabindex="0">製品選びは自社のリポジトリで試す</a></li></ol></li><li><a href="#toc18" tabindex="0">コード生成エージェント導入の鍵は次の3点です</a></li><li><a href="#toc19" tabindex="0">まとめ：コード生成エージェントは「書かせる」から「検証の仕組みごと設計する」へ！</a></li><li><a href="#toc20" tabindex="0">参考文献</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">コード生成エージェントとは何か：Issue から PR までを自走する</span></h2>



<h3 class="wp-block-heading"><span id="toc2">隔離された環境で「読む・直す・試す」を繰り返す</span></h3>



<p class="wp-block-paragraph">コード生成エージェントは、指示を受けると自分でリポジトリを調べ、複数のファイルを書き換え、テストなどのコマンドを実行して結果を確かめます。各社の公式ドキュメントでは、次のように説明されています。</p>



<ul class="wp-block-list">
<li><strong>GitHub Copilot cloud agent</strong>: GitHub Actions を使った一時的な開発環境の中でコードを調べ、変更し、自動テストやリンターを実行して、ブランチ上の変更からPRを作ります。IDEの中で動く「エージェントモード」とは別の機能だと明記されています（<a href="https://docs.github.com/en/copilot/concepts/agents/cloud-agent/about-cloud-agent">GitHub「About GitHub Copilot cloud agent」</a>）</li>



<li><strong>Claude Code</strong>: コードベースを読み、ファイルを編集し、コマンドを実行するツールで、ブランチの作成からPRの作成までgitの操作も行えます。プロジェクトに置いた設定ファイル（CLAUDE.md）に、コーディング規約やレビューのチェックリストを書いておけます（<a href="https://code.claude.com/docs/en/overview">Anthropic「Claude Code overview」</a>）</li>



<li><strong>Codex（クラウド）</strong>: タスクごとに独立した作業環境を用意し、利用者は変更とテスト結果を確かめてからコミットやPRの作成に進みます（<a href="https://learn.chatgpt.com/docs/cloud">OpenAI「Codex Cloud」</a>）</li>
</ul>



<p class="wp-block-paragraph">どの製品も「エージェントが作業し、人が確かめて取り込む」分担が前提です。</p>



<h3 class="wp-block-heading"><span id="toc3">歯止めは「人のレビュー」と「権限の絞り込み」</span></h3>



<p class="wp-block-paragraph">GitHub のドキュメントでは、Copilot cloud agent が作ったPRは人がレビューしてマージする必要があり、エージェント自身はPRを承認もマージもできないと説明しています。さらに、エージェントが書き込めるのは専用のブランチだけで、作業を頼んだ本人はそのPRを承認できません。CIのワークフローも、既定では書き込み権限のある人が承認するまで動きません（<a href="https://docs.github.com/en/copilot/concepts/security-governance-and-network-settings/risks-and-mitigations">GitHub「Risks and mitigations」</a>）。</p>



<p class="wp-block-paragraph">Claude Code も、手動で承認するモードでは読み取り専用の権限から始まり、ファイルの編集やテストの実行の前に利用者へ確認します。承認前にコードとコマンドを確かめる責任は利用者にある、とも書かれています（<a href="https://code.claude.com/docs/en/security">Anthropic「Security」</a>）。エージェントに渡す権限の話は、<a href="/?p=47">LLMエージェントのセキュリティの記事</a>で詳しく扱っています。</p>



<h2 class="wp-block-heading"><span id="toc4">レビューとテストは「省略できない工程」</span></h2>



<h3 class="wp-block-heading"><span id="toc5">OWASP は「AIが生成したコードへの不適切な信頼」を挙げた</span></h3>



<p class="wp-block-paragraph">OWASP Top 10 の2025年版は、本体の10項目とは別の「Next Steps」で、選外ながら取り組む価値がある問題を3つ挙げており、その X03 が「AIが生成したコードへの不適切な信頼（いわゆるバイブコーディング）」です。AIが生成したコードは人が書いたコードより脆弱性を含みやすいことがよく知られているとしたうえで、提出するコードはAIが書いたものでもすべて読んで理解し、責任を持つこと、AIの助けを借りたコードはできれば自分の目と静的解析などのツールの両方で徹底的にレビューすることを勧めています（<a href="https://owasp.org/Top10/2025/X01_2025-Next_Steps/">OWASP「Top 10:2025 Next Steps」</a>）。</p>



<h3 class="wp-block-heading"><span id="toc6">OpenSSF は「レビューとテストの代わりにはならない」と明記</span></h3>



<p class="wp-block-paragraph">オープンソースのセキュリティに取り組む OpenSSF も、AIのコーディング支援向けのガイドで、AIが生成したコードはコードレビュー、テスト、静的解析といった工程を飛ばす近道ではないと述べています。AIはエラー処理を無視するなどの問題を持ち込むことがあるとして、AIへの指示ファイルに「重要な関数には、失敗すべきときに安全に失敗することを確かめるテストも作る」といった内容を書くことを勧めています（<a href="https://best.openssf.org/Security-Focused-Guide-for-AI-Code-Assistant-Instructions">OpenSSF「Security-Focused Guide for AI Code Assistant Instructions」</a>）。</p>



<p class="wp-block-paragraph">つまり、エージェントを入れてもレビューとテストは人の仕事として残ります。ここからは、それをどう回すかに取り組んだ論文を見ていきます。</p>



<h2 class="wp-block-heading"><span id="toc7">研究で見る「レビュー」と「テスト」の回し方</span></h2>



<h3 class="wp-block-heading"><span id="toc8">📄 論文: チームの規約に沿わせると、AIレビューの指摘が採用されやすくなる</span></h3>



<p class="wp-block-paragraph"><strong>SGCR: A Specification-Grounded Framework for Trustworthy LLM Code Review</strong>（Kai Wang ほか、2025年12月投稿・2026年1月改訂、<a href="https://arxiv.org/abs/2512.17540">arXiv:2512.17540</a>）は、ASE 2025 採録（abs のコメント欄の記載）です。</p>



<p class="wp-block-paragraph">対象は、HiThink Research 社の本番の Java 開発プロジェクトです。経験のある開発者が業務に合わせて書いた140個のルールを用意し、自社で動かした32Bパラメータの言語モデルでレビューを行い、200人の参加者の開発の中で比べました。比較の相手は、同じモデルにルールを渡さずレビューさせた場合です。</p>



<p class="wp-block-paragraph">LLMのレビューには、一般論的な指摘や業務の文脈に合わない指摘が混ざりがちです。この論文の仕組みは、規約から導いたルールをモデルに渡して確実に当てはめる経路と、モデルが自由に問題を探したあとで関連するルールを検索して本当に問題かを検証する経路を組み合わせます。指摘が最終的なコミットに反映された割合（採用率）は、ルールなしの<strong>22%</strong>に対して<strong>42%</strong>に上がりました。</p>



<p class="wp-block-paragraph">現場にとっての意味は、少なくともこの環境では、同じモデルでも自分たちの規約を言葉にして渡すだけで指摘が採用されやすくなった、ということです。他の環境での効果は自分たちで確かめます。ルール集を保守する手間は課題として挙がっています。</p>



<h3 class="wp-block-heading"><span id="toc9">📄 論文: 人がテストを書き、AIがそれを通す分業</span></h3>



<p class="wp-block-paragraph"><strong>TDFlow: Agentic Workflows for Test Driven Development</strong>（Kevin Han ほか、2025年10月投稿・2026年1月改訂、<a href="https://arxiv.org/abs/2510.23761">arXiv:2510.23761</a>）は、EACL 2026 採録（abs のコメント欄の記載）です。</p>



<p class="wp-block-paragraph">対象は、Django などの Python のオープンソースから集めた公開ベンチマーク SWE-Bench の問題です。通常は隠されている「人が書いた正解判定用のテスト」をあえてシステムに渡し、そのテストを通せるかを測りました。修正案の作成・デバッグ・修正案の手直しを別々のサブエージェントに分け（テストがなければテスト作成も別のサブエージェントが担当）、1つのエージェントが長い文脈を抱え込まないようにしたのが特徴です。</p>



<p class="wp-block-paragraph">修正側に GPT-5 を使い、検証済みの500問（SWE-Bench Verified）で試した結果、人が書いたテストを渡すと<strong>94.3%</strong>の問題を解けた一方、テストもAIが自分で作る設定では68.0%にとどまりました。人が書いたテストを渡した実行（2つのベンチマークで計800件）を人手で調べたところ、テストを通すためだけの不正な修正が7件見つかり、これらは失敗として数えています。著者らは、自動修正の最大の壁は「バグを正しく再現するテストを書くこと」だと結論づけています。</p>



<p class="wp-block-paragraph">現場にとっての意味は、何ができたら完成かをテストとして人が先に書けば、エージェントが成果を出しやすくなるということです。ただし、テストが間違っていても後から直す仕組みはないと著者ら自身が述べており、テストの正しさは人が担保する必要があります。</p>



<h2 class="wp-block-heading"><span id="toc10">研究で見る「テストの薄さ」と「スコアの当てにならなさ」</span></h2>



<h3 class="wp-block-heading"><span id="toc11">📄 論文: AIが出したPRは、どこまでテストされているか</span></h3>



<p class="wp-block-paragraph"><strong>Test Coverage Analysis of Agentic Pull Requests</strong>（Atish Kumar Dipongkor ほか、2026年7月、<a href="https://arxiv.org/abs/2607.18057">arXiv:2607.18057</a>）は、ICSME 2026 掲載予定（abs のコメント欄の記載）です。</p>



<p class="wp-block-paragraph">対象は、5種類のコード生成エージェントが GitHub 上の実際のリポジトリに出したPRを集めた公開データセットのうち、Java 532件と Python 4,350件です。テストの変更を含むかはこの全件で調べ、網羅率（カバレッジ）は、マージ済みでビルドと計測ができた Java 213件・Python 1,664件のPRについて、研究者がリポジトリのテストを実行して測りました。</p>



<p class="wp-block-paragraph">本体のコードを変えたPRのうち、テストも変更していたのは<strong>49.6%</strong>で、約半数はテストに手を付けていませんでした。既存のテストで実行された変更行の割合は、Java で61.5%、Python では<strong>27.0%</strong>にとどまり、Python では64.8%のPRで変更行が1行も既存のテストで実行されていませんでした。エージェント自身が書いたテストで網羅率が上がったPRも少数派です。また、try や catch のブロックなどのエラー処理は、両方の言語で共通して8割以上の行がテストで実行されていませんでした。</p>



<p class="wp-block-paragraph">現場にとっての意味は、「CIが通った」は「変更がテストされた」と同じではない、ということです。OWASP Top 10:2025 でも「例外的な状況の不適切な処理」が10項目の1つに入っており（<a href="https://owasp.org/Top10/2025/">OWASP「Top 10:2025」</a>）、エラー処理はレビューで重点的に見たい箇所です。</p>



<h3 class="wp-block-heading"><span id="toc12">📄 論文: ベンチマークの高いスコアには「暗記」が混ざっている可能性</span></h3>



<p class="wp-block-paragraph"><strong>The SWE-Bench Illusion: When State-of-the-Art LLMs Remember Instead of Reason</strong>（Shanchao Liang ほか、2025年6月投稿・2025年12月改訂、<a href="https://arxiv.org/abs/2506.12286">arXiv:2506.12286</a>）は、査読前の論文（プレプリント）です。</p>



<p class="wp-block-paragraph">対象は、OpenAI と Anthropic の10個のモデルで、各社のAPIを既定の設定で使いました。SWE-Bench Verified（12個の Python リポジトリから集めた500問）と、SWE-Bench に含まれない有名な7つのリポジトリから作った245問などを比べています。課題は、リポジトリの中身を見せずに Issue の文章だけからバグのあるファイルを当てるなど、「本来は解けないはずの」診断用の問題です。</p>



<p class="wp-block-paragraph">ファイルを当てる課題では、正答率が SWE-Bench Verified で<strong>最大76%</strong>だったのに対し、SWE-Bench に含まれない7つのリポジトリの課題では最大53%にとどまりました。関数を書かせる課題でも、正解のコードと5トークン連続で一致する割合が SWE-Bench Verified で最大約35%と、同じリポジトリの新しい Issue や他のベンチマークの最大約18%より高くなりました。著者らは、学習データにベンチマークの問題や正解が含まれていた可能性を指摘しています。</p>



<p class="wp-block-paragraph">現場にとっての意味は、公開ベンチマークのスコアは自社のコードでの実力をそのまま表すとは限らない、ということです。製品は自社のリポジトリで試して選びます。</p>



<h2 class="wp-block-heading"><span id="toc13">現場でやること</span></h2>



<h3 class="wp-block-heading"><span id="toc14">「完成の定義」をテストとして先に書く</span></h3>



<p class="wp-block-paragraph">エージェントに任せる前に、何ができたら完了かを人がテストとして用意します。バグ修正なら、まずそのバグを再現するテストを書きます。テストはエージェントが書き換えられないように守りましょう。</p>



<h3 class="wp-block-heading"><span id="toc15">PRは「CIが緑」ではなく「変更行が実行されたか」で見る</span></h3>



<ul class="wp-block-list">
<li>PRの差分ごとに、変更行がテストで実行されたかをカバレッジで確かめる</li>



<li>エージェントが追加したテストが変更行を実行しているかを見る</li>



<li>エラー処理の分岐は、失敗すべきときに安全に失敗するかをレビューで重点的に確かめる</li>
</ul>



<h3 class="wp-block-heading"><span id="toc16">AIレビューには自分たちの規約を渡す</span></h3>



<p class="wp-block-paragraph">コーディング規約やレビューの観点を短いルールにまとめ、エージェントやAIレビューの指示ファイルに書きます。規約を外部の資料と照らし合わせて使いたい場合は、<a href="/?p=40">RAG の記事</a>も参考になります。ルールは採用されなかった指摘を見直しながら少しずつ増やします。</p>



<h3 class="wp-block-heading"><span id="toc17">製品選びは自社のリポジトリで試す</span></h3>



<p class="wp-block-paragraph">公開ベンチマークのスコアは参考程度にとどめます。過去に人が直した自社のバグを修正前の状態から各製品に解かせ、正しく直せたか、テストを付けたか、レビューの手間を比べます。</p>



<h2 class="wp-block-heading"><span id="toc18">コード生成エージェント導入の鍵は次の3点です</span></h2>



<ol class="wp-block-list">
<li><strong>「完成の定義」をテストとして人が先に書く</strong><br>通すべきテストがあれば、エージェントが成果を出しやすくなります。バグ修正では再現テストを最初に用意し、テストの正しさは人が担保します。</li>



<li><strong>PRは「変更行がテストされているか」で確かめる</strong><br>差分のカバレッジを確認し、エラー処理のような手薄になりやすい箇所を重点的にレビューします。</li>



<li><strong>AIレビューは規約に沿わせ、製品選びは自社のコードで測る</strong><br>論文の環境では、規約に基づく指摘のほうが採用されやすくなりました。公開ベンチマークのスコアは参考にとどめ、自分たちのリポジトリで試して判断します。</li>
</ol>



<h2 class="wp-block-heading"><span id="toc19">まとめ：コード生成エージェントは「書かせる」から「検証の仕組みごと設計する」へ！</span></h2>



<p class="wp-block-paragraph">コード生成エージェントは、隔離された環境でリポジトリを読み、コードを直し、テストを走らせてPRを出すところまで来ました。一方で、各社の仕組みも OWASP や OpenSSF の資料も、最後に確かめて責任を持つのは人だという前提に立っています。論文からは、テストを人が先に決める、変更行のカバレッジを見る、規約に沿ってレビューさせる、という具体的な手がかりが見えてきました。</p>



<p class="wp-block-paragraph">まずは直近のAIのPRを数件選び、変更行が既存のテストで実行されているかを確かめてみてください。どこから手を付けるべきかが見えてきます！</p>



<h2 class="wp-block-heading"><span id="toc20">参考文献</span></h2>



<ul class="wp-block-list">
<li>GitHub「About GitHub Copilot cloud agent」（<a href="https://docs.github.com/en/copilot/concepts/agents/cloud-agent/about-cloud-agent">https://docs.github.com/en/copilot/concepts/agents/cloud-agent/about-cloud-agent</a>）2026-10-01 確認</li>



<li>GitHub「Risks and mitigations」（<a href="https://docs.github.com/en/copilot/concepts/security-governance-and-network-settings/risks-and-mitigations">https://docs.github.com/en/copilot/concepts/security-governance-and-network-settings/risks-and-mitigations</a>）2026-10-01 確認</li>



<li>Anthropic「Claude Code overview」（<a href="https://code.claude.com/docs/en/overview">https://code.claude.com/docs/en/overview</a>）2026-10-01 確認</li>



<li>Anthropic「Security」（<a href="https://code.claude.com/docs/en/security">https://code.claude.com/docs/en/security</a>）2026-10-01 確認</li>



<li>OpenAI「Codex Cloud」（<a href="https://learn.chatgpt.com/docs/cloud">https://learn.chatgpt.com/docs/cloud</a>）2026-10-01 確認</li>



<li>OWASP「OWASP Top 10:2025」（<a href="https://owasp.org/Top10/2025/">https://owasp.org/Top10/2025/</a>）2026-10-01 確認</li>



<li>OWASP「Top 10:2025 Next Steps」（<a href="https://owasp.org/Top10/2025/X01_2025-Next_Steps/">https://owasp.org/Top10/2025/X01_2025-Next_Steps/</a>）2026-10-01 確認</li>



<li>OpenSSF「Security-Focused Guide for AI Code Assistant Instructions」（<a href="https://best.openssf.org/Security-Focused-Guide-for-AI-Code-Assistant-Instructions">https://best.openssf.org/Security-Focused-Guide-for-AI-Code-Assistant-Instructions</a>）2026-10-01 確認</li>



<li>Kai Wang ほか「SGCR: A Specification-Grounded Framework for Trustworthy LLM Code Review」arXiv:2512.17540（<a href="https://arxiv.org/abs/2512.17540">https://arxiv.org/abs/2512.17540</a>）2026-10-01 確認</li>



<li>Kevin Han ほか「TDFlow: Agentic Workflows for Test Driven Development」arXiv:2510.23761（<a href="https://arxiv.org/abs/2510.23761">https://arxiv.org/abs/2510.23761</a>）2026-10-01 確認</li>



<li>Atish Kumar Dipongkor ほか「Test Coverage Analysis of Agentic Pull Requests」arXiv:2607.18057（<a href="https://arxiv.org/abs/2607.18057">https://arxiv.org/abs/2607.18057</a>）2026-10-01 確認</li>



<li>Shanchao Liang ほか「The SWE-Bench Illusion: When State-of-the-Art LLMs Remember Instead of Reason」arXiv:2506.12286（<a href="https://arxiv.org/abs/2506.12286">https://arxiv.org/abs/2506.12286</a>）2026-10-01 確認</li>
</ul>



<p class="wp-block-paragraph">2026-10-01 更新: 構成を見直し、論文へのリンクと参考文献を追加し、GitHub Copilot のPRを作る機能の名称、ベンチマークの暗記を調べた論文の一致率の単位と比較対象、テストの網羅率を調べた論文のエラー処理の記述の誤りを修正しました</p><p>The post <a href="https://kuebiko.blog/archives/42/">【2026年最新】コード生成エージェント×論文4選｜「レビューが追いつかない」「テストが薄い」を解く最前線</a> first appeared on <a href="https://kuebiko.blog">クエビコ</a>.</p>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
