每日AI简报

Exa + E2B:让 agent 会查网,也让它在真沙箱里算数

6 个部分约 14 分钟本文 5323 字
PART 01

今天这两个工具能接成一条线。Exa 把网页查成带 URL 的干净片段,E2B 给模型一个真能跑代码的地方。

选它们是因为钱都花在明处:前者按请求数和结果条数两头计价,后者按秒计价,账单跟你什么时候暂停直接相关。两个主角本期均未在你的账号部署或实测。

PART 02

主角一 · Exa:为 agent 做的检索接口,按请求数和结果数两头计价

段 1 · 是什么

它替你把「搜网页」这件事做成一次 API 调用。返回的不是十条蓝色链接,而是带标题、URL、发布时间和文本片段的结构化 JSON。

省掉的动作很具体:你不用自己抓页面、切正文、滤广告。只开 contents.highlights 时,它直接给出命中问题的那几句,省掉大段正文的 token。

段 2 · 多少钱

全球统一美元标价,核验日期 2026-10-08。按请求预付费,无订阅、无最低消费。

| 端点 | 单价(每 1,000 次请求) ||---|---|| Instant Search | $4 || Fast / Auto Search | $7 || Deep Search | $12 || Deep-Reasoning Search | $15 || Contents | $1(每 1,000 页) || Monitors | $15 || Answer | $5 |

超过 10 条结果的,每条再加 $1 每千次请求。AI 页面摘要另计 $1 每千页。

Agent 那套单独计价:算力 $0.10 每 ACU,检索工具调用 $0.005 一次,邮箱线索 $0.02、电话线索 $0.07。固定档位是 Minimal $0.012、Low $0.025、Medium $0.10、High $0.50、X-high $1.00,均按每次请求算,Ultra 档按量走。

免费档每月给 $10 credits,外加一次性 $10 开户奖励。要注意的坑:

  1. 免费额度不累计。每月 1 日重置回 $10,上月没花完的不加到下月,账户里永远最多 $10。
  2. 月赠只给一个用户的首支团队。换团队或换账号都拿不到第二份。
  3. 免费额度按标准价消耗,没有额外优惠,用完直接返回 402。
  4. 用量从团队 credit 余额扣,单个 API key 还能单独设预算,撞到预算同样是 402。

段 3 · 适合谁

只偶尔手动搜两下,直接用网页搜索就行,为这个配 key 不划算。

段 4 · 局限

  1. 限速是团队级共享的。默认 10 QPS 由团队所有 key 分摊,某个 key 单独调低也照样占用总配额。
  2. 深研档会掉到 5 QPS。type 用 deep-lite、deep 或 deep-reasoning 时,配额只有平时一半。
  3. Agent 启动一次 run 算两个请求。10 QPS 的账号每秒只能起 5 个 run,并发是另一条线,上限 50 个。
  4. 结果数有硬上限。numResults 默认 10,公开上限 100;开了 highlights 还超过 100,直接报 INVALID_NUM_RESULTS。
  5. Contents 的部分失败不报错。/contents 里某个 URL 抓不到,顶上仍是 200,失败塞在 statuses 字段里,不看就当成功了。
  6. 付费提额有门槛。要 30 天内累计买满 $1,000 credits 才升到 25 QPS,有效 90 天,且算的是购买额不是消费额。

段 5 · 上手路径

  1. 选档位:交互场景用 type: "fast";要省 token 就只开 contents.highlights,别顺手把整页 text 拉回来;批量归档用 auto。
  2. 控结果规模:numResults 别默认拉满,先给 8 到 10,超出部分每条都要加钱。要更宽的检索面就在 query 上加 additionalQueries,只对 deep 系列生效。
  3. 错误按状态码分支:402 是额度问题,码里再分 NO_MORE_CREDITS、API_KEY_BUDGET_EXCEEDED、TEAM_BUDGET_EXCEEDED;429 看 Retry-After;503 是平台过载且不计费,降速没用、重试才有用;504 要缩小查询范围。
  4. 先跑 100 次 Auto Search 估成本:$7 每千请求约合 $0.007 一次,叠上 highlights 的页数费,一个月一千次不到 $10,刚好压在免费额度边上。

段 6 · 来源

02 / 配图
PART 03

主角二 · E2B:按秒计费的代码沙箱,账单写在暂停策略里

段 1 · 是什么

它替你把「跑一段模型生成的代码」变成一次 API 调用。任务进来时起一个隔离沙箱,跑完就停。

省掉的动作是:你不用在本机装依赖、管进程、防脚本删错文件,也不用为一次性的批处理常驻一台机器。

段 2 · 多少钱

美元标价,核验日期 2026-10-08,按秒计量,只在沙箱运行期间计费。

| 项目 | 单价 ||---|---|| vCPU | $0.000014 每 vCPU 每秒($0.0504 每小时) || 内存 | $0.0000045 每 GiB 每秒($0.0162 每小时) || 磁盘 | 套餐内含(Hobby 10 GiB / Pro 20 GiB) |

套餐分三档:

| 档位 | 月费 | 关键上限 ||---|---|---|| Hobby | $0 | 一次性 $100 额度,单次连续运行 1 小时,20 并发 || Pro | $150 | 单次 24 小时,100 并发,可加购到 1,100 || Enterprise | 定制,月最低 $3,000 | 多日持久会话,支持 BYOC |

官方算例很干净:默认沙箱是 2 vCPU + 512 MiB,跑满一小时约 $0.109,跑五分钟约 $0.009。按 2 vCPU + 4 GiB 跑满 1,000 沙箱小时,用量约 $165.60;叠加 Pro 月费是 $315.60,税前。

坑逐条写:

  1. 月费不等于运行时费。Pro 的 $150 只买上限,不送额度,升档不会多给 credit。
  2. 额度用光账号会被拦,不是降速,是直接停用,得先加支付方式。
  3. 并发加购单独收费。600 并发 +$500 每月,1,100 并发 +$1,000 每月。
  4. 用量在每月初结算上月,可以自己在控制台设消费上限。

段 3 · 适合谁

只想让模型算一次加减法,用不着沙箱,本地起个进程就够。

段 4 · 局限

  1. 按墙钟计费,不按 CPU 计费。沙箱开着空转,中间有等待和思考的空档,照样一秒一秒扣钱。
  2. 默认超时只有 5 分钟,且默认是销毁。不显式设 timeoutMs,沙箱到点被 kill,里面状态全丢。
  3. 必须改用暂停策略才保状态。把 onTimeout 改成 pause 才会连内存一起存;想自动唤醒还得再加 autoResume,否则下次调用不会自己起来。
  4. API 限速按端点和项目算。列表类是 Hobby 10 次每秒、Pro 20 次每秒;超了返回 429 带 Retry-After。SDK 从 2.49.1 起才会自动按这个头重试。
  5. 创建速率有限。Hobby 每秒只能起 1 个沙箱,Pro 是 5 个,创建速率和并发数是两回事。
  6. 资源天花板不低。Hobby 最高 8 vCPU、8 GiB 内存,要更大得走 Enterprise。

段 5 · 上手路径

  1. 建沙箱时三件事一起给:cpuCount 与 memoryMB 按需给到最小(默认 2 vCPU / 512 MiB 够多数任务),timeoutMs 按实际时长给,lifecycle.onTimeout = "pause" 配 autoResume = true。
  2. 算成本按官方公式:(vCPU × 0.000014 + GiB × 0.0000045) × 运行秒数。2 vCPU + 512 MiB 一小时约 $0.109,一个 300 秒的任务约 $0.009。
  3. 挂 lifecycle webhook 做台账:读 sandbox.lifecycle.killed 与 sandbox.lifecycle.paused 里的 event_data.execution,里面有 vcpu_count、memory_mb、execution_time、started_at。created 事件不带资源,别从它取值。验签看 e2b-signature,去重看 e2b-delivery-id,投递会重试,可能重复到达。
  4. 省钱的四个开关:开自动暂停、任务结束主动 pause、不再用的显式 kill、只申请够用的算力。清沙箱用 Sandbox.list() 一次列出全部运行中与暂停中的实例。

段 6 · 来源

03 / 配图
PART 04

实战流程:一条能查、能算、能对账的最小链路

  1. 定时取料。用 Exa /search,type 给 fast,numResults 给 8,includeDomains 填白名单,startPublishedDate 限最近 7 天,只开 contents.highlights。输出:每条含标题、URL、发布时间、关键句的 JSON。
  2. 交给模型归纳。把 highlights 拼成上下文,要求按固定字段输出,且必须回填来源 URL。输出:一段可执行的 python 与参数。
  3. 进沙箱验证。用 E2B 起默认规格沙箱,把脚本写进去执行,取 stdout 与产物文件。沙箱开 onTimeout: "pause" 与 autoResume,避免中途被销毁。
  4. 对账。读 lifecycle webhook 的 event_data.execution,用官方公式算出这一次运行的真实美元成本,和 Exa 那 8 次请求的账面成本合并记一笔。
  5. 出成品。把核对过的结果套模板生成页面并推送。全链路只有 Exa 的请求费与 E2B 的秒费两处支出。
04 / 配图
PART 05

可复制提示词

你是一个检索校对器。输入是一组网页片段,每条带 url、publishedDate、highlights。 规则: 1. 只使用片段里出现过的信息,不许补常识,不许推断数字。 2. 每条结论后面必须跟它来自的 url;无法归因的结论直接删掉。 3. 输出 JSON,字段固定为 claim、evidence、source_url、published_date、confidence。 4. confidence 标 low 的条目单独列进 needs_review 数组,不要混进正文。 5. 片段之间互相矛盾时,两条都保留,并在 conflict 字段写明矛盾点。 6. 不要寒暄、不要总结段、不要解释你的做法。

验证标准:随机抽三条,逐条打开 source_url 确认页面可访问且确实含该证据;检查 published_date 与 Exa 返回的时间一致;检查 needs_review 不为空时正文里没有混入这些条目;最后确认输出里没有出现任何片段之外的数字。

PART 06

边界声明

本期两个主角均未在你的账号部署,未做性能与并发实测。价格取自官网公开页,核验日期 2026-10-08,美元口径,不含税费。Exa 的 Agent 分档与 E2B 的 Enterprise 报价,官方页存在口径合并的情况,以上按可读到的原文照录。