# 1. 实时音频流与文本 delta、工具调用事件混流时,前端应如何维护统一时间线,使转写、工具进度与播放顺序不错位 A 音频、转写、工具各自独立播放,无需对齐 B 工具事件无需进时间线 C 转写与音频播放无需同步 D 所有事件携带统一时间戳与序号,前端按单条时间线对齐渲染,保证不错位 ✓ 正确答案
# 2. 用户打断(barge-in)时,中断事件应如何在前端、BFF 与 Provider 会话之间传递,已播放但未出账的音频如何对账 A 打断时只需停止前端播放,无需通知服务端 B 中断无需传播到 Provider C 被打断的音频也应计费给用户 D 前端立即停播并传中断到 BFF/Provider,对账区分已播放与被打断丢弃的音频、按实际生成量计费 ✓ 正确答案
# 3. 实时会话的断线续传与会话状态恢复应如何设计——哪些状态(已确认的对话项、工具调用进度)必须回填,哪些应丢弃重生成 A 已确认对话项与副作用结果必回填,未完成临时内容丢弃重生,用幂等键避免重复副作用 ✓ 正确答案 B 重连后所有状态都回填 C 工具调用进度不需要回填 D 重连后一切重新开始,无需恢复
# 4. 实时语音的计量口径(音频输入/输出时长或 token)与文本对话不同,如何在同一账单与观测体系内统一对账与展示 A 语音按时长、文本按 token,各自计费即可,不需统一 B 连接时长无需计入 C 语音不计费 D 把音频时长/token、文本 token、连接时长归一化为统一成本口径,并保留各维度明细用于对账展示 ✓ 正确答案
# 5. BFF 层中继 WebRTC 或 WebSocket 时,如何按用户设置并发数、会话时长上限与成本熔断,防止长连接耗尽资源 A 长连接可无限建立,无需限制 B 按用户限制并发数、会话时长上限,并做成本熔断,超限主动断开或降级 ✓ 正确答案 C 会话时长无需限制 D 成本熔断会破坏体验,应避免
# 6. Provider 提供的 VAD 与轮次事件应如何透传给前端,如何区分服务端端点检测与前端误判以便事后调参 A 前端 VAD 足够,无需服务端事件 B 误判无法定位 C 服务端 VAD 与前端判断永远一致 D 透传 Provider 的 VAD/轮次事件,记录前端与服务端事件时间戳对比偏差,据误判统计调参 ✓ 正确答案
# 7. 实时会话与传统 SSE 文本流的切换边界应如何设计,使同一会话在语音与文字模式间迁移时不丢上下文 A 切换时无需保留上下文 B 语音与文本是两个独立会话,切换即丢失上下文 C 共享同一会话 ID 与消息历史,切换时以已确认对话为边界衔接,不丢上下文 ✓ 正确答案 D 两种模式无法共享历史
# 8. 实时会话日志(音频片段、转写、事件)应如何采样与脱敏,既满足回放调试又符合生物特征合规要求 A 原始音频应完整长期保存,便于回放 B 转写无需脱敏 C 音频不是生物特征,无需特殊处理 D 默认不存或采样音频,转写脱敏 PII,事件用于回放,严格限制访问与保留期限并符合生物特征合规 ✓ 正确答案
# 9. 首音频延迟与打断成功率应如何在集成测试环境中度量并纳入发布门禁 A 这些指标无法自动化测试,只能上线后观察 B 打断成功率无需测 C 用合成音频在集成环境测首音频延迟分位数与打断成功率,设阈值纳入发布门禁 ✓ 正确答案 D 测试环境指标与生产无关,无需贴近
# 10. 语音 Agent 的工具 Schema(名称、描述、参数约束和返回值)应怎样设计,才能减少误选工具和参数幻觉并避免拉长对话 A 名称简短明确、描述写清何时用、参数约束严格、返回值明确,粒度适中以减少误选与拉长对话 ✓ 正确答案 B 工具数量越多越好,便于模型选择 C 参数无需约束,模型自己会填对 D 工具名称越复杂越能区分
# 11. 语音 Agent 中从模型提出工具调用、应用校验执行、结果回传到模型生成最终答复的完整闭环如何实现 A 工具结果无需回传模型 B 模型提出调用后直接执行,无需校验 C 模型提出 → 应用校验执行 → 结果回传模型 → 生成最终答复,校验在副作用前拦截 ✓ 正确答案 D 校验失败时直接丢弃结果
# 12. 语音 Agent 中并行调用和串行调用怎样影响依赖、顺序、成本和错误处理,何时必须禁止并行 A 并行永远优于串行 B 并行不会影响配额与错误 C 串行会浪费成本,一律并行 D 有依赖、写冲突、共享配额或严格顺序的工具必须串行,独立无依赖才宜并行 ✓ 正确答案
# 13. 语音 Agent 的工具描述(description)应使用哪些自然语言技巧让模型“愿意选”而不是“忽略”或“误用” A 描述越笼统越好,让模型自由发挥 B 描述主要用否定式 C 相近工具描述相同即可 D 写清触发条件、边界、价值与参数语义,用肯定式与差异化描述减少忽略与误用 ✓ 正确答案
# 14. 语音 Agent 工具调用结果如果体积过大(>100KB),模型二次调用时如何避免上下文超限(截断、摘要、引用) A 把完整大结果直接回传模型 B 用截断、摘要、引用(存外部+返回 ID)组合,把回传量控制在上下文预算内 ✓ 正确答案 C 大结果无需处理,模型能容纳 D 只要截断头部即可,无需摘要
# 15. 语音 Agent 的工具如何在 Schema 层声明互斥(mutually exclusive)参数,减少误选与矛盾调用 A 用 oneOf/anyOf/not 在 Schema 层声明互斥,配描述与服务端校验,减少矛盾调用 ✓ 正确答案 B 互斥参数无法在 Schema 表达 C 参数互斥只能靠模型自觉 D 同时传入互斥参数是合理的
# 16. 语音 Agent 工具调用失败的错误分类(4xx 业务错误、5xx 服务错误、超时、权限拒绝)如何映射为语音可播报的错误提示与重试策略 A 所有错误都播报"请重试"并自动重试 B 按错误类型映射:可重试(5xx/超时)退避重试,不可重试(4xx/权限)播报原因并引导,语音提示口语化 ✓ 正确答案 C 4xx 业务错误应无限重试 D 权限拒绝也应自动重试
# 17. 语音 Agent 工具调用结果中包含用户输入不可信内容时,如何做白名单/黑名单字段过滤与转义 A 用白名单保留安全字段、黑名单剔除危险项、并对保留内容转义,防止注入与污染 ✓ 正确答案 B 用户输入内容无需处理 C 工具结果可信,直接回传模型 D 转义多此一举
# 18. 语音 Agent 中敏感操作(删除、付款、发邮件)的工具调用如何在 UI 层强制二次确认而不是仅依赖模型“礼貌询问” A 模型礼貌询问用户即可 B 确认由模型自行判断 C 危险工具在 UI 层强制二次确认,确认前不执行副作用,形成确定性门禁 ✓ 正确答案 D 删除操作无需确认
# 19. 语音 Agent 的有副作用工具如何设计幂等键、超时、重试、补偿、审批和循环终止条件 A 用幂等键防重复、超时与重试保可靠、补偿保一致、审批保安全、循环终止防失控 ✓ 正确答案 B 副作用工具执行一次即可,无需保护 C 幂等键会增加复杂度,应避免 D 副作用工具无需超时
# 20. 语音 Agent 中为什么参数 Schema 校验不能替代业务授权,终端用户身份应怎样传到工具服务 A 参数 Schema 校验通过即代表有权执行 B 授权只在前端做即可 C 用户身份可由前端任意字段传递 D Schema 校验只管格式,授权需把可信用户身份传到工具服务并在副作用前校验 ✓ 正确答案
# 21. 语音 Agent 中 Provider 原生 Tool Calling 与 MCP 工具发现的生命周期、传输和信任边界有何不同 A 两者在生命周期与信任边界上完全相同 B MCP 工具无需外部信任 C 原生 Tool Calling 静态内建、信任边界清晰,MCP 动态发现、外部传输、信任边界复杂需审计 ✓ 正确答案 D 原生 Tool Calling 也能动态发现工具
# 22. 语音 Agent 工具调用产生的副作用(写数据库、发邮件、调支付)如何与请求幂等键关联,防止重复执行 A 副作用执行一次,无需幂等 B 用 request_id+工具名+参数哈希生成幂等键,持久化记录状态,重复请求按键去重返回原结果 ✓ 正确答案 C 重复执行副作用是安全的 D 幂等键只存内存即可
# 23. 语音 Agent 的 Tool Calling 与 Function Calling 在 OpenAI 规范中是同义词吗,跨 Provider 抽象层是否需要兼容两套命名 A 在 OpenAI 规范中二者描述同一能力,跨 Provider 需抽象层统一工具调用语义并兼容命名差异 ✓ 正确答案 B 二者是完全不同的能力 C 各 Provider 的工具调用结构完全一致 D Function Calling 已废弃,无需兼容
# 24. 语音 Agent 的工具调用和 MCP Server 之间如何做能力映射,哪些工具应暴露为 MCP Resource 而非 Tool A 所有能力都应暴露为 Tool B 能力映射无原则,随意即可 C Resource 也能执行副作用 D 执行动作/副作用用 Tool,只读数据源用 Resource 作为上下文,按"读 vs 执行"划分 ✓ 正确答案
# 25. 语音 Agent 中应如何把工具错误信息回灌给模型引导其修正(chain-of-error correction) A 把结构化错误(类型、出错参数、可修正建议)回灌模型引导修正,并按可修正性区分、设循环上限 ✓ 正确答案 B 错误信息越笼统越好 C 工具失败后直接终止,不反馈模型 D 修正循环可无限进行
# 26. 语音 Agent 中 Grounding 工具与普通业务工具在证据引用、来源可见性和失败语义上有何区别 A Grounding 工具强调证据引用、来源可见与失败降级不编造,业务工具侧重操作执行结果 ✓ 正确答案 B 业务工具也必须带来源引用 C Grounding 工具失败时应编造来源 D 两者完全等价
# 27. 语音 Agent 搜索无结果、citation 不可达或来源权威性不足时,系统应如何降级而不伪造引用 A 引用不可达时显示无效链接即可 B 无结果时编造一个引用以维持回答 C 低权威来源可直接当可信证据 D 无结果/引用不可达/权威不足时明确说明或移除标注,模型诚实回答"无法确认",不伪造引用 ✓ 正确答案
# 28. 语音 Agent 工具的 rate limit 与并发限制如何与 Provider 限流统一治理,避免一个工具的瓶颈拖垮整个调用链 A 工具配额与 Provider 配额统一治理,用熔断、独立并发与按工具降级实现瓶颈隔离 ✓ 正确答案 B 每个工具各自独立限流,无需考虑 Provider 配额 C 一个工具超限应让整个调用链失败 D 工具无需限流
# 29. 语音 Agent 工具元信息(owner、版本、依赖、危险等级)是否应在 Schema 中暴露,以辅助模型决策 A 所有元信息都应暴露给模型 B 暴露对模型决策有用的危险等级与使用语义,隐藏 owner/版本/内部依赖等运营信息 ✓ 正确答案 C 运营元信息也应暴露 D 元信息与模型决策无关
# 30. 为什么不应允许语音 Agent 动态创建新工具(除 MCP Server 外) A 动态创建工具绕过审查/权限/审计,扩大攻击面,MCP Server 是受治理的受控例外 ✓ 正确答案 B 动态创建工具不增加风险 C 动态工具无需治理 D 允许模型动态创建工具更灵活
# 31. 如何为语音 Agent 的关键工具设计“低权限版本”和“完整权限版本”,让模型默认只能访问前者 A 模型默认就能访问完整权限工具 B 默认只暴露低权限版本,完整版本需显式授权/审批,模型默认最小权限 ✓ 正确答案 C 只需要一个版本即可 D 低权限版本会浪费能力
# 32. 如何按只读、可逆副作用和不可逆高风险动作对工具分级,并绑定不同审批策略 A 所有工具用同一审批策略 B 不可逆动作无需审批 C 只读操作也需强审批 D 只读零审批、可逆轻审批、不可逆强审批,按风险等级绑定不同审批流程 ✓ 正确答案
# 33. 最小权限、短期凭证、域名与路径允许列表、网络隔离和沙箱应如何形成纵深防御 A 只要有一层防护就足够 B 最小权限、短期凭证、允许列表、网络隔离、沙箱多层独立叠加,单点失守仍被其他层拦截 ✓ 正确答案 C 各层之间互相依赖 D 沙箱可以替代所有其他层
# 34. 工具调用授权(OAuth scope、API Key、用户令牌)应如何按工具敏感度分级,最小化长期凭证暴露? A 所有工具共用同一个长期 API Key B 按敏感度分级授权,优先细粒度 OAuth scope 与短期按需令牌,最小化长期凭证暴露 ✓ 正确答案 C 长期凭证好用,无需限制 D 高风险工具用长期凭证即可
# 35. 如何防止模型混淆账户、金额、收件人等关键参数,并在提交前向用户展示确定性确认页 A 参数约束校验 + 提交前确定性确认页展示关键参数,用户核对后才执行 ✓ 正确答案 B 模型确认参数正确即可,无需用户核对 C 确认页会拖慢速度,应去掉 D 金额参数无需校验
# 36. 工具结果可能包含恶意 HTML、秘密或海量数据时,裁剪、净化、脱敏和输出编码应在哪些层完成 A 裁剪在取数层、脱敏在回传模型前、净化在渲染前、编码在渲染层,各层各司其职 ✓ 正确答案 B 所有处理都在前端完成即可 C 脱敏只需在展示层做 D 裁剪与净化无需分层
# 37. 工具版本、调用配额、审计主体、参数摘要、执行结果和错误分类应怎样记录 A 只需记录工具名和结果 B 记录工具版本、配额、审计主体、脱敏参数摘要、执行结果与错误分类,关联链路 ID 结构化存储 ✓ 正确答案 C 参数摘要无需脱敏 D 错误分类无需记录
# 38. 工具调用结果中的 PII(姓名、邮箱、地址)如何在回传给模型前脱敏,并在日志中独立存储 A PII 可直接回传模型 B 回传前字段级脱敏,原始 PII 独立加密存储并严格受控,日志只存脱敏值 ✓ 正确答案 C PII 无需脱敏 D 日志中应完整存储 PII 便于排查
# 39. 工具版本变更(参数加字段、返回值改结构)如何在生产中灰度发布,防止旧客户端崩溃 A 直接替换工具版本,无需兼容 B 加字段向后兼容,改结构走双版本并行 + 流量灰度 + 版本协商,过渡期保留兼容 ✓ 正确答案 C 旧客户端无需兼容 D 返回值改结构也直接发布
# 40. 工具配额与速率限制(每分钟/每小时/每日)如何避免单个用户把配额耗尽,影响其他人 A 所有用户共享一个全局配额 B 单用户配额耗尽会影响所有人是正常的 C 按用户/租户设独立配额与桶限流,单用户超限只影响自己,配监控告警 ✓ 正确答案 D 无需用户级限流
# 41. 工具的拒绝(denied)状态与异常(error)状态如何被模型正确理解并避免“猜错意图” A 显式区分 denied(主动拒绝不可绕过)与 error(技术异常可重试),并写明原因引导模型 ✓ 正确答案 B denied 也应让模型重试绕过 C denied 与 error 是同一回事 D error 应让模型放弃而非重试
# 42. OWASP GenAI Top 10(v2.0) 中 Prompt Injection、Excessive Agency 和 Unbounded Consumption 如何映射到工具链 A 三项与工具链无关 B Prompt Injection 映射输入净化,Excessive Agency 映射最小权限与审批,Unbounded Consumption 映射配额与成本熔断 ✓ 正确答案 C 只需防护 Prompt Injection D Unbounded Consumption 无需防护
# 43. 如何用对抗测试验证用户确认无法被模型文本伪造、绕过或批量复用 A 确认可被提示注入绕过是正常的 B 确认可以由模型文本"用户已同意"触发 C 通过对抗测试验证确认来自独立 UI、不可被模型伪造/绕过/批量复用 ✓ 正确答案 D 一次确认可复用于多个操作
# 44. 为什么不应在工具调用层引入“人肉回退”(人工接管每一笔)作为默认流程,应设计分层阈值 A 每一笔操作都应人工接管 B 分层阈值会降低安全性 C 用风险/价值/不可逆性分层阈值决定自动化、轻确认或人工介入,人工只兜底最高风险 ✓ 正确答案 D 全部自动化即可,无需人工
# 45. 为什么不能假设模型会主动询问授权,应在工具 Schema 中显式声明 dangerous 参数 A 模型会主动询问授权,无需机制 B 在 Schema 显式声明 dangerous 参数,应用层对危险参数强制授权门禁,不依赖模型自觉 ✓ 正确答案 C dangerous 标记无关紧要 D 授权主要靠模型礼貌询问
# 46. 工具结果中的链接(特别是引用)如何防止钓鱼(如指向 attacker.com 的合法外观 URL) A 链接可直接点击,无需校验 B 引用链接无需可信校验 C 协议/域名白名单校验、显示与真实 URL 分离、可疑域名降级与点击确认 ✓ 正确答案 D 显示文本与真实 URL 无需区分
# 47. 工具按只读、可逆、不可逆三级分层时,OAuth scope 与 UI 确认如何强绑定 A 只读/可逆/不可逆分别绑定最小/执行/高风险 scope 与零/轻/强确认,形成双重门禁 ✓ 正确答案 B 所有工具用同一 scope 与确认 C 高风险操作只需 scope 即可 D UI 确认与 scope 无关
# 48. 最小权限 + 短期凭证 + 网络隔离三层纵深防御如何在 MCP Server 中落地 A 最小权限限制能力、短期凭证限制泄露、网络隔离限制外联,三层叠加构成纵深防御 ✓ 正确答案 B MCP 工具无需权限控制 C 短期凭证不必要 D 网络隔离会降低可用性,应避免
# 49. OWASP GenAI LLM06 Excessive Agency 的红线阈值应在何处转换为自动熔断 A 红线检查应在模型层做 B 红线熔断在副作用发生后做即可 C 在工具执行前的执行层(PEP)对权限/工具/参数做红线判断,超标即熔断并告警 ✓ 正确答案 D 过度授权无需熔断
# 50. 工具调用产生的 PII 回传模型前应做哪些字段级脱敏和结构化映射 A PII 原样回传模型 B 只需脱敏手机号 C 脱敏会破坏功能,应避免 D 字段级掩码/替换,并用稳定代号做结构化映射,模型只接触脱敏值仍能完成任务 ✓ 正确答案
# 51. 工具配额(每分钟/每小时/每日)粒度过细或过粗会带来哪些副作用 A 粒度过细误伤正常突发、过粗无法防短时打爆,宜用多粒度组合(短防突发、长控总量) ✓ 正确答案 B 粒度越细越好 C 粒度越粗越好,管理简单 D 单一粒度即可满足所有场景
# 52. 高敏感工具的本地代理审批如何保证 Prompt 内容与参数不被复制 A 审批只展示脱敏摘要,敏感参数打码且禁止复制,原始内容留在受控环境 ✓ 正确答案 B 审批界面完整展示 Prompt 与参数 C 审批人需要看到完整 Prompt 才能审批 D 敏感参数可复制
# 53. 如何为 MCP 工具实施最小权限、租户隔离和按资源授权,而不是仅依赖模型选择工具 A 模型选择工具即可,无需额外授权 B 最小权限 + 租户隔离 + 按资源授权,在执行层强制校验身份×工具×资源 ✓ 正确答案 C 租户隔离没有必要 D 授权只依赖模型自觉
# 54. 工具 Schema 中的描述文字可能携带提示注入时,网关怎样扫描、签名和版本化工具元数据 A 网关对工具元数据做注入扫描、签名验证与版本化,只暴露可信未注入的工具 ✓ 正确答案 B 工具描述不可能携带注入 C 签名不必要 D 工具描述可信,无需扫描
# 55. 读取工具与写入工具的审批门槛应如何区分,人在回路确认需要展示哪些参数和副作用 A 读取与写入工具审批门槛相同 B 读取轻确认、写入按副作用分级审批,确认界面展示脱敏关键参数与副作用说明 ✓ 正确答案 C 写入工具无需审批 D 确认只需展示操作名
# 56. 如何限制 Agent 的最大步数、递归调用和单工具预算,并在异常时提供确定性的降级答案 A 设步数、递归深度与单工具预算上限,异常时返回确定性、可解释的降级答案 ✓ 正确答案 B Agent 可无限迭代,直到完成 C 预算超限时继续尝试 D 降级答案可由模型随机生成
# 57. 生产环境工具调用日志如何脱敏 Token、个人数据和凭证,同时保留重放故障所需的证据链 A 日志完整记录明文 Token 便于重放 B 日志脱敏 Token/PII/凭证,原始值加密独立存储,重放时按权限取回保留证据链 ✓ 正确答案 C 凭证应明文落日志 D 脱敏后无法重放
# 58. 工具供应链升级前应如何用契约测试、权限回归和沙箱流量验证不破坏既有 Agent 行为 A 直接升级第三方工具,无需验证 B 升级不会影响 Agent 行为 C 用契约测试保接口、权限回归保安全、沙箱流量保行为,三者通过才升级 ✓ 正确答案 D 只需验证能编译
# 59. OpenAI Realtime API(WebRTC)与 Gemini Live(WebSocket)在 BFF 中继拓扑、事件模型与临时凭证签发上有何差异,抽象层如何设计才不锁定单一厂商 A 两者事件模型与拓扑完全相同 B 两者在 WebRTC/WebSocket、事件模型与临时凭证上差异明显,抽象层用统一接口 + 适配器防厂商锁定 ✓ 正确答案 C 临时凭证无需抽象 D 直接绑定单一厂商最省事
# 60. 浏览器或网络环境不支持 WebRTC 时,如何降级到 WebSocket 中继或级联 ASR/TTS 方案,能力探测如何自动化 A WebRTC 不可用时直接拒绝服务 B 级联 ASR/TTS 与实时会话等价 C 降级到 WebSocket 中继或级联 ASR/TTS,并自动探测能力选择传输路径 ✓ 正确答案 D 无需能力探测
# 61. 工具调用的 token 成本(参数 JSON + 返回)应如何计入单次任务的预算而非仅按 Provider usage A 工具调用的 token 成本无需单独核算 B 应将参数 JSON 与结果回灌的 token 单独统计并计入任务预算,与模型 usage 合并核算 ✓ 正确答案 C 工具调用消耗的 token Provider 已全额归因 D 任务预算只算模型生成即可
# 62. 第三方工具(开源 MCP Server、社区 SDK)应如何评估其安全性(代码审计、SBOM、维护活跃度) A 社区流行的工具可直接采用 B 从代码审计、SBOM/已知漏洞、维护活跃度及权限/网络/数据行为综合评估 ✓ 正确答案 C 只需看下载量 D 开源工具天然安全
# 63. 间接注入攻击成功后,业务层如何做损害控制(撤权、回滚、撤销已执行操作) A 注入成功后无需处理 B 撤权阻断、按可逆性回滚或补偿撤销已执行操作,并审计定位与加固 ✓ 正确答案 C 已发出的邮件无法撤销,无需处理 D 先审计再撤权,顺序无关
# 64. 不同地区的合规要求(GDPR、PIPL、HIPAA)对工具链中的数据流约束如何在配置层抽象 A 所有地区用同一套合规规则 B 合规要求硬编码在代码里即可 C 把数据分类、处理、驻留、留存、访问抽象为可配置策略,按地区/用户应用,工具链按策略执行 ✓ 正确答案 D 合规与数据流无关
# 65. 第三方 MCP Server 的代码审计与 SBOM 应该多久复评一次以应对供应链风险 A 按风险等级定周期复评,并事件驱动(新 CVE、依赖变更、版本发布)即时复评,SBOM 持续扫描 ✓ 正确答案 B 只在首次引入时审计 C 审计一次即可,无需复评 D 复评周期与风险无关
# 66. 工具调用的全链路 Trace 如何在异常时快速定位是从哪一段被污染 A 只记录最终结果即可定位 B 记录各环节输入输出与状态,异常时逐段比对快照定位污染段,并用回放确认 ✓ 正确答案 C 无需 Trace 也能定位 D 污染定位与 Trace 无关