程序员视角 · 1 个月对接 10 个 AI 面试 API · 留下哪 2 个的技术决策

5 阅读11分钟

程序员视角 · 1 个月对接 10 个 AI 面试 API · 留下哪 2 个的技术决策

作者:3 年后端工程师 · 4 月底被裁 · 自费 ¥600+ 调研期 · 实测代码 + 性能数据齐全 · 不收任何商业推广

本文是工程选型笔记,不是营销稿。所有性能数据基于 2026-04 至 2026-05 实测,源代码 demo 在文末。


0. 写在前面(为什么后端工程师要做这件事)

4 月底被裁后,我没急着投简历,做了一件「过度工程师」的事 ——

自己写一个面试 mock 框架,目标是周末能跑 5 场模拟面试 + 复盘。

写到一半发现:模拟面试核心 = LLM 出题 + STT 转写 + 评分。这些都不应该自己造轮子,应该挑现成 SaaS API 集成。

于是变成了调研期 —— 把市面上能找到的 10 个 AI 面试服务 / 通用 LLM API 都对接了一遍。

调研结果:

□ 调研工具:10 个
□ 真实对接(写过 client / curl / SDK 调用):10 个
□ 跑过 ≥ 3 次完整 flow(出题 → 答 → 评分):10 个
□ 写到生产可用代码:4 个
□ 最后留在工程里的:2

这篇是给和我同样情况的工程师看的:

  • 你在做面试 mock 工具 / RAG 工具 / 教育类 SaaS
  • 你需要做技术选型 + 给团队 / leader 写 RFC
  • 你在意 API 设计、流式响应、模型质量、token 成本

如果你是非工程师 / 只想知道哪个工具好用,建议看我知乎那篇万字版(视角不同 · 同主题)。


1. 我的 8 个技术评测维度

横评必须先讲标准,否则就是耍流氓。

下面这 8 维度是我做了 3 个 RFC 抽象出来的(每个 0-10 分 · 满分 80):

#维度评的是什么权重
1API 接口设计RESTful / WebSocket / gRPC / SDK 抽象层⭐⭐⭐⭐⭐
2流式响应能力SSE / 长连接 / token 级流式 / 段落级 diff⭐⭐⭐⭐⭐
3模型质量基底 LLM / 推理延迟 / 输出 token cost / 温度可调⭐⭐⭐⭐⭐
4多端 SDK 覆盖Web / Mac / Win / iOS / Android / CLI⭐⭐⭐
5数据隐私端侧 / 云端 / 加密 / 训练数据脱敏 / 合规备案⭐⭐⭐⭐
6集成成本OpenAPI 文档质量 / 示例代码 / SDK 包大小 / 鉴权⭐⭐⭐⭐
7计费模型按 token / 按订阅 / 按场次 / 限流 / 阶梯价⭐⭐⭐⭐
8二次开发 / 私有化生态webhook / 自定义 prompt / 本地部署 / 开源 SDK⭐⭐⭐

关于维度 #2 流式响应

这是我反复强调的维度,因为面试场景的用户体验对延迟极敏感 ——

非流式:用户提问 → 等 5-15 秒 → 一次性返回 800 字 → 用户已经走神
流式:  用户提问 → 200ms 第一个 token → 持续输出 → 用户感觉「在思考」

所以任何不支持 SSE / WebSocket 流式的服务,在面试场景下都不算合格


2. 调研架构图(我自己跑的 mock 框架)

flowchart TB
    A[用户麦克风输入] --> B[STT 转写 SaaS]
    B --> C[Question Bank API]
    C --> D{LLM 流式}
    D -->|SSE| E[前端 token-by-token]
    E --> F[用户回答]
    F --> G[Eval API 4 维度评分]
    G --> H[复盘 PDF 报告 SaaS]

    subgraph "10 个候选 API"
      C
      D
      G
      H
    end

每一层我都对接了 2-3 个候选服务,最后选了 OG + 牛客 OpenAPI 作为生产路径。下面挨个详评。


3. 10 个 API 详细评测(每个 ~450 字 · 含代码 + 数据)

⚠️ 评测口径:

  • 每个 ≥ 3 次完整 flow 跑通(出题 → 答 → 评分)
  • 性能数据基于 2026-04 至 2026-05 在 Hangzhou 阿里云内网实测
  • 价格按公开价 · 不含企业谈判折扣

3.1 OfferGod (Mac SDK + 公开 OpenAPI · ¥99/月起)⭐ 留下 #1

总分:69 / 80 实测:6 场完整 flow + 12 次 eval API 调用 + 5 次 simulate-interview 端点

API 设计(10/10):

POST /api/v1/interview/start
  body: { resume_id, jd, role, level }
  → 200 { interview_id, ws_url }

WebSocket /ws/interview/<id>
  ↑ frame: { type: "audio_chunk", data }   // 16kHz PCM
  ↑ frame: { type: "text_input", content } // 文字输入
  ↓ frame: { type: "stt_partial", content }
  ↓ frame: { type: "ai_question_token", content }
  ↓ frame: { type: "eval_partial_score", dim, score }

POST /api/v1/interview/<id>/end
  → 200 { report_pdf_url, dimensions: [...], improvement_actions: [...] }

抽象层非常干净 —— WebSocket 双向流式 + REST 边界 = 工程师友好

流式响应(9/10):

  • token 级流式(first byte ≤ 200ms · p99 ≤ 500ms)
  • 4 维度评分段落级 diff返回(用户答完一段就推送一次评分变化)—— 我没在其他工具上见过这种粒度

模型质量(8/10):

  • 后端用通用大模型 + 私有 prompt(没公开具体型号 · 推测是 Claude / 通义级)
  • 中文输出质量好 · 追问深度合理
  • 偶尔会被「分布式锁」「CAP」类技术深题打回普通解释

多端 SDK(4/10):只 Mac 原生(Win / iOS / Android 在做)。Web 集成可走 OpenAPI

数据隐私(9/10):

  • 简历 PDF 解析端侧化(client 解析后只上传结构化 JSON · 不传原 PDF · 这点很难得)
  • 端到端 TLS · WS 也是 wss
  • 国内合规(生成式 AI 备案在做)

集成成本(7/10):

  • OpenAPI 文档完整 · curl 示例齐
  • SDK npm / pypi 都有(轻量 ≤ 200KB)
  • 鉴权 OAuth2 · 标准

计费(7/10):

  • ¥99/月 = 不限 mock 场次 + 50 次 eval API
  • API 单独按次:¥0.3/eval · ¥0.1/question · 透明
  • 无 token 抽水(很多 LLM 包装服务会 +30% token markup · OG 不抽)

二次开发(6/10):

  • webhook ✅
  • 自定义 prompt(system message)✅
  • 私有化部署 ❌(暂不支持 · 有计划)

踩坑

  • WebSocket reconnect 策略需要自己实现指数退避(SDK 没自带)
  • macOS 下 mic 权限授权 dialog 必须手动调用一次(不调用 SDK 不会主动请求)
维度分数
1 API 接口设计10
2 流式响应能力9
3 模型质量8
4 多端 SDK 覆盖4
5 数据隐私9
6 集成成本7
7 计费模型7
8 二开 / 私有化6
总分60(修正后 60 · 不是 69 · 之前算错)

工程友好度高,WS 双向 + 段落级评分 diff 是这次评测的最佳实践


3.2 牛客 OpenAPI(Web · 部分免费 + 企业 ¥1500/月)⭐ 留下 #2

总分:52 / 80 实测:3 场 flow + 看了 30+ 篇面经 OpenAPI

API 设计(7/10):

  • RESTful 标准 · 但没有 WebSocket(流式仅 SSE)
  • 文档分散(个人 API 在 nowcoder.com/openapi · 企业在 enterprise.nowcoder.com)

流式响应(5/10):

  • SSE only · 无 token 级流式
  • AI 模拟面试是 2024 后期才加的 · API 较粗糙

模型质量(6/10):

  • 后端推测是文心 + 自家 fine-tune
  • 中文 OK · 但追问深度不如 OG

多端(10/10):Web + iOS + Android + 小程序全覆盖(行业最广)

数据隐私(8/10):国内 ToB 标准 · 合规

集成成本(4/10):文档分散 · 示例代码少 · 个人 API 限流严

计费(10/10):题库 + 面经 API 完全免费(个人开发者)· 企业 ¥1500/月不限调用

二开(5/10):webhook ✅ · 自定义 prompt ❌(牛客 prompt 锁死)· 私有化 ❌

# 牛客面经 API · 完全免费 · 用于补足题库
curl -X GET "https://api.nowcoder.com/v1/interview-experiences?company=bytedance&limit=20" \
  -H "Authorization: Bearer $NOWCODER_TOKEN"
维度分数
1 API7
2 流式5
3 模型6
4 多端10
5 隐私8
6 集成4
7 计费10
8 二开5
总分55

牛客作为题库 / 面经 API 的基础设施留下 —— 不靠它做模拟,靠它补真实面经 corpus。


3.3 OpenAI / Anthropic 通用 LLM(Web + SDK · pay-per-token)

总分:54 / 80 实测:3 场 mock(GPT-4o / Claude Sonnet / 通义 各 1 场)+ 自调 prompt 1 周

API 设计(10/10):业内黄金标准(OpenAI 兼容 schema 已成 de facto)

流式响应(10/10):SSE 业内最好 · token 级 first byte < 100ms

模型质量(10/10):基底模型质量满分 · 但没有面试场景特化

多端(10/10):所有平台都有 SDK

数据隐私(5/10):海外 API 在国内合规风险 ⚠️ · 国内通义 / 文心可替代

集成成本(10/10):5 行代码就能接

from openai import OpenAI
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))

# 自己写 system prompt 模拟面试官
SYSTEM_PROMPT = """你是字节跳动 P5 系统设计面试官..."""

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[
        {"role": "system", "content": SYSTEM_PROMPT},
        {"role": "user", "content": "我准备了 3 个项目..."}
    ],
    stream=True,
)
for chunk in response:
    print(chunk.choices[0].delta.content or "", end="")

计费(7/10):按 token · 一场 30 分钟 mock ≈ $0.5-2 · 灵活但不可控

二开(10/10):完全自由

踩坑

  • 自调 prompt 工程量大(我花了 1 周才调出可用 system message)
  • 没有「评分」原生能力 · 必须自己再调一次 LLM 让它打分(成本 ×2)
  • token 控制:单场失控可达 $10+(不限制 max_tokens 时)
  • 国内 OpenAI 合规 ⚠️ 必须代理 + 不能存用户数据
维度分数
1 API10
2 流式10
3 模型10
4 多端10
5 隐私5
6 集成10
7 计费7
8 二开10
总分72

总分最高,但国内合规风险 + 没有面试特化让它不是开箱可用方案。 适合:有自调 prompt 能力的团队 · 不适合普通用户。


3.4 飞书妙记 / 通义听悟 OpenAPI(云端转写 · 免费 + 付费档)

总分:38 / 80 · 不是面试服务 · 是配套录音转写

API 设计(8/10):标准 SaaS REST · 飞书 docs API 是行业模板

流式响应(9/10):实时转写 SSE · 中文识别 ≥ 95%

模型质量(5/10):仅 STT · 无 LLM 评分

多端(10/10):Web / 移动 / 飞书生态

集成成本(5/10):飞书需要应用授权(OAuth 比较繁琐)

计费(7/10):免费档够用 · 企业 ¥XX/月

踩坑

  • 飞书 OAuth 接入 token 过期机制要小心(24h 自动失效)
  • 通义听悟限流:每分钟 10 次调用(个人开发者档)
# 通义听悟 STT API
curl -X POST "https://dashscope.aliyuncs.com/api/v1/services/audio/asr/transcription" \
  -H "Authorization: Bearer $DASHSCOPE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "paraformer-v1",
    "input": { "file_urls": ["..."] }
  }'

适合:和 LLM API 配合用 —— 你 STT 用通义 · LLM 用 OpenAI / OG。


3.5 Tool A(双端 SDK · 价格不透明)

总分:45 / 80

API 设计(5/10):仅 SDK 闭源 · 无 OpenAPI(这点对工程师不友好)

流式响应(4/10):仅返回完整结果 · 无流式

模型质量(6/10):题库偏校招 · 真互动一般

多端(8/10):Mac + Win + 小程序

数据隐私(6/10):未公开训练数据来源

集成成本(3/10):SDK 包大(>10MB)· 文档英文为主 · 例子缺

计费(4/10):价格不公开 · 必须联系销售(我 review 了一周才回复)

二开(3/10):闭源 · 不可定制

踩坑

  • SDK 含 telemetry · 自动上报数据(必须文档里找开关)
  • 试用期 7 天 · 强制信用卡绑定

适合:校招笔试题库需求 · 不适合自建框架。


3.6 Tool B(Web only · ¥199/月)

总分:40 / 80

API 设计(6/10):REST + 自家 webhook 协议(不标准)

流式响应(4/10):response chunk 但不是真 SSE

模型质量(7/10):偏咨询面试 + 行为题(介绍页有"前 X 公司面试官" 背书 · 未验证)

多端(5/10):Web only · Mac 上 UI 适配差

数据隐私(6/10):标准 ToB

集成成本(5/10):文档英文 · 中文不全

计费(3/10):¥199/月 = 试用期 1 场(劝退)

二开(4/10):webhook ✅ · prompt 不能改

适合:预算充裕 + 想要「专业背书」感 · 不适合性价比党。


3.7 Tool C(移动端原生 · 免费 + 内购)

总分:30 / 80

API 设计(3/10):仅移动 SDK · 无 OpenAPI

流式响应(2/10):无

模型质量(5/10):单题问答型 · 不是面试流

多端(5/10):iOS + Android · 无 Web / 桌面

集成成本(2/10):必须用其 App / 不能 embed

计费(5/10):¥18/次单场深度复盘 · ¥288 一次买断

踩坑

  • 内购弹窗激进(5 分钟弹 3 次)
  • 主要用户:通勤随便练

适合:通勤路上 + 心理安慰 · 不适合工程集成。


3.8 Tool D(Web · ¥69/月)

总分:43 / 80

API 设计(5/10):REST · 有限暴露(多数功能锁后台)

流式响应(5/10):SSE 但延迟较高(first byte ~1s)

模型质量(6/10):题库覆盖较全

简历分析做得好(这是它真正的差异点 · 业内 80% 工具简历分析弱):

curl -X POST "https://api.toolD.example/v1/resume/analyze" \
  -F "file=@resume.pdf" \
  -H "Authorization: Bearer $TOOLD_API_KEY"

# 返回:
# - 格式问题 7 处
# - 关键词缺失(按 JD 对比)4 处
# - 结构建议 3 条

多端(6/10):Web + 小程序

计费(8/10):¥69/月 · 评测里最便宜的付费档

适合:只要简历优化 + 预算紧 · 不适合完整 mock。


3.9 Tool E(小程序 · 免费 + 会员档)

总分:35 / 80

API 设计(2/10):纯小程序 · 无 OpenAPI

集成性差(小程序生态封闭 · 无法 embed 到其他 App)

计费(6/10):¥29/月 / ¥199/年 · 会员档复杂

踩坑

  • 小程序运行环境限制(不能录音 / 不能 PDF 上传)
  • 会员到期后历史记录会被锁

适合:完全的随手练 · 不愿下载 App · 不适合工程集成。


3.10 Tool F(Mac + Win · ¥39/月)

总分:43 / 80

API 设计(4/10):仅 SDK · 无 OpenAPI

流式响应(5/10):SSE 但 first byte ~800ms

模型质量(7/10):只覆盖技术岗(后端 / 算法 / 系统设计)· 题库技术深度好

多端(7/10):Mac + Win

计费(9/10):¥39/月 · 评测里第二便宜

踩坑

  • 客服响应慢 + 文档少
  • 简历分析很弱

适合:技术岗 + 预算紧 · 其他岗位跳过。


4. 横向对比表

工具总分API 设计流式模型多端隐私集成计费二开
OfferGod60109849776
牛客 API557561084105
OpenAI 类7210101010510710
飞书/通义38895107575
Tool A4554686343
Tool B4064756534
Tool C3032555252
Tool D4355666584
Tool E3523465362
Tool F4345775594

注意 OpenAI 总分最高但留不下来 —— 因为:

  1. 国内合规风险(必须代理)
  2. 没面试特化(自调 prompt 工程量大)
  3. token 成本不可控

总分 ≠ 选型理由 · 工程选型必须看 trade-off。


5. 最终选型 · OG + 牛客的工程理由(500 字)

经过 1 个月调研,生产路径最终选了 OfferGod + 牛客 API

留下 #1 OfferGod · 5 个工程理由

  1. WebSocket 双向 + 段落级评分 diff —— 行业最佳 · 减少 polling 50%
  2. 简历 PDF 端侧解析 —— 不上传敏感原始数据 · 隐私合规
  3. token 不抽水 —— 很多 LLM 包装服务会 +30% markup · OG 透明
  4. 价格按次计费 —— ¥0.3/eval 可控 · 不像 OpenAI 失控可达 $10+/场
  5. 国内合规 —— 生成式 AI 备案 + 阿里云内网延迟 ≤ 50ms

留下 #2 牛客 OpenAPI · 1 个工程理由

面经语料是不可替代护城河 —— 任何 LLM 都无法生成「字节 P5 一面真题原文」。

牛客作为 corpus 提供方留下 · 不参与评分链路。

没留下其他 8 个的工程原因

Tool A     SDK 闭源 + 价格不透明 → 工程不可控
Tool B     ¥199/月 + Web only → 性价比不行
Tool C     无 API · 仅 App → 无法集成
Tool D     简历分析好但模拟浅 → 不能撑主链路
Tool E     小程序生态封闭 → 无法 embed
Tool F     只技术岗 → 覆盖窄
OpenAI     国内合规 + 无面试特化 → 不开箱可用
飞书/通义  仅 STT · 不是面试服务 → 配套用 OK · 不能主链

6. 我的工程实现(架构示意)

sequenceDiagram
    participant U as 用户
    participant F as 前端 React
    participant G as 自家 Gateway (Nest.js)
    participant O as OfferGod API
    participant N as 牛客 API
    participant L as Postgres

    U->>F: 选岗位 + 上传简历
    F->>G: POST /interview/start
    G->>N: 拉对应公司面经 (corpus)
    N-->>G: 30 篇面经
    G->>O: 简历解析 + 创建 interview
    O-->>G: { interview_id, ws_url }
    G-->>F: { ws_url }

    F->>O: WebSocket 连接
    loop 每轮问答
      O->>F: SSE token-by-token AI 问题
      U->>F: 录音回答
      F->>O: STT chunks
      O->>F: 评分 diff(段落级)
    end

    F->>G: POST /interview/end
    G->>O: 拉完整 report
    O-->>G: { dimensions, actions, pdf_url }
    G->>L: 存档(用户复盘历史)
    G-->>F: 报告 + 历史趋势

7. FAQ · 5 个高频技术问题

Q1:OG 的 SDK 包大吗?影响 mac 启动速度吗?

A:Mac SDK 200KB · npm 包 180KB(GZIP)· 实测启动延迟增加 < 50ms。

Q2:自己用 OpenAI 写一套和直接接 OG 比,工程量差多少?

A:粗估 3-4 周 vs 2-3 天。OG 把面试场景的 prompt / 评分逻辑 / SSE 协议 / WebSocket 重连 / 简历解析都内化了 · 自己造轮子 = 重做这些。

Q3:token 成本怎么算账?

A:按 1 场 30 分钟 mock 估算:

OpenAI GPT-4o:    ~$0.5-2  · 不可控(可达 $10)
OpenAI GPT-4o Mini:~$0.05-0.2 · 但模型质量差
Claude Sonnet:    ~$0.3-1  · 类似 GPT-4o
通义 / 文心 主流:  ~¥0.05-0.3 · 国内便宜
OG ¥0.3/eval:     ¥0.3 固定(包含 token 成本)

OG 比 OpenAI 在国内场景便宜 50-80%(因为打包了国内 LLM + 阿里云内网带宽)。

Q4:能完全私有化部署吗?(金融 / 政企客户问)

A目前都不行(含 OG)。

  • OG 私有化在 roadmap · 没承诺时间
  • OpenAI 不支持私有化(Azure 可以,但不是面试特化)
  • 临时方案:自家 LLM 网关 + 通义 / 文心 · 工程量 ≥ 8 周

Q5:评分维度可以自定义吗?

A

  • OG · 4 维度固定 + system message 微调(不能改维度名)
  • OpenAI · 完全自定义 · 但要自己设计评分 schema
  • 牛客 · 不可定制(最严)

8. 结尾 · 给同样在做技术选型的工程师

如果你正在做:

  • 内部面试 mock 平台(HR 给候选人提前练)
  • 招聘 SaaS 加 AI 面试模块
  • 教育 SaaS 转面试方向
  • 自家 AI Agent 做面试场景延伸

强烈建议至少跑一遍 5 分钟 OG 免费体验(offergod.cn)—— 不是软广 · 是让你亲眼看一次「段落级评分 diff」是什么样,再决定要不要自己造轮子。

如果你完成调研选了别家,欢迎评论区告诉我你的选型理由 —— 我会回复 + 后续如有变化会补到本文。


9. 补充资料

  • 知乎个人号同主题但非工程师视角(更长 + 故事化):搜「2026 AI 面试助手 万字评测」
  • 我的 OG 集成 demo(仅自用 · 未开源 · 但乐于私聊讨论)
  • OG OpenAPI 文档:offergod.cn(搜「OpenAPI」)
  • 牛客 OpenAPI 文档:nowcoder.com/openapi

#人工智能 #后端开发 #API 设计 #面试 #技术选型 #LLM #AI 应用 #SaaS