自主 AI 代理(Autonomous Agents)的核心價值在於能夠將龐大目標拆解為多步驟子任務並遞迴迭代執行。然而,若受限於底層大語言模型的靜態預訓練知識庫,代理便無法獲取最新市場情報、即時技術文件或最新動態。在開源平台 AgentGPT 中,要讓代理真正具備自主網路調研能力,開發者必須為其接入外部網路搜尋 API,並視需求擴充網頁擷取與解析外掛。
未設定網路工具的 AgentGPT 只能依賴模型既有記憶進行推論,極易產生時效性幻覺;一旦正確設定搜尋金鑰與瀏覽工具,代理即可依據調研目標自主擬定搜尋關鍵字、呼叫 Google 即時檢索介面、抓取外部連結核心內容,並最終彙整成結構化研報。本文將深入解析如何在 AgentGPT 雲端平台與私有化 Docker 部署中配置原生 Serper 搜尋介面、如何透過後端擴充實現網頁深度抓取,以及如何透過提示詞約束避免任務漂移與 Token 浪費。
1. AgentGPT 與即時網路連線的運作架構
AgentGPT 的核心運作機制建立在「思考(Think)- 規劃(Plan)- 執行(Act)- 評估(Evaluate)」的遞迴迴圈之上。當使用者交付一個複雜研究目標(例如「調研 2026 年主流向量資料庫的最新定價與計費模式」)時,代理首先會在記憶體中將目標拆分為多個子任務。
在執行需要外部即時事實的任務時,AgentGPT 會透過其 Python 後端(platform/reworkd_platform/web/api/agent/tools/)中的工具路由層呼叫外部服務,其底層架構整合了 LangChain 的工具抽象化機制。
為什麼原生採用 Serper API
相較於自行運行極易遭遇驗證碼阻礙的無頭瀏覽器爬蟲,AgentGPT 原生整合並推薦使用 Serper(serper.dev)。Serper 是專為大型語言模型與開發者設計的高效 Google 搜尋 API,具備以下優勢:
- 回傳結構化 JSON 資料:內含自然搜尋摘要(Organic Snippets)、頁面標題、原始網址、知識圖譜與相關問答,免除模型解析繁雜 HTML DOM 的負擔。
- 大幅節省 Token:精簡的摘要架構避免了網頁原始碼過度佔用上下文視窗(Context Window)。
- 穩定的抗反爬機制:底層已妥善處理搜尋引擎驗證碼與 IP 輪替代理,確保代理高頻檢索時的穩定性。
2. 逐步設定流程:雲端 Web 與私有化部署
設定網路搜尋能力取決於你是直接使用官方雲端平台,還是在本地或私有伺服器上透過 Docker 部署開源版本。
方式 A:雲端 Web 介面(agentgpt.reworkd.ai)
- 取得必要金鑰:
- 前往 Serper 註冊帳號,領取免費 API Key(註冊即附贈 2,500 次免費查詢額度)。
- 準備個人的 OpenAI API Key。
- 進入設定面板:點擊頁面左側側邊欄的**設定(Settings)**圖示。
- 填入模型與金鑰設定:
- 在 Model 選項中優先推薦選擇
GPT-4或gpt-4o。相較於 GPT-3.5,高階推理模型能更準確地判斷呼叫搜尋工具的時機與萃取回傳資料。 - 輸入 OpenAI API Key。
- 將取得的金鑰貼入 Serper API Key 欄位中。
- 在 Model 選項中優先推薦選擇
- 調整迴圈步數上限(Loop Limit):將步數設定在 5 至 15 步之間,既可保證代理具備多輪深入檢索的深度,又能防止因目標過於寬泛而陷入無限死循環。
方式 B:私有化 Docker 部署
若在本地或企業內部環境中運行 AgentGPT 開源專案:
- 複製專案儲存庫:
git clone https://github.com/reworkd/AgentGPT.git cd AgentGPT - 建立環境變數檔案:
複製專案根目錄下的範本檔案:
cp .env.example .env - 填入搜尋與模型金鑰:
開啟
.env檔案並確認以下核心參數:# LLM 核心金鑰 OPENAI_API_KEY=sk-your-openai-api-key-here # 網路搜尋 API 金鑰 SERPER_API_KEY=your-serper-api-key-here # 代理執行步數上限 NEXT_PUBLIC_MAX_LOOPS=15 REWORKD_PLATFORM_MAX_LOOPS=15 - 啟動容器服務棧:
執行自動化安裝指令碼或使用 Docker Compose 啟動容器:
服務啟動完成後,開啟瀏覽器造訪./setup.sh # 或手動啟動: docker compose up --buildhttp://localhost:3000。FastAPI 後端服務(預設連接埠8000)會自動讀取.env中的SERPER_API_KEY,並掛載至搜尋工具路由器(search.py)。
3. 進階擴充:為 AgentGPT 接入深度網頁抓取與解析工具
在原生設定下,Serper 回傳的文字摘要通常僅有 100 至 200 個字元。若面對需要核對特定 API 參數、閱讀完整技術文件或分析長篇報告的深度研究場景,僅靠搜尋摘要顯然有所欠缺。
搜尋摘要與全文抓取的職責區分
- 搜尋(Search):負責廣度探索「哪些網址可能包含解答」,鎖定核心 URL。
- 瀏覽/抓取(Browsing/Scraping):深入特定網頁抓取主體內容,取得完整技術數據或合約細則。
自訂瀏覽工具的實作機制
開發者可在 AgentGPT 的後端工具目錄(platform/reworkd_platform/web/api/agent/tools/)中自行擴充網頁擷取工具。一個高可用性的瀏覽工具需具備:
- 正文萃取與雜訊過濾:自動剔除導航列、頁尾宣告、彈出廣告與 JavaScript 程式碼,可採用
trafilatura或BeautifulSoup進行清洗。 - Markdown 格式轉換:將清洗後的內容轉換為結構化 Markdown,保留標題層級與表格。
- Token 上下文截斷控制:將抓取內文字數控制在預算範圍內(例如 3,000 字以內),避免超出模型的上下文視窗。
自訂網頁瀏覽工具的 Python 實作參考架構:
from pydantic import BaseModel, Field
import httpx
from bs4 import BeautifulSoup
class BrowseInput(BaseModel):
url: str = Field(..., description="欲造訪並抓取正文內容的目標 HTTPS 網址")
async def browse_page(url: str) -> str:
headers = {"User-Agent": "AgentGPT-ResearchBot/1.0"}
async with httpx.AsyncClient(timeout=10.0, follow_redirects=True) as client:
response = await client.get(url, headers=headers)
if response.status_code != 200:
return f"存取失敗:伺服器回傳 HTTP {response.status_code}"
soup = BeautifulSoup(response.text, "html.parser")
# 移除與正文無關的 HTML 標籤
for tag in soup(["script", "style", "nav", "footer", "header", "aside"]):
tag.decompose()
clean_text = soup.get_text(separator="\n", strip=True)
# 截斷字串以避免過度消耗 Token
return clean_text[:4000]
將此工具與 search.py 共同註冊後,AgentGPT 即可實現「透過 Serper 搜尋候選連結 -> 呼叫瀏覽工具深入閱讀關鍵頁面 -> 模型彙整研報」的端到端調研鏈路。
4. 設計結構化目標提示詞:杜絕任務漂移
在自主代理運作時,最常見的問題為任務漂移(Task Drift)——代理不斷產生偏離核心目的的邊緣搜尋詞,或在相似問題上反覆打轉。設計精準且帶有邊界約束的初始目標 Prompt 是成功的關鍵。
高品質調研 Prompt 撰寫要點
- 明確研究對象:指名具體產品名稱、版本或比較維度。
- 設定時效範圍:明確標註時間界線(例如「檢索 2026 年最新公佈資料」)。
- 指定權威來源:偏好官方說明文件、官方定價頁或 GitHub 專案。
- 規範產出形式:要求整理為 Markdown 比較表格與要點摘要。
實際應用 Prompt 範例
代理名稱: 架構研究分析員
代理目標: 對 Pinecone、Qdrant Cloud 與 Weaviate Cloud 的向量檢索計費模式展開深入調研。
1. 使用網路搜尋取得各家 2026 年目前的免費方案配額、Serverless 讀寫計費單價與包月集群基準費率。
2. 釐清各平台針對儲存空間與查詢單位(Read/Write Units)的計算機制。
3. 收集完畢後,停止衍生額外任務,將關鍵數據彙整成 Markdown 比較表格,並附上官方資料來源網址。
在此目標限制下,AgentGPT 會循序漸進分解出結構化步驟:
任務 1:搜尋 Pinecone 2026 Serverless 計費規則與計算單元單價。任務 2:檢索 Qdrant Cloud 託管節點配額與儲存容量計費。任務 3:查詢 Weaviate Cloud 執行個體方案與 SLA 支援費率。任務 4:對比三方成本結構,產出 Markdown 比較表格完成工作。
5. 常見問題排除與技術生命週期說明
| 常見現象 | 根本原因 | 排除對策 |
|---|---|---|
搜尋執行時回傳 403 Forbidden | SERPER_API_KEY 遺漏、填寫錯誤或免費用量已耗盡。 | 檢查 .env 確保金鑰無額外引號;登入 serper.dev 確認帳號配額餘額。 |
| 代理陷入無限搜尋迴圈 | 提示詞未設定終止條件,且未限制最大執行步數。 | 在設定或 .env 中設定 MAX_LOOPS 為 10~15;在 Prompt 中明確指定「驗證滿 3 項來源即進行總結」。 |
| 搜尋結果解析失敗或產生嚴重幻覺 | 使用推理能力較弱的模型(如 GPT-3.5),無法妥善處理工具回傳的 JSON 結構。 | 升級設定預設模型為 GPT-4 或更高等級的推理模型。 |
本機 Docker 修改 .env 後未生效 | 容器重啟時沿用快取,未重新載入環境變數。 | 執行 docker compose down && docker compose up --build 強制重新載入容器配置。 |
開源專案維護狀態說明
Reworkd 官方團隊已於 2026 年 1 月正式將 reworkd/AgentGPT 儲存庫封存並設為唯讀狀態,其主要團隊已將業務重心轉移至自動化網路資料擷取技術。儘管本專案不再進行日常功能維護,但其展現的瀏覽器自主代理架構依舊是學習智慧代理設計的核心範本。若需要投入生產級調研系統,可借鑑此套流程設計,將邏輯遷移至 LangGraph 或 CrewAI 等現代框架,並結合 Firecrawl 等專業爬蟲 API 建構新一代調研系統。