Powei Lee

AI Agent Analytics:追蹤 AI Agents 存取行為

建立監控系統,追蹤並分析 AI agents 如何存取網站,包含 User-Agent 識別、行為模式分析、Agent Discovery 使用統計

角色 Data Analytics + DevOps
時間 1-2 週(輕量級實作)
範圍 Web Analytics、User-Agent 分析、行為追蹤
AnalyticsAI AgentsMonitoringVercel AnalyticsUser-Agent

專案構想(2025.11 更新)

建立監控系統,追蹤 AI agents 如何存取網站,特別是 /.well-known/agent-descriptions 端點的使用情況,分析不同 agents 的行為模式。

核心問題:

  • 實作 Agent Discovery 後,如何知道有沒有 AI agents 在使用?
  • 哪些 agents 在存取網站?
  • 它們如何與網站互動?

解決方案: 建立輕量級 analytics 系統,專注於 AI agent 行為分析。

🆕 2025.11 最新發現

為什麼現在特別重要:

  1. NLWeb 12+ 企業採用 - Shopify, Snowflake 等已實作,可能有 agents 開始存取
  2. W3C ANP 標準化啟動 - 早期採用者 agents 可能開始測試 /.well-known/agent-descriptions
  3. MCP 生態快速成長 - 100+ MCP servers,agents 活動增加

實際案例參考:

  • Shopify 採用 NLWeb 後的 agent 存取數據(需追蹤是否公開)
  • O’Reilly Media 的 NLWeb 實作經驗
  • Snowflake 的 agent 互動模式

新增追蹤項目:

  • ✅ NLWeb-compatible agents 識別
  • ✅ MCP client User-Agents
  • ✅ W3C WebAgents CG 測試 bots

目標與價值

短期目標

  1. ✅ 識別 AI agents(vs. 人類訪客)
  2. ✅ 追蹤 /.well-known/agent-descriptions 存取次數
  3. ✅ 分析 agents User-Agent patterns

長期目標

  1. 🔮 建立 AI agent 行為資料庫
  2. 🔮 預測 agent 存取模式
  3. 🔮 優化內容以符合 agent 偏好

專案價值

  • ⭐⭐⭐⭐⭐ 實用性 - 實際數據驗證 Agent Discovery 效益
  • ⭐⭐⭐⭐ 技術展示 - 展示資料驅動決策
  • ⭐⭐⭐⭐ 內容機會 - 可撰寫資料分析文章
  • ⭐⭐⭐ SEO 影響 - 間接(了解 agents 如何爬取)

技術架構

方案 A:Vercel Analytics + Edge Middleware(推薦)

優點:

  • ✅ 與現有架構整合
  • ✅ 零額外基礎設施
  • ✅ Real-time 資料
  • ✅ 簡單易維護

實作步驟:

1. 啟用 Vercel Web Analytics

// site/src/layouts/Layout.astro
---
import { ViewTransitions } from 'astro:transitions';
import { Analytics } from '@vercel/analytics/react';
---

<html>
  <head>
    <ViewTransitions />
  </head>
  <body>
    <slot />
    <Analytics />
  </body>
</html>

2. 建立 Edge Middleware 記錄 AI agents

檔案:site/src/middleware.ts

import { defineMiddleware } from 'astro:middleware';

// 已知的 AI agent User-Agents
const AI_AGENTS = {
  'GPTBot': 'OpenAI GPT',
  'ChatGPT-User': 'ChatGPT',
  'Claude-Web': 'Anthropic Claude',
  'Google-Extended': 'Google Bard',
  'Googlebot': 'Google Search',
  'Bingbot': 'Microsoft Bing',
  'PerplexityBot': 'Perplexity AI',
  'YouBot': 'You.com',
  'anthropic-ai': 'Anthropic',
  'Applebot': 'Apple Siri'
};

export const onRequest = defineMiddleware(async (context, next) => {
  const userAgent = context.request.headers.get('user-agent') || '';
  const url = new URL(context.request.url);

  // 檢查是否為 AI agent
  const detectedAgent = Object.keys(AI_AGENTS).find(key =>
    userAgent.toLowerCase().includes(key.toLowerCase())
  );

  // 特別追蹤 Agent Discovery 端點
  if (url.pathname === '/.well-known/agent-descriptions') {
    console.log('[Agent Discovery] Accessed by:', {
      agent: detectedAgent || 'Unknown',
      userAgent: userAgent,
      timestamp: new Date().toISOString(),
      ip: context.request.headers.get('x-forwarded-for') ||
          context.request.headers.get('x-real-ip')
    });
  }

  // 追蹤所有 AI agent 存取
  if (detectedAgent) {
    console.log('[AI Agent] Page view:', {
      agent: AI_AGENTS[detectedAgent],
      path: url.pathname,
      timestamp: new Date().toISOString()
    });
  }

  return next();
});

3. Vercel Log Drain(進階)

將 logs 導向分析平台:

# Vercel CLI
vercel logs --follow --project pw-astro

或整合到:

  • Datadog - Full analytics platform
  • Logtail - Log management
  • Axiom - Serverless analytics

缺點:

  • 需要付費方案(Vercel Pro: $20/月)

方案 B:Custom Analytics Endpoint(免費方案)

如果不想用 Vercel Pro,可建立自訂 analytics:

1. 建立 Analytics API Route

檔案:site/src/pages/api/track.ts

import type { APIRoute } from 'astro';

export const POST: APIRoute = async ({ request }) => {
  const data = await request.json();

  // 記錄到 Vercel KV(免費)或檔案
  console.log('[Analytics]', JSON.stringify(data));

  return new Response(JSON.stringify({ success: true }), {
    status: 200,
    headers: { 'Content-Type': 'application/json' }
  });
};

2. 前端追蹤腳本

// site/src/components/AgentTracker.astro
<script>
  const trackPageView = async () => {
    await fetch('/api/track', {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify({
        path: window.location.pathname,
        userAgent: navigator.userAgent,
        timestamp: new Date().toISOString()
      })
    });
  };

  // Track on page load
  trackPageView();
</script>

缺點:

  • ❌ 無法追蹤沒有執行 JavaScript 的 agents(大部分 AI agents)
  • ❌ 只能追蹤人類訪客

結論: 此方案不適合追蹤 AI agents


方案 C:Cloudflare Web Analytics(免費 + 完整)

優點:

  • ✅ 完全免費
  • ✅ Server-side tracking(不依賴 JS)
  • ✅ 可追蹤所有請求(包含 agents)

實作步驟:

  1. 註冊 Cloudflare(免費)
  2. 設定 DNS 指向 Vercel(CNAME)
  3. 啟用 Web Analytics
  4. 加入 beacon 腳本
<script defer src='https://static.cloudflare.com/beacon.min.js'
        data-cf-beacon='{"token": "YOUR_TOKEN"}'></script>

注意: 需要將 domain DNS 指向 Cloudflare


建議方案:混合式(推薦)✅

結合 Vercel Analytics + Custom Logging:

實作清單

  1. ✅ 啟用 Vercel Web Analytics(免費方案)

    • 追蹤人類訪客
    • 基本 page views, referrers
  2. ✅ 實作 Edge Middleware logging

    • 追蹤 AI agents User-Agent
    • 特別監控 /.well-known/agent-descriptions
    • 輸出到 Vercel logs
  3. ✅ 定期匯出 Vercel logs

    vercel logs --project pw-astro --since 24h > logs.txt
  4. ✅ 手動分析 logs(初期)

    • 使用 grep, awk, jq 分析
    • 建立簡單的統計報表
  5. 🔶 進階:整合 Google Sheets(可選)

    • 使用 GitHub Actions 定期抓取 logs
    • 解析並寫入 Google Sheets
    • 建立視覺化 dashboard

開發時間

階段工作項目時間
Phase 1Vercel Analytics 設定30 分鐘
Phase 2Edge Middleware 實作2-3 小時
Phase 3Log 分析腳本2-3 小時
Phase 4Google Sheets 整合(可選)4-6 小時
總計5-13 小時

資料分析項目

基礎指標

  1. AI Agent 識別率

    • 多少 % 的請求來自 AI agents?
    • 哪些 agents 最活躍?
  2. Agent Discovery 使用率

    • /.well-known/agent-descriptions 存取次數
    • 首次存取時間(驗證實作效益)
  3. Agent 行為模式

    • Agents 最常存取哪些頁面?
    • 平均停留時間(如果可追蹤)
    • Crawl frequency

進階分析

  1. Agent 類型分類

    • Search engines (Googlebot, Bingbot)
    • AI assistants (ChatGPT, Claude, Perplexity)
    • Unknown agents(需要識別)
  2. 內容偏好

    • Agents 偏好哪些 content types?(blog, tutorial, project)
    • 哪些標籤最受 agents 關注?
  3. 時間模式

    • Agents 何時最活躍?
    • Crawl 頻率變化

視覺化 Dashboard 構想

使用 Google Sheets + Google Data Studio:

Dashboard 頁面

  1. Overview

    • Total page views(人類 vs. Agents)
    • Agent Discovery 存取次數
    • Top AI agents
  2. Agent Details

    • Agent breakdown(pie chart)
    • Crawl frequency timeline
    • Top pages per agent
  3. Content Performance

    • Most visited posts(by agents)
    • Tag popularity(for agents)
    • Content type distribution

技術挑戰

1. User-Agent Spoofing

  • 問題: Agents 可以偽造 User-Agent
  • 解決: 結合 IP 分析、行為模式識別

2. Log Volume

  • 問題: 大量 logs 難以處理
  • 解決:
    • 只記錄關鍵端點
    • 使用 sampling(取樣)
    • 定期 aggregate

3. 隱私考量

  • 問題: 記錄 IP 可能涉及 GDPR
  • 解決:
    • Hash IP addresses
    • 不記錄個人資料
    • 遵守 privacy policy

投資報酬率

成本

  • 開發時間: 5-13 小時
  • 維護成本: 低(每週 30 分鐘分析 logs)
  • 基礎設施成本: $0(使用免費方案)

效益

  • ⭐⭐⭐⭐⭐ 實用性 - 驗證 Agent Discovery 實作效益
  • ⭐⭐⭐⭐ 資料驅動決策 - 了解 agents 如何使用網站
  • ⭐⭐⭐⭐ 內容機會 - 撰寫資料分析文章
  • ⭐⭐⭐ 技術展示 - 展示完整的 monitoring 能力

建議(2025.11 更新)

考量 NLWeb/ANP 最新發展後:

  • 強烈推薦立即執行(價值大幅提升)
    1. NLWeb 12+ 企業採用,agents 活動預期增加
    2. W3C ANP 標準化啟動,測試 bots 可能出現
    3. 實際數據可驗證 Agent Discovery 投資報酬率
    4. 可撰寫「我追蹤了 30 天的 AI Agent 行為」數據文章

優先級調整:

  • Phase 1-2:立即實作(3-5 小時)
    • Vercel Analytics + Edge Middleware
    • 特別追蹤 /.well-known/agent-descriptions/llms.txt
  • Phase 3:兩週後(2-3 小時)
    • 收集初步數據後分析
    • 建立 User-Agent patterns database
  • 🔶 Phase 4:視數據量決定(4-6 小時)
    • 若發現有 agents 存取,建立視覺化 dashboard
    • 若無,保持簡單 log 分析即可

新增追蹤指標:

  • 📊 NLWeb-related endpoints (/llms.txt, RSS feed) 存取率
  • 📊 Known AI agents 比例(GPTBot, Claude-Web, Perplexity等)
  • 📊 Unknown agents 識別與分類
  • 📊 與 Shopify/Snowflake 等案例的對比分析(若數據公開)

技術文章構想

文章:《我追蹤了 30 天的 AI Agent 行為,發現了這些》

大綱:

  1. 為什麼要追蹤 AI Agents?

    • 實作 Agent Discovery 後的疑問
    • 數據驅動的好奇心
  2. 實作方法

    • Vercel Analytics + Edge Middleware
    • User-Agent 識別技巧
    • Log 分析流程
  3. 資料發現(假設性)

    • GPTBot 是最活躍的 agent
    • /.well-known/agent-descriptions 被存取 X 次
    • Agents 偏好教學類文章(tutorial)
  4. 意外發現

    • 有 Unknown agents 存取
    • Crawl pattern 分析
    • 某些 agents 忽略 robots.txt
  5. 結論與建議

    • Agent Discovery 是否值得實作?
    • 如何優化內容給 AI agents?
    • 未來趨勢預測

參考資源


專案狀態: ✅ 可立即執行 建議行動: Phase 1-3 實作(5-8 小時),追蹤 30 天後撰寫分析文章 預期完成: 2025.12(1 個月追蹤期 + 文章撰寫)