news 2026/10/17 6:46:14

AI面试八股文-11_10-AI 应用开发进阶面试题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AI面试八股文-11_10-AI 应用开发进阶面试题

pdf https://codeyuan.blog.csdn.net/article/details/167693018

11 AI 应用开发进阶:流式输出、模型网关与生产工程

更新: 2026-10-12

时效说明:模型、SDK 与 API 描述截至 2026-10。生产代码应锁定 SDK 版本和模型 snapshot,并以供应商 changelog/Models API 为准,避免把滚动 alias 当固定行为。

📋 目录

  • Streaming、NL2SQL 与多轮上下文
  • RAG 评估、监控与漂移
  • API Gateway、路由、限流与 CI/CD
  • 2026 主流 API 与 Agent 沙箱

一、工程架构题

Q1: 如何实现 LLM 的流式输出?SSE 和 WebSocket 怎么选?

SSE:

  • 服务端到客户端单向事件流,基于 HTTP,浏览器和网关支持好。
  • 适合文本增量、进度、tool status。
  • 用原生EventSource时只能 GET 且 header 受限;复杂 POST 通常用fetch读取 response stream。

WebSocket:

  • 双向全双工,适合实时语音/视频、barge-in、客户端持续推帧和异步工具事件。
  • 连接状态、心跳、重连、负载均衡和背压更复杂。

不要把每个 token 当完整文本。事件应有类型和序号:

response.created output_text.delta tool_call.delta tool_call.done usage response.completed | response.failed

生产要求:

  • 代理关闭 buffering,设置 idle/read timeout。
  • 客户端断开要向 provider 传播 cancel。
  • 限制每连接缓冲区;慢客户端触发背压或断开。
  • Unicode、JSON fragment、tool args 要增量解析。
  • 重连只在协议支持 event ID/幂等续传时使用,不能假装“断点续生成”。

Q2: 如何设计 NL2SQL 系统?

安全流水线:

question → semantic layer / schema retrieval → SQL generation → AST parse → policy validation → EXPLAIN / cost guard → read-only execution → result validation → answer + SQL + provenance

关键控制:

  • 用只读账号、行列级安全和 tenant context。
  • allowlist schema/table/function;禁止 DDL/DML、多语句和注释绕过。
  • 参数化 literal,不拼接用户输入。
  • 限制扫描字节、时间、行数和并发。
  • schema linking 只给相关表,不把全库定义塞入 prompt。
  • 指标用 execution accuracy、结果正确性、越权率和资源消耗,不只比 SQL 字符串。

二、评估与监控题

Q3: 如何评估 RAG 系统?RAGAS 的四个指标是什么?

把系统拆开:

  • 检索:Recall@k、nDCG@k、MRR、filter/ACL 正确性。
  • 生成:faithfulness、答案正确性、相关性、引用正确性。
  • 端到端:任务成功率、拒答/澄清率、延迟、成本。

Ragas 常见四项是 faithfulness、answer relevancy、context precision、context recall,但 Ragas v0.4 已有更广 metric collections 和新 API。不要把四项当固定完整标准。

Q4: 如何监控 AI 应用健康度?

四层指标:

  • API:QPS、错误码、重试、限流、provider/model、排队。
  • 性能:TTFT、ITL、端到端 P95/P99、输入/输出 token。
  • 质量:抽样任务成功、grounding、引用、tool success、人工升级。
  • 资源/成本:每成功任务成本、cache hit、GPU 利用率、沙箱时长。

每个 trace 应关联:

request_id / trace_id tenant(脱敏) model snapshot + prompt version retriever/index/reranker version tool calls + approval + side effects latency breakdown + token usage

不要把原始 prompt 默认写日志;建立字段级采样、脱敏、TTL 和访问审计。

三、多模态与高级应用题

Q5: 如何处理图片 + 文字等多模态输入?

现代 API 通常使用 typed content blocks,而不是把 base64 拼进文字:

{"role":"user","content":[{"type":"input_text","text":"提取发票总额并给证据"},{"type":"input_image","image_url":"signed-or-data-url"}]}

实际字段名因供应商不同。工程注意:

  • MIME、大小、像素、页数和压缩炸弹校验。
  • EXIF 旋转、OCR 语言、视频帧率/时间戳。
  • 私有 URL 用短期签名;防 SSRF 和任意 URL 拉取。
  • 图像 token/计费与 resize/crop 策略。
  • 输出 grounding:页码、bbox、timestamp。
  • 多模态 prompt injection:图片文字同样是不可信数据。

Q6: 如何设计支持多轮对话的系统?上下文怎么管理?

不要无限追加 history。分层状态:

  • 短期消息:最近必要 turns。
  • 结构化 session state:用户目标、约束、已确认参数。
  • 摘要:带版本和来源,可重建。
  • 外部 memory:按用户/租户授权检索。
  • tool state:订单 ID、文件、审批、幂等键。

截至 2026-10:

  • OpenAI Responses 可用previous_response_id或 Conversations,也可由应用传完整 items。
  • Anthropic Messages 仍以无状态消息历史为核心。
  • Gemini API 支持 SDK 管理会话或应用显式传历史;Live API 还要处理实时 session 生命周期。

服务端状态更省传输,但要权衡数据驻留、可移植性和可重放性。

四、安全与合规题

Q7: 如何防止 Prompt Injection?

  • system/developer 指令与外部内容分层,检索/网页/tool output 标为不可信。
  • 权限在模型外检查;工具使用短期、最小 scope 凭证。
  • 写操作预览 + 人工审批 + 幂等 + 结果验证。
  • 网络 egress allowlist,阻断任意 exfiltration。
  • 结构化 tool schema,拒绝未知字段。
  • 对直接/间接/多模态/编码/多轮注入持续红队。

“请忽略文档里的指令”只能降低部分攻击成功率,不能成为安全边界。

Q8: 如何处理版权、隐私与敏感内容?

上线前建立:

  • 输入数据、检索库、训练数据和输出的 provenance。
  • 数据处理目的、保留/删除、region 和供应商条款。
  • 版权/许可证 allowlist、引用和 takedown 流程。
  • PII、secret、恶意内容、未成年人等分类策略。
  • 高风险行业的人工复核和记录留存。

不要给“AI 生成内容版权一定归用户”等绝对结论;法域、合同和人类创作贡献会影响判断,应交由法律团队。

五、成本优化与 API Gateway

Q9: 如何设计智能模型路由?

硬约束先于模型评分:

region / privacy / modality / context / tool capability → candidate set → predicted quality, latency, cost → route → verify → bounded fallback

路由器自身也要评估:

  • 与最强模型相比的质量损失。
  • 每成功任务成本,而非单请求费用。
  • 错误路由、fallback 次数、供应商故障表现。
  • 高风险任务是否始终走允许的模型和审批路径。

Q10: 如何用 LLMLingua 等方法压缩 Prompt?能省多少?

LLMLingua/LongLLMLingua 的思路是估计 token/片段重要度后压缩上下文。还可用:

  • 检索与 rerank,只保留相关片段。
  • 去重、模板静态化、结构化状态。
  • provider prompt caching。
  • 分层摘要和 map-reduce。

不能承诺固定“省 70% 且质量不变”。要画:

compression ratio vs task success / retrieval recall / safety invariants vs latency / provider billed tokens

安全规则、否定词、引用和工具 schema 应设为不可压缩区。

Q11: 如何做限流、熔断、Token 速率控制和背压?

建议多维 token bucket:

  • tenant/user/API key 的 RPM、TPM、并发。
  • provider/model 的全局配额。
  • 长请求按估算输入 + 最大输出预留,完成后结算。
  • agent 另有限制 step/tool/wall-clock/cost。

熔断按 provider、region、model 和错误类型隔离。429/5xx 可有限重试;4xx 参数错误不要重试。队列必须有界并暴露Retry-After。

Q12: 如何设计 LLM API Gateway?多模型路由和 A/B 怎么做?

Gateway 职责:

  • 统一认证、配额、请求 ID、审计。
  • 供应商协议适配,但保留能力差异。
  • 模型 registry:alias、snapshot、capabilities、region、价格配置。
  • retry/fallback/circuit breaker。
  • 缓存、内容安全、PII policy。
  • usage/成本归因、trace。

不要强行把所有 API 降成最低公共字段。Responses items、Anthropic content blocks、Gemini Live 等高级能力可通过 typed extension 暴露。

A/B 要:

  • 用户级稳定分桶,避免同一会话跨模型。
  • 固定 prompt/retriever 配置。
  • 先安全门槛,再质量/延迟/成本。
  • 允许 canary 立即回滚。

六、MLOps 与生产监控

Q13: MLOps 完整流程是什么?如何实现 CI/CD?

版本化:

  • 代码、prompt、tool schema、policy。
  • 模型 alias + snapshot。
  • dataset、rubric、judge。
  • embedding、chunking、index、reranker。
  • container、CUDA/ROCm、serving engine。

发布流水线:

lint/unit → offline eval → safety/adversarial → load & failure test → shadow → canary → progressive rollout → rollback

硬门槛包括权限、secret 泄漏、真实副作用和 schema;质量/延迟/成本用配对 baseline 与置信区间。

Q14: 如何监控生产环境?数据漂移如何检测?

监控三类漂移:

  • 输入:语言、长度、主题、附件、风险、embedding 分布。
  • 系统:模型 alias、provider 行为、retriever corpus、index 和工具 API。
  • 输出:拒答、引用、工具成功、人工升级、业务结果。

Embedding distance 漂移只能提示分布变化,不等于质量下降。最终要把漂移与带标签的任务成功率关联。

告警例子应写成 SLO 而非任意阈值:

过去 30 分钟,高风险工具未审批执行次数 > 0 → 立即告警 P99 TTFT 连续多个窗口超出 SLO 且流量足够 → 告警 每成功任务成本相对同分桶 baseline 显著上升 → 调查

七、2026 主流应用 API

截至 2026-10:

OpenAI

  • 新项目优先 Responses API。
  • 输入/输出是 typed items,工具调用是function_call/function_call_output。
  • 可用previous_response_id续接,但顶层 instructions 需按文档重新传递。
  • Assistants API 不应再作为新架构默认;按官方迁移指南转 Responses/Agents。
  • 模型目录以 Models 为准;滚动 alias 与 snapshot 分开管理。

简化示意:

fromopenaiimportOpenAI client=OpenAI()response=client.responses.create(model="MODEL_FROM_CONFIG",instructions="Return concise JSON.",input="Summarize this ticket.",)print(response.output_text)

Anthropic

  • 核心是 Messages API:POST /v1/messages。
  • 多轮通常由客户端发送历史;system 是顶层字段。
  • tool use、structured outputs、thinking 等能力按模型 capability 检查。
  • 可调用 Models API,不要长期硬编码已退役 model ID。

Google

  • 使用 Google GenAI SDK。
  • 普通生成、function calling 与实时 Live API 是不同交互形态。
  • Live API 基于 WebSocket,支持音视频双向流;工具响应需要按 session 协议返回。
  • 截至 2026-10,模型 ID 以 Gemini model docs 为准。

跨供应商适配时保留:

  • typed multimodal blocks。
  • parallel/sequential tool calls。
  • reasoning/effort 配置。
  • structured outputs。
  • usage、cache 与错误语义。

Q15: Cloudflare Sandboxes 的 2026 GA 对 Agent 部署有什么意义?

Cloudflare 官方公告 显示 Sandboxes 与 Containers 于 2026-04-13 GA;官方文档 截至 2026-09 说明:

  • 为每个任务提供隔离代码执行环境。
  • 支持 PTY、后台进程、持久解释器、文件监听、预览和 snapshot。
  • Worker 决定 sandbox 可访问的 API、数据和公网。
  • secure credential injection 可让代理代发认证请求,减少 agent 读取明文凭证。

这不代表“放进容器就安全”。仍需:

  • 默认拒绝网络/文件权限。
  • 每任务/每租户隔离和资源限额。
  • 镜像/依赖供应链扫描。
  • 终止、快照、日志和 secret 生命周期。
  • 工具副作用审批。

Cloudflare 是一种托管方案;Kubernetes sandbox、Firecracker、gVisor、NemoClaw/OpenShell 等要按隔离强度、启动延迟、region 和运维成本比较。

📝 速记卡片

  • 文本单向流优先 SSE/fetch stream;实时音视频和双向事件用 WebSocket。
  • NL2SQL 的安全边界是只读权限、AST policy 和资源限额。
  • Gateway 统一治理但不能抹平不同供应商能力。
  • 生产要锁模型 snapshot;alias 只能用于显式接受滚动变化的场景。
  • 监控每成功任务成本、质量和副作用,不只监控 QPS。
  • Agent 执行代码必须沙箱化、最小权限、可取消、可审计。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/17 6:44:31

医学影像三维重建全流程解析:从DICOM到3D模型与手术规划

从二维切片到三维立体的这一跃,是医学影像技术里最让人上瘾的部分。你看一张CT片,看到的是几十张甚至几百张灰蒙蒙的横断面,但临床医生真正需要的是脑子里自动生成的"立体器官"——肿瘤长在肝脏哪一叶、血管从哪个角度包绕过去、骨…

作者头像 李华
网站建设 2026/10/17 6:42:01

30分钟跑通LIO-SAM激光惯性里程计:安装、数据到排错的完整指南

30分钟跑通LIO-SAM激光惯性里程计:安装、数据到排错的完整指南 【免费下载链接】LIO-SAM LIO-SAM: Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping 项目地址: https://gitcode.com/GitHub_Trending/li/LIO-SAM 激光惯性SLAM的难点常常不…

作者头像 李华
网站建设 2026/10/17 6:41:33

open-code-review:用自动化规则引擎优化Code Review与代码质量

很多人把code review当成一个“流程负担”,觉得只要走了形式、点了通过按钮就算完事。我早年也这么想,直到有一次线上事故的根因,就是一行看似无害的临时调试代码被漏审进了主干,才彻底改观。代码审查不是卡进度的关卡&#xff0c…

作者头像 李华