SERP API + LangChain:10 行代码做实时搜索 Agent
背景LangChain 的 agent 需要工具,Google 搜索是最常见的一个。SERP API 的/google/search包装成 LangChain Tool 只需要几行。安装pipinstalllangchain langchain-anthropic requestsTool 定义importrequestsfromlangchain.toolsimportTool API_KEYyour-serpbase-keyENDPOINThttps://api.serpbase.dev/google/searchdefserp_search(query:str)-str:rrequests.post(ENDPOINT,headers{X-API-Key:API_KEY},json{q:query,gl:us,hl:en,num:5},timeout10,)r.raise_for_status()datar.json()parts[]fori,iteminenumerate(data.get(organic,[]),1):parts.append(f[{i}]{item[title]}\n{item[link]}\n{item.get(snippet,)})paadata.get(people_also_ask,[])ifpaa:parts.append(\nRelated Questions:)forqinpaa[:3]:parts.append(f-{q.get(question,q)})return\n\n.join(parts)serp_toolTool(nameGoogle Search,funcserp_search,description搜索 Google 实时结果,输入是查询关键词字符串,)接入 Agentfromlangchain_anthropicimportChatAnthropicfromlangchain.agentsimportinitialize_agent,AgentType llmChatAnthropic(modelclaude-sonnet-4-5)agentinitialize_agent(tools[serp_tool],llmllm,agentAgentType.ZERO_SHOT_REACT_DESCRIPTION,verboseTrue,max_iterations3,)resultagent.run(2026 年 SERP API 的最新定价是多少?)print(result)Agent 内部会:识别需要搜索调serp_search(SERP API pricing 2026)拿到 5 条 organic 结果LLM 总结 citation一个完整 demo:研究助手defresearch(query):returnagent.run(f用 Google 搜索回答这个问题,引用 source 用 [1] [2] 这种格式:f问题是:{query})print(research(What is SerpBase?))print(research(Cheapest SERP API 2026?))print(research(How to monitor AI Overviews?))几个细节1. Tool description 要写清楚。LangChain agent 根据 description 判断什么时候用这个 tool。description 写搜索 Google 实时结果,输入是查询关键词字符串比写google search好得多。description 越具体,agent 越不会乱调。2. 返回格式要 LLM-friendly。把 JSON 转成纯文本 编号,LLM 解析起来更准。[1] title\nlink\nsnippet这种格式是最稳的。直接在 tool func 里拼好,不要让 LLM 解析嵌套 JSON。3. max_iterations 卡死循环。Agent 调 tool 后 LLM 再决定下一步,可能无限循环。设max_iterations3防止失控。4. timeout 设小一点。SERP API 默认 P50 ~1.4s,但偶发 5s。timeout10给点 buffer,但不要太大否则 agent 等不及。成本研究助手 100 次 / 天 100 SERP 调用 3,000 / 月 0.9 美元(Starter Boost)。LLM 部分(Claude Sonnet)按 token 计费,每次 tool 调用 final answer 约 3,000-5,000 token,约 0.015 美元 / 次。100 次 / 天 1.5 美元 / 天 45 美元 / 月。SERP 部分成本可忽略,大头是 LLM token。跟直接调 API 比的差异直接调 API:你自己写 prompt、自己管 context、自己拼 citation全控,代码量多LangChain agent:agent 自己决定什么时候调 SERP跟其他 tool(chrome、wikipedia、计算器)组合容易调试简单(verboseTrue看每一步)如果你的应用是一个固定 RAG 流程,直接 API 更合适。如果你的应用是开放域问答 多 tool 调度,LangChain 强。6 个 endpoint 全部包装不只是/google/search,6 个 endpoint 都能包装成 LangChain tool:google_search:1 creditgoogle_images:2 creditgoogle_news:1 creditgoogle_videos:1 creditgoogle_maps_search:2 creditgoogle_maps_detail:2 credit完整 demo 代码 6 endpoint 实现,在github.com/serpbase-dev/serpbase-mcp仓库(参考 MCP 实现,改一下就是 LangChain tool)。一个高阶用法:ReAct 多步推理# 复杂问题,agent 多次调 SERP 拼信息resultagent.run(对比 2026 年 6 月 5 家主流 SERP API 的价格和速度,给一个综合推荐。要求每个数据点都有 source 引用。)Agent 内部会:调 SERP 查SerpApi pricing 2026调 SERP 查DataForSEO pricing 2026调 SERP 查Serper pricing 2026调 SERP 查SERP API latency benchmark 2026综合 4 次结果 自己推理 citation4 次 SERP 调用 4 credit,几乎免费。100 次免费试用:serpbase.dev 注册,不用绑卡。