这里就只考虑tavily,exa,jina,tinyfish这种给ai的websearch/fetch即可,可以顺便讲一下cloudflare推出的web agent可读性相关的内容

拿 Tavily、Exa、Jina、TinyFish 这四个真实产品讲,最后补 Cloudflare 那边。先放一个贯穿的例子,后面所有参数都往这个例子上靠: 场景:小登在做一个 agent,任务是「查某大厂这个月有没有发新模型,给结论,每个结论必须带来源」。如果什么都不配直接丢一个裸 query 出去,会发生三件糟心事:搜到两三年前的旧文章当新消息、搜到营销号编的标题、模型拿着 snippet 里的二手转述就敢下结论。所谓「搜索工具参数设计」,本质就是提前把这些坑堵在请求里,而不是等结果回来再靠模型事后清洗。 一个一个来。 一、Tavily。它的设计哲学是「一个 query 走天下,参数全给你备好」。关键参数: query 之外,search_depth 分 basic 和 advanced——basic 快省,适合聊天场景;advanced 会做更深的多轮检索和相关性重排,适合要完整答案的任务。对应上面的例子,查「这个月的新模型」就必须传时间窗参数 time_range=week 或 month,或者 start_date/end_date 直接给起止日期,否则模型会把三年前的发布稿当真消息。topic 参数能声明搜索面,比如 general/news/finance,例子应该选 news。include_domains/exclude_domains 是白名单黑名单——比如只信官方域名 developer.xxx.com,或者排除一堆 SEO 垃圾站;这是防「模型被营销号带偏」最直接的一刀。include_answer=true 会额外返回一个基于多结果生成的 AI 摘要,但注意它同样可能错,只能当线索不能当结论。include_raw_content=true 是把命中页的原始正文整段拿回来,对应后面讲的「拿原文验证」。还有 auto_parameters,开了之后 Tavily 会根据 query 意图自动配参数,适合不想手工调的场景。 二、Exa。它和 Tavily 的定位差异在于:Exa 是「为 AI 建的检索器」,主打搜索类型分级和结构化。type 参数给了一整条延迟-质量光谱:instant 250 毫秒给实时聊天用,auto 一秒,fast 450 毫秒,deep 4到15秒会做多步推理合成,deep-reasoning 12到40秒给深度研究。对应例子里,闲聊式提问用 instant,认真调研用 deep 档。category 参数最狠——它维护了专门索引:company(5000万公司页)、people(10亿人)、research paper(1亿篇论文全文)、news、financial report,你要查论文就声明 category=research paper,直接绕开全网噪声。contents 参数控制拿回来什么:highlights 是它家用模型把整页压成「只留 LLM 需要的 token」的精炼版,号称省 10 倍 token,还能过 RAG eval;full text 才是完整全文。output_schema 让你直接声明要的结构化输出——比如让 deep 档返回「[{公司名 是否发新模型 来源url 发布日期}]」的 JSON,检索和抽取一步到位,这就是「规范模型检索内容」的极致形态。 三、Jina。它其实是两个能力:读和搜,而且它的搜自带读。r.jina.ai 是 URL 转 markdown:在任意网址前面拼上 r.jina.ai/ 就返回 LLM 友好的 markdown,PDF、Word、Excel、PPT 都能吃,图片还会用视觉模型生成文字描述给纯文本模型。s.jina.ai 是搜索:在 query 前面拼上 s.jina.ai/,它搜完会直接抓取前 5 条结果的正文转成 markdown 一起返回——这跟很多框架里「只返回 title+snippet 让你自己再 fetch」的 search API 完全不同,等于把「搜」和「读」焊死了。它控制行为靠请求头而不是 body 参数:x-respond-with 选输出格式(markdown/html/text/screenshot/frontmatter),x-engine 选抓取引擎——browser 用无头 Chrome 渲染 JS 重的页面,curl 轻量快但不执行 JS,auto 自动选;还有 x-cache-tolerance 控制缓存容忍度。这类「加个前缀就能用」的设计,适合小登自己搭 demo,不用引 SDK。 四、TinyFish。特点一个是便宜(搜索免费),另一个是它是按 agent 使用习惯设计的。purpose 参数是它家的特色——query 往往只是一串关键词,背后意图不明,purpose 让你补一句「为什么搜」,比如 query=openai new model,purpose=想确认本月是否有新发布并核对官方公告,引擎就能拿这句意图去调优结果。domain_type 分 web/news/research_paper 三类,查新闻用 news 档会带 publisher 和日期字段。时间过滤用 recency_minutes(最近几分钟到十年)或 after_date/before_date(注意不能同时用)。还有 location/language 做地域定向。返回结果是干净的 JSON:position、title、snippet、url,直接喂给模型。 到这里归纳一下,这些参数看着五花八门,其实全在约束四件事: 1、检索面——搜哪类内容(Tavily 的 topic、Exa 的 category、TinyFish 的 domain_type 都是这个)。 2、时间窗——只信哪个时间段的东西(time_range、recency_minutes、start_date)。 3、来源域——白名单黑名单,从源头滤掉垃圾和错误信息(include/exclude_domains)。 4、内容形态——snippet 还是全文还是引擎精炼过的摘要,这决定 token 成本和验证深度(Exa 的 highlights/full text、Tavily 的 include_answer/raw_content)。 关于「让模型自行检验真实性」,靠参数能做的具体动作是四条:第一,强制带来源——所有工具都返回 url,prompt 里规定每个结论必须挂 url,没来源不下结论。第二,多源交叉——同一个事实用不同 query 换着问两遍,或者 Tavily 和 Exa 各搜一遍比对,一致才采信。第三,拿原文验证——snippet 和 AI 摘要都可能是二手的,对关键结论用 fetch 能力(Tavily 的 raw content、Jina 的 r.jina.ai)把原文抓下来,让模型对着原文判断而不是对着摘要判断。第四,用结构化输出逼引擎自己表态——Exa 的 output_schema 或 Tavily 的 answer 配合日期/来源字段,让模型输出天然带可核验的元信息。真实性的核心不是让模型更聪明,而是让它的每一个结论都长在一个可点击的 url 上。 最后补 Cloudflare 那部分,正好回答「agent 怎么 fetch 网页」的进阶问题。目前 agent 抓网页最痛的是:网页是 HTML,给 LLM 吃等于付 token 费读包装纸。Cloudflare 官方举的例子:一篇博客 HTML 形态 token,转成 markdown 只要 3150,省 80%。它推出的「Markdown for Agents」把转换从客户端挪到了网络边缘——只要请求带 Accept: text/markdown 头,Cloudflare 边缘节点实时把源站 HTML 转成 markdown 返回,还附一个 x-markdown-tokens 头告诉你这篇文档估算多少 token,方便你做 chunk 或控上下文。现在已经有不少 coding agent(Claude Code、OpenCode)默认就带这个头。所以小登以后自己写 fetch,先试这个头,能直接拿 markdown 就别硬啃 HTML。 配套的还有 Agent Readiness(agent 就绪度)打分,网站可以到 isitagentready.com 自查,从四个维度打分:可发现性(robots.txt、sitemap、Link 头)、内容可读性(markdown 协商)、机器人访问控制(Content Signals、AI bot 规则)、能力暴露(MCP Server Card、API Catalog、Agent Skills 这些新标准)。Cloudflare Radar 扫了全网 20 万热门域名,结果:78% 有 robots.txt 但基本是按搜索引擎写的,只有 3.9% 支持 markdown 协商,MCP Server Card 和 API Catalog 加起来全网不到 15 个站点。含义有两层:对你做 agent 的来说,抓取前可以先探一下站点支不支持 markdown 协商,支持就走捷径;对以后可能建站的小登来说,这是新一代「SEO」——给 agent 留 llms.txt、开 markdown、挂个 MCP server card,你的内容才更容易被 AI 检索到。 抽象总结一句话:搜索工具的参数设计,就是把你对「检索什么、信什么时间、信哪个来源、要什么形态、要什么结构」的全部约束写进请求里;真实性自检靠的不是事后让模型反思,而是事前的时间窗+域名白名单+多源交叉,和事后的强制来源+原文验证。工具选型上:要快省选 Tavily,要深度调研和结构化选 Exa,要抓正文转 markdown 选 Jina,要免费凑合用的选 TinyFish。