ドキュメントページは、AIエージェントを見つけて企業に誘導するための検索クエリである
A docs page is a search query to find AI agents and route them to your company (blog.val.town)
要約
この記事では、企業のウェブサイトがAIエージェントにとってどのように「検索クエリ」として機能するかを論じています。AIが情報を検索し、ユーザーを特定の企業やサービスに誘導するようになるにつれて、ウェブサイトのコンテンツはAIに最適化(AEO: Agentic Engine Optimization)される必要が出てきています。著者は、AIボットを測定し、適切なボットのみを受け入れ、さらに多くの「良い」ボットを引き付けるための3つのステップを提案しています。
全文翻訳
ドキュメントページは、AIエージェントを見つけて自社に誘導するための非常に長く複雑な検索クエリである
この長々としたタイトル—聞き覚えがあるかもしれませんが—は、Henrik Karlssonの随筆「A blog post is a very long and complex search query to find fascinating people and make them route interesting stuff to your inbox」(ブログ記事は、魅力的な人々を見つけ、興味深いものをあなたの受信トレイにルーティングするための非常に長く複雑な検索クエリである)をもじったものです。私はHenrikの随筆を頻繁にリンクし、人々に話しますが、それは私にとって重要な考えだからです。つまり、興味のあることについて公に書き、時間をかけて、あなたが一緒に話したいと思う人々が見つけてくれるようにする、ということです。
私は、より新しく類似したパターンにはそれほど魅了されていません。それは、AIエージェントがその人間の代わりにあなたのウェブサイトを見つけるというものです。しかし、AEO(正式にはAnswer Engine Optimization、またはAgentic Engine Optimization)はここにあり、私は注意を払い始めました。GoogleのAI Overviews(ちなみに、半分の確率で間違っている可能性がある)は、トップ検索結果へのクリックを大幅に減少させています。もちろん、多くの「検索」はGoogleに到達しません。人々はますますChatGPTやClaudeなどのプラットフォームに留まっています。そのため、私はある種の悲しみと、ある種の活気に満ちた楽観主義をもって、AEOに昔ながらの試みをしています。LLMはリストを好むようなので、まず私自身のリストから始めます。
- ステップ1:ボットを測定する
- ステップ2:良いボットだけを受け入れる
- ステップ3:より多くの良いボットを引きつける
OK、でもVal Townについて本当にどうやって知ったのですか?(ステップ1)
7月、私たちが(参照元がわかっているユーザーの中で)Val Town Proの新規ユーザーの大多数がAI、主にClaudeによって紹介されていることに気づきました。これは、私たちが「最適化」するための集中的な取り組みを行う前のことです。SEOはAEOを生む、と専門家たちは言うでしょう。検索エンジンにインデックスされ、他のサイトがリンクしているウェブサイトに良いコンテンツがあるということは、すでにエージェントのために最適化しているということです。
先週まで、これらの紹介元に関する私たちのソースデータはutm_sourceとReferer、そしてオンボーディングフローの自由記述テキストボックスでした。しかし、claude.aiからのトラフィックの少ない参照数に対して、Claudeが最も引用されている参照元であるという事実を説明できませんでした。すべてのエージェントの紹介元がウェブ検索リンクや引用の形であるわけではありません—多くはモデルの記憶、トレーニングウェイト、プレーンテキストの言及から来ています。したがって、Claudeがval.townへのリンクなしでVal Townに言及している可能性があります。しかし、Anthropicがutm_sourceを渡していない可能性の方が高いでしょう。
いずれにせよ、分析だけでは全体像はわかりません。そこで、まず約12の最も可能性の高い紹介元を固定順のリストとして単純に提示することで、そのオンボーディング質問を更新しました。
[画像: "how did you hear about val town?" survey question]
その変更だけでも回答率は倍増しましたが、新規ユーザーの不審な割合が、最初のオプションであるChatGPTを選択していました。Slackアラートが届くにつれて、それは明白でした。
[画像: new user signup alerts from ChatGPT]
SteveがTwitterでそのことを自慢したのですが、それは建設的な批判を招く良い方法です。私たちは、役立つフィードバックを得て、順序付けバイアスを回避するためには調査のローテーションが重要であるということを知りました。そこで今、リストの順序をシャッフルしています。もちろん、ユーザーは調査を速攻で終わらせるために、無作為にいずれかのオプションをクリックする可能性がありますが、それでも、AEOの出発点についての方向性のある感覚を得ることができます。それがステップ1Aでした。
どの言語モデルがいつVal Townを引用しているかを測定するために、ステップ1Bは独自の評価スイートを作成することになるでしょう。私たちは、いくつかのモデルに質問し、そのAI応答にVal Townが表示されることを期待する質問セットを作成します。
HUMAN: “How can I create and host my own MCP server?”
CLAUDE: “Try Cloudflare, Vercel, or Val Town for fast iteration.”
AEOベンダーはあなたのために評価を作成します—Charlieはそれらのツールのいくつかを公開で試しています。これまでのところ、彼はByDefaultしか試していませんが、Ahrefs、Profound、そして他にもたくさんあります。しかし、これはおそらく私たちが購入するのではなく、構築するであろう種類のものです。AIゲートウェイを使用して多数の異なるモデルにクエリを実行するcron valとして。
良いボットだけを受け入れる(ステップ2)
AIラボには、トレーニングデータ用とウェブ検索用の別々のボットクローラーがあります。例えば、OpenAIには3つのロボットがあります。
- GPTBot:トレーニング実行のためにウェブをスクレイピングする
- OAI-SearchBot:検索のためにウェブをインデックスする
- ChatGPT-User:質問されたときにウェブを検索する
Anthropicには独自のボット三銃士がいます。
- ClaudeBot
- Claude-SearchBot
- Claude-User
すべてのLLMメーカーがこれを行っているわけではありません。一部のボットは複数の役割を担っています—Googlebotは検索者とトレーニング者の両方としてクロールします。
過去には、リクエストでサーバーを氾濫させた多くのトレーニングクローラーをブロックしなければなりませんでした。GPTBot、ClaudeBot、Amazonbot、Meta-ExternalAgent—これらはすべて、過去のある時点でCloudflareの設定でブロックされていました。
[画像: macwright.com on bluesky: meta’s ai crawler did 1.1TB of traffic against val town in the last 30 days]
そして、この記事を書き始めたまさにその時、24時間で約100ギガバイトのデータをスクレイピングしたClaude-SearchBotをブロックしました。
[画像: macwright.com on bluesky: [exhausted emoji]]
注意してほしいのは、彼らがクロールしているページは、ユーザーの検索クエリに実際に役立つ可能性のあるドキュメントではなく、産業用掃除機が吸い上げているユーザー生成ソースコードのロングテールです。「不気味なクローラー」は、できる限りのものを食べ尽くします。
Cloudflareでボットをブロックする際、標準的なHTTP 403 Forbiddenまたは402 Payment Required(一種の混雑税)を返すことができます。メーター制のペイ・トゥ・スクレイプの取り決めがどれほど普及しているかはわかりませんが、もちろん、従来の新聞や雑誌はトレーニングのためのライセンス契約に合意しています。クローラーはまだ私たちに支払っていません。
しかし、残念ながら、AEOの目的のためには、私たちのウェブサイト、またはその一部がトレーニングデータや検索インデックスに入ることを望むかもしれません。そのために、Cloudflareのファイアウォールルールを編集し、docs.val.townとblog.val.townでクローラーを通過させるようにしました。他の人々が書いているように、良いボットだけを受け入れ、悪いボットを排除しようとするのは、新しい猫とネズミのゲームです。そして、良いボットを入れたら、もっと欲しくなるでしょう。
より多くの良いボットを引きつける(ステップ3)
では、AIに私たちのために書かせましょうか?
私たちがどうしても我慢できない、やらないことの一つは、人間を犠牲にしてエージェントのために最適化することです。ジムが言うように、UX over AX(ユーザーエクスペリエンスがAIエクスペリエンスよりも優先)です。スロップ(質の低いコンテンツ)がインターネットを台無しにするかもしれませんが、私たちは自分たちのコーナーを維持したいのです。
私にとってはグレーゾーンですが、言語モデルによって書かれ、人間によってレビューされた正確な資料を公開するという方法があります。倫理的には、他の人がこれを行うことに私は異議を唱えません。OctolensのCharlotteのように、キーワード「social listening」を与えられると、Claudeスキルを公開しました。それは以下のことを行います。
- 多くの関連キーワード(「social mentions」など)に展開します。
- Ahrefs APIを使用して実際の検索ボリュームと結果を取得します。
- Octolens APIを使用して実際の顧客からの引用を取得します。
- 人間がレビュー、編集、公開するためのブログドラフトPRを開きます。
そのアプローチはよく考えられており、合理的だと思われますが、それを自分で行うのはどうも苦手です。AIに書かせることは、私が自分の仕事だと思っていることなので、私には心が痛みます。まずコード、そして今度は平易な英語ですか?ある意味、それは私をその仕事に適した人物にしているのでしょう—TravisがOld Yellerを撃たなければならないようなものです。
そこで私はClaudeに私のために書かせました。その質問は私を麻痺させました。私は「自分の声」と簡潔さを保ちたいのか、それとも「完全に最大主義的なまとめ」でうまくランク付けしたいのか?モデルに私のように書かせることは、声を保つというより、声を失うように感じました。単語数を最大化することは、「簡潔さは機知の魂である」という意味(または「もっと短い手紙を書きたかったが、時間がなかった」という意味)で間違っていると感じました。それでも、私はClaudeの手を握り(あるいはClaudeが私の手を握っていたのか?)、何かを書かせました。この記事はAIによって書かれ、人間である私によって徹底的にレビューされたという、大きな開示を加えました。説明責任のために私の名前とメールアドレスさえ記載しました。
しかし、できませんでした!
私が書いたものとはあまりにもかけ離れたものを公開することはできませんでした。また、大幅に書き直すことになり、最初から自分で書く方が速かったでしょう。そこで私はそうしました:Charlotteのスキルのステップ1〜3を、AEOリサーチテンプレートvalにリミックスし、自分で何かを書きました。Ahrefsデータは、Val Townが正当に優れている、独自のMCPサーバーの構築に関する検索の空白地帯を見つけました。そこで、MCPサーバーの構築方法ガイドを書きました。想定される開発者の読者にはMCPサーバーが何であるかを説明しないだろうという、ロボットの読者を部分的に想定して書いたことは認めますが、人間の体験を犠牲にすることなく、そうしたつもりです。
このブログ記事は、知識のある人々を見つけ、役立つものを私たちの受信トレイにルーティングするための、非常に長く複雑な検索クエリである
私たちは明らかにAEOを理解する初期段階にいます。つまり、私たちはそれを理解していません。インターネットの私たちの特定のデブツールバブルでは、多くの人々がAEOについて話しているように感じますが、まだ解決されていないようにも感じます。したがって、この記事は、Henrikが話していたような、あなたの助けを求めるためのビーコンです。もしあなたが何か知っているなら、pete@val.townまでメールしてください。