Skip to content

生产级 AI 应用连环追问专题 ​

定位| 本专题把“输入、幻觉、依据、数据库、业务接口、结构化输出、兜底、日志、成本”组织成一套可连续口述的面试回答。它是面试训练入口,不替代已有的系统设计、Agent 工程和 AI Engineering 正式主题。

目录 ​

1. 面试结论 ​

1.1 30 秒专业短答 ​

生产级 AI 应用不能只关注模型能否回答,而要把一次请求拆成“入参校验 → Prompt 构造 → 模型推理 → 结果校验”四个可观测、可失败、可降级的阶段。每一阶段都要定义输入输出契约、Deadline、错误分类和终止状态,Trace 串联证据、工具、模型与版本。我的原则是让模型负责理解与表达,让确定性服务负责权限、事实、校验、审计和最终验收。

1.2 面试官为什么问 ​

这组追问在区分两类候选人:一类只做过模型 API Demo;另一类能把概率模型放进真实业务系统,并处理数据真值、外部副作用、故障恢复、可观测和成本约束。

2. 这九问是否层层递进 ​

**整体递进,但不是九个完全串行的步骤。**更准确的结构是“四层主链路 + 两条治理平面”:

层次对应追问核心问题
输入治理用户输入是否完整系统是否真正理解任务和约束
可信生成是否幻觉、回答是否有依据结论是否被可验证证据支持
工具执行能否查数据库、调用业务接口能否安全获得实时真值并执行动作
输出治理能否结构化、失败如何兜底下游能否稳定消费,异常能否收敛
可观测平面日志如何追踪每一步是否可定位、可重放、可审计
经济性平面成本如何控制在质量门禁内,单位成功任务是否可持续

自然过渡可以这样说:

用户说清楚了吗?说清楚后模型就一定正确吗?如果可能出错,依据从哪里来?静态资料不够时,怎样获得实时业务真值?工具执行后怎样稳定交付?外部依赖失败怎么办?失败怎样定位?整条链路可靠以后,成本是否可接受?

3. 小白先这样理解 ​

3.1 场景:公司前台受理一笔退款 ​

小林来到公司前台说“帮我把昨天那单退掉”。前台不会立刻操作:先确认订单号、退款原因和本人身份;经办人即使听懂了,也要查订单和支付记录,不能凭记忆判断;真正退款要走有权限、可审计的业务窗口;完成后开标准回执。系统故障时先查询退款状态,不能盲目再退一次;整张工单保留流水号,财务还会统计一次成功退款花了多少处理成本。

3.2 技术映射 ​

生活场景技术对象
核对订单号、身份和原因输入 Schema、业务规则和澄清
经办人可能记错模型幻觉和不确定性
查订单、支付记录RAG、只读数据库或查询 API
有权限的退款窗口受控业务接口、授权和人工确认
标准回执结构化输出和服务端校验
先查状态再决定是否重试错误分类、幂等、对账和补偿
工单流水号trace_id、审计日志和版本指纹
财务核算单次成功任务成本和预算门禁

3.3 类比边界 ​

真实 AI 系统可能同时调用多个模型、检索通道和外部服务,错误也不只来自某个“经办人”。人工确认不能替代权限校验,幂等不能自动保证跨系统事务,日志存在也不代表结论正确;最终仍要用评测集、契约测试、故障演练和业务指标验证。

4. 两幅图看懂完整链路 ​

4.1 gpt-image-2 教学图 ​

图:教学图|生产级 AI 应用九层可信防线

替代文本: 用户请求从左到右经过输入完整、幻觉风险、证据依据、数据库、业务接口、结构化输出和失败兜底七个关卡;日志追踪位于上方、成本控制位于下方,作为横跨主链路的治理能力。

生产级 AI 应用九层可信防线

读图结论: 前七层解决一次请求怎样可信完成,日志与成本解决整条链路怎样被持续治理;不能把九问理解成九个互不相干的功能点。

本图使用 gpt-image-2 生成,并人工检查了中文标题、九个标签、编号顺序和主方向。图片负责建立空间直觉;权限条件、重试语义和失败分支以正文和下面的 Mermaid 为准。

4.2 Mermaid 调用流程 ​

图:技术调用流程|从输入澄清到证据化交付与失败收敛

替代文本: 请求先经过入参校验,缺少关键字段时澄清;完整请求按事实时效性访问知识库、只读数据库或业务接口,再在 Token 预算内构造 Prompt。模型超时、上下文超限或输出校验失败都进入统一错误分类,最终返回成功、部分结果、需澄清或失败状态;Trace 和成本预算横跨各阶段。

图表加载中…

读图结论: 入参、Prompt、推理和结果不是一个不可分的“模型调用”;它们是四个独立故障边界,必须由确定性运行时统一控制并共享 Trace 与预算上下文。

5. 九个追问怎么回答 ​

每一问都用同一结构回答:判断标准 → 系统动作 → 失败边界 → 验证证据。

5.1 用户输入是否完整 ​

我不会让模型凭感觉判断完整性,而会先定义必填、可选和可推导字段。类型、范围和枚举由 Schema 校验,意图冲突、时间范围和业务前置条件由业务规则校验;关键字段缺失就追问,非关键字段只能使用可解释的显式默认值。验证时看无效输入拦截率、澄清率和误澄清率。

5.2 模型是否会幻觉 ​

会,而且不能承诺彻底消除。除了事实幻觉,还要防引用幻觉、工具参数幻觉和“接口失败却声称成功”的结果幻觉;我会通过证据约束、服务端校验、拒答策略和固定评测集降低并发现它,而不是只依赖 Prompt。

5.3 回答有没有依据 ​

依据要与关键结论绑定。稳定知识来自版本化知识库或权威资料,实时业务真值来自受控 SQL 或 API;证据不足时返回不确定或请求补充信息。验收不能只看答案流畅度,还要看正确性、引用支持率和无依据断言率。

5.4 能不能查数据库 ​

可以,但模型不直接持有数据库凭据,也不自由执行任意 SQL。查询通过服务端工具完成,使用只读账号、租户与行级权限、参数化模板、表字段白名单、行数限制、超时和审计;涉及业务规则或写入时优先走业务 API。

5.5 能不能调用业务接口 ​

可以,但必须把接口封装为类型化工具,定义参数、鉴权、超时、错误码和返回契约。查询接口可按错误类型有限重试;有副作用的写操作需要幂等键、状态校验和必要的人工确认,超时后先对账,不能直接重复执行。

5.6 输出能不能结构化 ​

可以使用原生 Structured Output 或 Tool Calling 约束结构,但模型生成的结构仍不可信。服务端必须再次做 JSON Schema、字段语义和业务规则校验;失败时最多有限修复,仍失败就返回明确错误或降级结果,不能把“看起来像 JSON”当作契约通过。

5.7 失败了怎么兜底 ​

我先区分可重试、不可重试和结果未知。瞬时网络错误可以限次退避重试;参数、权限和安全错误不能原样重试;结果未知的写操作先用幂等键对账。之后再选择备用模型或数据源、部分回答、明确拒绝或人工接管,任何情况下都不伪造成功。

5.8 日志怎么追踪 ​

我会用统一的 trace_id 或 run_id 串联输入校验、模型、检索、数据库和 API。Trace 至少记录输入脱敏摘要、模型与 Prompt 版本、证据 ID、工具参数摘要、状态码、耗时、重试、Token、成本和最终状态;密钥和敏感原文不能进入普通日志。

5.9 成本怎么控制 ​

我关注的是单位成功任务成本,不只是单次模型价格。先按步骤归因 Token、检索、工具和人工成本,再通过大小模型路由、缓存、上下文裁剪、输出上限、批处理和预算门禁优化;所有降本都要经过正确性、工具成功率和人工接管率等质量门禁。

6. 连续口述稿 ​

6.1 60~90 秒版本 ​

我把这组问题理解为生产级 AI 应用的完整治理链路。入口先用 Schema 和业务规则判断必填字段、冲突和前置条件,关键内容缺失就澄清;即使输入完整,模型仍可能产生事实、引用、参数和执行结果幻觉,所以关键结论必须绑定知识库、只读数据库或业务 API 的证据。数据库和接口都通过受控工具访问,服务端负责权限、白名单、超时、幂等和必要确认。输出使用 Structured Output,但仍需服务端校验。失败时按可重试、不可重试和结果未知分类,再进行有限重试、对账、降级或人工接管。全链路用同一个 Trace 记录版本、证据、工具、耗时和错误,成本则按单位成功任务统计,并在质量门禁内用路由、缓存和上下文预算优化。

6.2 追问时的衔接句 ​

  • 输入完整以后,下一步不是直接生成,而是判断答案需要什么证据;
  • 有证据不代表可以任意访问数据,数据库和接口还要受权限与副作用边界约束;
  • 工具调用成功不代表结果可交付,仍要经过结构和业务语义校验;
  • 外部依赖必然失败,所以兜底、Trace 和成本预算必须在设计阶段进入主链路。

6.3 CSGO 饰品智能平台的 2 分钟项目化回答 ​

在 CSGO 饰品智能平台里,我不会把一次问答当成“拼个 Prompt 调模型”,而是拆成四个独立故障边界。第一步是请求入参:服务端校验用户身份、意图、饰品实体、币种、时间范围和 Deadline。“龙狙多少钱”如果缺少可唯一映射的饰品名或价格口径,就进入澄清,不让模型自己猜。

第二步是 Prompt 构造:稳定的饰品知识和交易规则走 RAG,当前行情和个人库存走受控 API,再将引用、报价和不确定性组成结构化 Evidence Pack。构造时做 ACL、去重、新鲜度、证据冲突和 Token 预算检查;证据不足就澄清或拒答,报价过期就重查工具,不把历史向量当实时价格。

第三步是模型推理:统一网关传递剩余 Deadline,区分限流、网络瞬断、服务端错误和上下文超限。只有明确的瞬时且无副作用错误才在 Retry Budget 内退避重试;预算不足时降级候选模型或返回部分结果,不无限重试。

第四步是结果校验:先验 JSON Schema,再验饰品身份、引用支持、权限和价格语义。价格回答至少要有 amount、currency、as_of、source 和 quote_id;工具失败时不能生成“查询成功”。最终只返回 success、partial、need_clarification 或 failed,并用同一个 trace_id 记录入参摘要、Prompt/模型/索引版本、证据 ID、工具状态、阶段耗时、重试和降级原因。

CSGO 链路的异常处理可以用下表快速复习:

阶段典型异常确定性处理用户可见结果关键 Trace 证据
请求入参缺少饰品身份、币种冲突、越权库存范围、请求过大Schema + 业务规则 + ACL;可修正字段归一化,关键缺失则澄清,越权 Fail Closedneed_clarification 或 failed脱敏入参摘要、Principal、校验错误码
Prompt 构造RAG 无证据、报价过期、多源价格冲突、Context 超预算重查实时工具、按优先级裁剪、保留冲突和不确定性;无安全证据则拒答partial 或 need_clarification候选与最终 Evidence ID、新鲜度、截断原因、Prompt 版本
模型推理429、5xx、超时、流式中断、上下文超限剩余 Deadline + Retry Budget;仅瞬时错误有限重试,再按能力契约降级模型或停止partial 或 failed模型、供应商 request ID、尝试次数、Token、各次耗时
结果校验JSON 不合法、引用不支持结论、报价缺币种或时间、工具失败却声称成功服务端 Schema + 语义断言 + 引用检查;最多一次受限修复,仍失败则拒答partial、need_clarification 或 failed原始输出脱敏哈希、校验错误码、修复次数、最终状态

证据边界: 简历已能确认多平台数据接入、RAG 与实时接口分流、文档解析到 Rerank 的检索链路,以及检索来源、工具调用和接口耗时记录。上表中的错误矩阵是基于这些事实补齐的生产设计与故障演练口径;在没有代码、Trace 和故障注入证据前,面试中应说“我会这样设计和验证”,不能说成已在线上稳定运行。

6.4 CSGO 中什么是稳定知识,什么是实时信息 ​

30 秒项目回答: 我不会只按“变化快慢”分类,而是同时看时效性、精确性、用户作用域和权威数据源。饰品术语、属性解释、收藏品背景和交易规则等可版本化、可引用的内容属于稳定知识,适合走 RAG;当前挂牌价、求购价、库存、交易锁和订单状态属于实时业务事实,必须走受控 API 或 SQL 并带来源和时间。如果一个问题同时问“为什么值得买”和“现在多少钱”,就并行获取 RAG 知识与实时报价,最后在 Evidence Pack 中合并。

分类CSGO 典型内容权威来源与获取方式回答时的必要证据
稳定解释性知识磨损等级、稀有度、涂装、收藏品、贴纸等术语解释;饰品选择方法;版本化的平台规则与 FAQ版本化文档、官方资料或经审核的知识库,通过 RAG 检索document_id、来源、版本、生效时间和引用位置
慢变但需权威的配置或主数据饰品规范名、跨平台别名映射、当前费率规则、支持币种、平台状态配置中心、主数据库或业务 API;解释文本可同步进 RAG,但计算以当前配置为准配置版本、effective_at、映射 ID 与数据来源
实时市场信息当前挂牌价、求购价、成交价、深度、成交量、汇率和市场可用性行情服务、交易平台 API 或行情快照库,按请求查询amount、currency、as_of、source、quote_id 和新鲜度状态
当前用户与交易状态个人库存、steam_id + assetid、具体资产磨损与贴纸、可交易状态、交易锁到期时间、挂售或订单状态带 Principal 和 ACL 的库存、交易或订单 API;不从长期 Memory 或向量库恢复为当前事实用户作用域、资产 ID、状态版本、查询时间与工具状态

更准确的分流判断是:

  1. 问“是什么、为什么、怎么理解”,且允许引用某个已知版本,优先走 RAG;
  2. 问“现在、我的、多少钱、能否交易、订单怎么样”,必须走实时工具;
  3. 要求精确数字或结构化历史事实,即使该事实已不再变化,也应查 SQL/API 或数据仓库,不让向量检索猜精确值;
  4. 混合问题分路执行:知识检索负责解释,实时工具负责当前真值,最终回答必须分别带引用和报价时间。

类比边界: 稳定知识像饰品百科,实时信息像交易所行情屏;但“已定格的历史价格”虽然不再变化,仍然应从行情库精确查询,不能因为它“稳定”就放进 RAG 作为数字真值。

6.5 意图识别要部署小模型,还是直接调 LLM ​

30 秒项目回答: CSGO 意图识别不建议一开始就为了技术栈单独部署小模型。我会先用规则和实体槽位承接“价格、库存、订单、知识”等高置信 Fast Path,歧义、多意图和复合任务再让 LLM 输出可校验的结构化路由。当真实请求量、标注样本、成本或延迟已经证明 LLM 路由成为瓶颈时,再把已稳定的高频意图下沉到小分类模型,低置信样本继续回退 LLM 或追问用户。

CSGO 意图不应只设计一个单选标签,至少要支持:

  • knowledge_qa:饰品术语、规则、收藏品与选择方法;
  • realtime_price:当前挂牌、求购、成交和多平台比价;
  • user_inventory:当前用户库存、具体资产和可交易状态;
  • historical_market:历史价格、成交量和趋势结构化查询;
  • mixed_analysis:同时需要 RAG 知识和实时或历史数据;
  • high_risk_action:挂售、购买或交易等高风险动作,必须再进行权限、幂等和人工确认。
方案优点缺点与风险CSGO 适用条件结论
确定性规则 + 实体槽位延迟低、无模型调用成本、可解释、易测试口语、省略、指代和多意图容易漏判,规则过多后维护成本上升“现在多少钱”“查我的库存”等高置信请求作为第一层 Fast Path,不单独承担全部路由
直接调 LLM 做结构化路由几乎不需要训练数据,能处理口语、上下文、多意图和新表达增加延迟、Token 成本和外部依赖;输出存在随机性,不能决定最终权限交易量尚未证明需要专用模型,或意图仍快速变化的早期阶段现阶段作为歧义与混合问题的主路由器,必须结构化输出并由代码复核
自部署小分类模型单次推理延迟和边际成本可更低,版本固定时输出更稳定,可在内网运行需要标注集、训练/评测、服务部署、容量与漂移监控;新意图和复合表达需重新适配高频、标签稳定、已有代表性标注数据,且低延迟、隐私或单位成本目标明确作为第二阶段优化,必须先证明收益大于模型运维成本

推荐的路由顺序是:

text
确定性安全与硬规则
→ 高置信关键词/实体 Fast Path
→ LLM 结构化多意图分类
→ 服务端 Schema、ACL 和风险规则复核
→ RAG、行情、库存、历史数据或人工确认链路

LLM 路由结果可以统一为:

json
{
  "intents": ["knowledge_qa", "realtime_price"],
  "entities": {"market_hash_name": "待规范化饰品名"},
  "required_sources": ["rag", "market_api"],
  "risk": "read_only",
  "needs_clarification": false
}

confidence 不建议直接使用模型自述的“我有 90% 把握”。应在固定标注集上按意图类型计算 Precision、Recall、F1、混淆矩阵和误路由成本,再校准分流阈值。小模型上线前应先影子运行,与当前 LLM/规则路由结果对比;权限、交易风险和高风险动作继续由确定性代码判断,不论用哪种模型都不能越过。

证据边界: 当前仓库能证明 CSGO 平台需要在稳定知识、实时价格、用户库存和复合问题之间分流,但尚没有可核验的真实请求量、意图标注集、路由延迟和成本对比。因此现阶段只能推荐“规则 + LLM 结构化路由”作为可验证基线,不能声称已证明自部署小模型更优。

6.6 Query 是否重写,以及关键词是否需要分词 ​

30 秒项目回答: 意图识别前可以做轻量规范化,但不要先把 Query 大幅改写,否则“现在、我的、挂售”等决定实时性、用户作用域和风险等级的信号可能被改丢。我会保留 raw_query,用规范化文本、会话摘要和实体结果共同识别多意图;意图确定后,再分别为 RAG 生成检索 Query、为行情或库存工具生成结构化参数。关键词分词不是所有链路的必选项:规则和 BM25 需要词法处理,LLM 与向量检索不要求业务层先分词,但饰品规范名、别名、编号和 market_hash_name 必须优先做词典与实体匹配。

三种容易混淆的处理应分开:

处理时机可以做什么不能做什么
输入规范化 normalized_query意图识别前Unicode/全半角统一、空白清理、大小写与常见币种写法归一、明显错别名映射删除“现在、我的、不要、挂售”等语义和风险信号
意图与实体解析规范化之后结合原始 Query、有限会话上下文、实体字典识别多意图、资产、时间和用户作用域只返回一个标签,或让模型直接决定 ACL 和交易权限
下游 Query 构造意图确定后RAG 扩展术语和别名;API 组装类型化参数;混合问题拆成多个子查询用一个被改写的自然语言 Query 同时代替检索词、行情参数和库存身份

例如用户问“我这把蝴蝶 P2 现在值多少,为什么这么贵”:

  • 原始文本必须保留“我”“现在”“为什么”,它们分别表示私有库存、实时行情和知识解释;
  • 实体解析把“蝴蝶 P2”规范到候选 market_hash_name,无法唯一确定时先澄清;
  • 意图输出为 user_inventory + realtime_price + knowledge_qa;
  • RAG 子查询可改写为“蝴蝶刀多普勒 Phase 2 稀有度与价格影响因素”;
  • 行情与库存不依赖这句检索文本,而使用 steam_id + assetid、规范饰品 ID、币种和报价新鲜度等结构化参数。

下面的伪代码体现了“先保真分流,再按数据源改写”的边界:

python
def recognize_and_route(request):
    raw = validate_and_trim(request.query)
    context = load_bounded_context(request.session_id)

    # 只做不改变语义的规范化;raw 永远保留,便于审计和回放。
    normalized = normalize_text(raw)
    entities = entity_resolver.match(
        raw_query=raw,
        normalized_query=normalized,
        dictionaries=[item_aliases, market_hash_names, currencies, time_terms],
    )

    # 权限、提示注入和交易动作属于确定性安全判断,不交给分类模型。
    safety = deterministic_safety_check(raw, request.principal)
    if safety.blocked:
        return RouteResult(status="failed", reason=safety.reason)

    # 精确规则只承接无歧义 Fast Path,例如“查我的库存”或“XX 现在多少钱”。
    fast = rule_router.match(raw, normalized, entities, context)
    if fast.is_exact and not fast.has_multiple_meanings:
        intents = fast.intents
    else:
        candidate = llm_route_with_schema(
            raw_query=raw,
            normalized_query=normalized,
            context_summary=context.summary,
            recognized_entities=entities,
            allowed_intents=ALLOWED_INTENTS,
        )
        intents = validate_and_merge_route(candidate, fast, safety)

    missing = required_slots(intents) - entities.confirmed_slots
    if missing:
        return RouteResult(
            status="need_clarification",
            missing_slots=missing,
            raw_query=raw,
        )

    tasks = []
    if "knowledge_qa" in intents:
        tasks.append(RAGTask(
            query=rewrite_for_retrieval(raw, context, entities),
            lexical_terms=extract_exact_terms(raw, entities),
        ))
    if "realtime_price" in intents:
        tasks.append(PriceAPITask(
            item_id=entities.item_id,
            currency=entities.currency or request.default_currency,
            max_quote_age_seconds=PRICE_FRESHNESS_SLO,
        ))
    if "user_inventory" in intents:
        tasks.append(InventoryAPITask(
            principal=request.principal,
            asset_id=entities.asset_id,
        ))

    return RouteResult(
        status="success",
        intents=intents,
        entities=entities,
        tasks=tasks,
        raw_query=raw,
        normalized_query=normalized,
    )

关键词是否需要分词,要看它服务哪一层:

使用位置是否需要业务层分词CSGO 项目建议
确定性规则 Fast Path不一定;短语、正则和实体词典通常更可靠优先匹配“现在多少钱”“我的库存”“挂售”等短语,以及完整饰品名和 ID
BM25/倒排召回需要词法分析,但通常由搜索引擎 Analyzer 完成维护饰品自定义词典、别名和专有短语,避免把完整 market_hash_name 错切
Dense Embedding 向量召回不需要在业务代码中预先分词将规范化文本直接交给 Embedding 模型;模型内部仍有自己的 Tokenizer
LLM 意图识别不需要预先分词输入原始文本、规范化文本、实体和有限上下文,以结构化 Schema 输出多意图
传统小分类模型取决于特征方案TF-IDF 需要分词或字符 n-gram;Transformer 分类器使用自己的 Tokenizer

因此不要把“分词”作为整条链路的统一前置步骤。更稳妥的顺序是:保留原文 → 轻量规范化 → 实体/短语识别 → 意图路由 → 按下游分别做词法检索、向量检索或 API 参数组装。评测时至少记录原始与规范化 Query、改写 Query、实体命中、意图、规则版本、Prompt/模型版本和最终数据源,并用固定样本检查意图 F1、实体准确率、改写前后 Recall@K、误路由率以及澄清率。

证据边界: 上述内容是与现有 CSGO RAG、实时工具分流相容的生产设计和伪代码,不代表仓库中已经存在对应实现。是否启用分词器、具体改写策略和阈值,应由真实查询集与离线评测决定。

7. 工程证据与验收指标 ​

7.1 最小输出契约 ​

json
{
  "status": "success | partial | need_clarification | failed",
  "answer": "面向用户的结果",
  "evidence_ids": ["doc:policy-v3", "order:masked-id"],
  "tool_runs": [{"name": "query_order", "status": "success"}],
  "uncertainties": [],
  "trace_id": "run_xxx"
}

这个 Schema 只说明结果形状。evidence_ids 是否真正支持结论、工具是否越权、业务状态是否成功,仍需确定性代码和评测验证。

7.2 指标口径 ​

环节推荐指标口径提醒
输入无效输入拦截率、澄清率、误澄清率按任务类型和必填字段缺失原因分桶
依据引用支持率、无依据断言率逐条检查关键结论是否被证据支持
工具调用成功率、越权阻断率、结果未知率查询和写操作分开统计
输出Schema 首次通过率、修复率“可解析”不等于业务语义正确
兜底降级率、人工接管率、恢复成功率区分主动降级和故障降级
观测Trace 完整率、版本指纹覆盖率能否重放和解释失败比“有日志”更重要
成本单位成功任务成本总成本 / 通过成功标准的任务数

8. 高频失分点 ​

失分回答问题更好的表达
“优化 Prompt 就不会幻觉”混淆降低概率与消除风险证据约束、校验、评测和拒答共同治理
“让模型生成 SQL 直接查询”忽略凭据、ACL、注入和资源风险只读受控工具、参数化模板、白名单和审计
“接口失败就重试三次”没有错误分类,写操作可能重复可重试才退避;结果未知先对账
“要求模型返回 JSON”Prompt 不是输出契约原生结构约束加服务端 Schema 与语义校验
“所有调用都记录日志”没有 Trace、版本和隐私边界统一 Run 关联,记录必要证据并脱敏
“换便宜模型降成本”忽略任务成功率和返工按单位成功任务成本,并设置质量门禁

9. 自测练习 ​

  1. 用 90 秒完整口述九问,要求每一层都包含一个确定性控制点;
  2. 设计一次“退款 API 超时但实际已成功”的故障演练,写出对账、幂等、补偿和 Trace 证据;
  3. 为一个客服问答任务定义引用支持率和单位成功任务成本,说明分母、统计窗口和失败样本分桶;
  4. 为 CSGO 行情问答注入“RAG 无证据、报价 API 超时、模型输出缺少币种”三个故障,验证系统是否返回正确的终止状态并保留 Trace 证据。

10. 相关知识与证据边界 ​

证据边界| 本文给出框架无关的工程方法和故障演练口径,没有声称某个真实项目已经达到特定正确率、延迟、成本或业务收益。落地时需要用目标系统的代码、权限模型、契约测试、固定评测集、故障注入和线上指标验证。

11. 总结 ​

一句话记忆: 输入要校验,结论要有证据,工具要受控,输出要验证,失败要收敛,全链路要可追踪,成本要按成功任务衡量。

  • 九问可归纳为入参校验、Prompt 构造、模型推理和结果校验四个故障边界,日志与成本是两条横跨主链路的治理平面;
  • 模型负责理解和建议,确定性运行时负责权限、执行、校验、审计与验收;
  • 保留原始 Query,只做轻量规范化后识别意图与实体,再按 RAG、行情或库存数据源分别重写检索词或组装结构化参数;
  • 兜底从错误分类开始,结果未知的副作用先对账,不能盲目重试或伪造成功;
  • 面试回答始终用“判断标准、系统动作、失败边界、验证证据”收口。