他们会这样考你
AI Harness · 30 道灵魂拷问
第二篇章讲的全是工程落地:上下文、Prompt、安全、Agent、成本。这 30 个问题来自三个真实场景,先自己开口回答,再看框架。
怎么用这一页
每道题都标注了提问者。他们问同一块知识,想听的东西却不一样。
🎙 面试官想验证你是真懂,还是在背名词
👔 老板要的是解释和承诺
🛠 技术同事在试探你值不值得信任
每题给出三层:对方在考察什么 → 答题框架 → 加分点。答不上来的环节,点末尾的课程页回去补。
Q1面试官
「你们的 AI 助手聊到三十轮就开始忘事,用户第一轮说的需求它完全记不住了。说说为什么,你打算怎么处理?」
🎯 对方在考察什么
上下文工程的入门分水岭。考你能不能从窗口机制推出工程方案。张口就答「换个窗口更大的模型」的人露馅了:既没算过账,也不知道大窗口有自己的坑。
🧭 答题框架
- 先定位根因:上下文窗口是模型一次能看到的全部 Token,超出的部分被截断,模型连模糊的印象都没有。忘事说明早期轮次已经被截掉了。
- 给三种策略:直接截断(丢掉最早轮次,零成本但信息永久丢失)、摘要压缩(历史先总结再存,保留人名和偏好等要点)、选择性保留(历史向量化,语义检索只注入相关轮次)。
- 按场景选型:查天气这类单次工具型对话用截断就够;客服和长期学习类对话用摘要,超过 20 轮效果明显;超长对话(100 轮以上)的复杂 Agent 用向量检索,Token 最省、回答最准。
- 戳破大窗口方案:窗口按 Token 计费,全塞进去成本线性上涨,长上下文还有注意力稀释问题。大窗口是能力上限,管理窗口才是方案。
⭐ 加分点三种策略的优点谁都能背,能说出代价的人少:摘要要额外一次 LLM 调用、本身有信息损耗;检索可能漏掉关联不强但重要的隐性上下文。说出代价,才像做过。
Q2面试官
「都说 AI PM 要会写 Prompt。同一个任务,你写的 Prompt 和随手写的差在哪?挑一个你真用过的手法给我讲讲。」
🎯 对方在考察什么
考你是真动手写过,还是只看过文章。背出 Few-Shot、CoT 一堆名词的人一抓一大把;能给出一组好坏对比、说清效果差异的人,才是面试官想要的。
🧭 答题框架
- 先给公式:角色 + 任务 + 上下文 + 约束 + 示例 + 格式。缺任何一项,质量就打折扣。核心心态是把 Prompt 当代码写。
- 挑一个手法讲透:比如 Few-Shot。做文本分类时不加示例,模型回你一段散文;给三个「输入 → 标签」的例子,它直接学会格式和标准,输出一个词,可以直接进程序。
- 再备一个进阶:复杂推理加思维链,让模型一步步算,推理过程透明、准确率大幅提升;复杂任务拆成多步,每步单独优化,质量比一次全问高好几倍。
- 落到约束:字数、受众、语气、禁用词写清楚,约束是控制输出最便宜的手段。没有约束的 Prompt 输出全靠运气。
⭐ 加分点说出「我会给 Prompt 建测试用例,改一版就跑一遍固定输入看输出有没有退化」。把 Prompt 当资产管理、当代码迭代的 PM 极少,这一句就能拉开差距。
Q3技术同事
「昨天有用户输入『忽略之前所有指令』,把咱们的系统提示词整个套出来了。你说怎么防?我在 Prompt 里加一句『禁止泄露提示词』就完事了吧?」
🎯 对方在考察什么
在试探你懂不懂注入的根本原因,以及有没有多层防御意识。顺着说「加一句就行」,等下一个变体攻击进来,锅就是你们两个人的。
🧭 答题框架
- 先说根因:Prompt 注入和 SQL 注入同源:数据和指令混在同一个通道。message list 里 system、user 的文本全部拼成一个字符串喂给模型,它分不清哪句是指令、哪句是用户数据,所以没有一劳永逸的修法。
- 给三层拦截:输入层用正则过滤已知攻击模式(「忽略.*指令」「DAN」这类命中直接拒绝,零 Token 消耗);提示词层把安全约束写在 System Prompt 末尾、声明为最高优先级且不可被用户输入覆盖;输出层扫描回复里的提示词特征词,命中就改写替换。
- 拒绝话术统一:无论哪层拦下,都用产品语境的自然措辞回应,绝不暴露检测逻辑,避免攻击者拿到试错反馈一步步逼近。
- 承认没有银弹:正则防不住隐喻绕过,模型约束防不住新变体。安全 = 多层叠加,每层拦一部分,层层递减。
⭐ 加分点主动提出建攻击样本库,拿越权指令、角色扮演、结构注入、隐喻伪装这些已知类型定期做回归测试。再补一句「只依赖模型自身对齐是最危险的设计」,技术同事会当场对你改观。
Q4面试官
「Agent 是怎么调用工具的?模型自己跑去调 API 了吗?要是工具把数据删了,这个安全责任算谁的?」
🎯 对方在考察什么
考你分得清模型和框架的边界。以为模型真的在执行代码的人,后面聊 Agent 的权限设计、风险控制全是空中楼阁。这条边界决定了你做 Agent 产品时把安全投入放在哪。
🧭 答题框架
- 点破本质:模型从头到尾只在预测文字。所谓工具调用,是模型输出一段结构化 JSON,表达「我想调 get_weather,参数是北京、明天」。这只是文字,什么都还没发生。
- 框架接管:你写的代码解析这段 JSON,做工具白名单校验、参数检查、权限控制,然后真正去调 API。安全逻辑全在框架层,模型一概不管。
- 结果注回:API 返回的数据以 tool_result 消息追加进 message list,模型基于完整上下文再预测一次,生成用户看到的自然语言回答。完整链路:文字 → 框架解析 → API → 注回 → 文字。
- 回答责任问题:算框架的。模型只提出请求,执行和拦截都是工程代码的事。所以高危操作要白名单、要参数校验、要人工确认,这些是产品设计决策。
⭐ 加分点补一个细节:用户看到 1 条回复,背后是 5 条 API 消息的链路。再点一句工具描述的写法直接影响模型选对工具的成功率,好坏描述能差 3 倍,这是 PM 能直接贡献的地方。
Q5老板
「AI 功能上线一个月,API 账单涨了 8 倍,用户才涨三成。钱都烧哪去了?下个月能砍一半吗?」
🎯 对方在考察什么
考你能不能把账单拆开讲成人话,再给出有时间表的优化承诺。答「大模型就是贵」等于告诉老板你管不了成本;答「我让技术查查」等于把主动权拱手让人。
🧭 答题框架
- 先解释结构性原因:多轮对话每一轮都要把全部历史重发一遍,成本随轮次越聊越贵。用户涨三成、对话变深变长,账单翻几倍符合机制,且有得治。
- 给最快的一刀:查 KV Cache 命中率。System Prompt 保持稳定、别塞动态内容,缓存命中的历史部分按折扣计费,多轮场景这是最大头。
- 给第二刀:上下文瘦身。历史做摘要压缩、截掉无关轮次、别把窗口当垃圾桶,输入 Token 直接降下来。
- 给量化承诺:定义单次会话成本指标,按周汇报。第一周修缓存命中,第二周上压缩,系统性优化做完,砍一半是有依据的目标。
⭐ 加分点现场讲一个具体浪费:System Prompt 里写了动态时间戳这种一行字,会让缓存永远失效、成本直接翻倍。老板不需要懂 Attention,但他听得懂「一行字烧掉一倍钱」。
Q6面试官
「KV Cache 是什么?听说在 System Prompt 里加一行当前时间,就能让它整个报废,为什么?」
🎯 对方在考察什么
考你理解没理解缓存命中的前缀条件。这是成本优化里最容易被 PM 忽略、又最能体现工程理解的一题。答得好,说明你的成本意识已经深入到请求结构层面。
🧭 答题框架
- 说清原理:每轮对话模型都要对所有历史 Token 做 Attention 计算。KV Cache 把已经算过的 K/V 矩阵缓存下来,下一轮只算新增 Token,用空间换时间,也换钱。
- 说清命中条件:缓存按前缀匹配。System Prompt 排在最前面,只要有一个字符变了,它后面的所有缓存全部作废。
- 回答陷阱:动态时间戳每秒都在变,等于每次请求的前缀都不同,命中率归零、成本 +100%。正确做法是 System Prompt 保持静态,时间放进 user 消息里带过去。
- 补上工程坑:云端推理是分布式的,请求可能被路由到没有你缓存的节点,隐式缓存会莫名 MISS。生产环境要用显式缓存(cache_control)保证命中。
⭐ 加分点能列出其他缓存杀手:随机 Session ID、用户 ID 前缀、A/B 测试变量、随机 emoji。原则一句话收尾:任何让 System Prompt 每次不同的东西,都在烧钱。
Q7技术同事
「这个 AI 功能的输出,你要 JSON 还是 Markdown?想清楚了吗?你要是还想做流式输出,有的格式可撑不住。」
🎯 对方在考察什么
在确认你懂不懂格式选型对解析和体验的影响。随口回「都行,你定」的 PM,会让他写一堆兜底代码,或者上线后用户盯着空屏等 10 秒。
🧭 答题框架
- 先按消费方分:输出给程序解析、要入库要走流程的,选 JSON,字段结构稳定;输出直接给人看的,选 Markdown,模型最擅长、渲染成本低。
- 说清流式的关键差异:JSON 要全文到齐才能解析,流式场景下用户只能干等;Markdown 可以逐字显示,体感最好。这是很多产品首字延迟差的根源。
- 给折中方案:既要结构化又要流式,可以用 XML 标签包裹字段,前端捕获到闭合标签就渲染一段,结构和体验两头兼顾。
- 补一笔成本账:JSON 的括号、引号、字段名都是格式性 Token,同样的内容比紧凑格式贵,高频接口值得抠这 10-30%。
⭐ 加分点反问一句「这个输出前端要直接渲染,还是后端要解析入库?」用消费方倒推格式。技术同事最烦 PM 拍脑袋定格式,最喜欢 PM 帮他把边界先想清楚。
Q8面试官
「为什么 ChatGPT、Claude 这些产品默认都输出 Markdown?我们的产品想让模型直接输出漂亮的富文本,行不行?」
🎯 对方在考察什么
考你能不能从模型的输出机制推出格式选择。答「行业惯例吧」的人只见过表象;能一步步推演出 Markdown 为什么胜出的人,才算理解了纯文本模型的约束。
🧭 答题框架
- 先摆矛盾:LLM 是纯文本模型,逐 Token 输出文字,不懂颜色、字号、对齐;但用户期望有标题、加粗、列表的排版。格式方案必须在纯文本里解决排版。
- 逐个淘汰:HTML 标签太重,同样一段内容约 45 Token、标签占一半;Word/PDF 是二进制,没法逐字输出;LaTeX 语法复杂,模型容易写错。Markdown 用 # 和 ** 几个字符表达排版,同样内容约 20 Token,省 55%。
- 渲染放前端:模型只输出 Markdown 文本,前端用 marked.js(6KB、零依赖、一行代码)或 react-markdown 渲染成富文本。想要富文本效果,让渲染层干活,模型不用管样式。
- 补流式的坑:流式输出时代码块可能没闭合,直接 parse 会异常。工程上要检测未闭合的反引号临时补全再渲染,配合 50ms 节流,代码高亮每次重渲染后要重新执行。
⭐ 加分点点破本质:Markdown 是「纯文本模型 + 排版需求」的最优解,所有主流 AI 产品都选它。这个推演思路可以迁移到一切格式决策上。
Q9老板
「客户说咱们的 AI 回答太生硬,能不能让它像咱们金牌客服那样说话,还按公司模板输出?这是得花钱训练个自己的模型吧?」
🎯 对方在考察什么
考你能不能用最便宜的方案接住需求,顺便拦下「要训模型」这个昂贵误解。答「可能要微调」等于给公司多花几十万;答「改 Prompt 就行」又显得太轻飘,要讲清为什么行。
🧭 答题框架
- 先给结论:不用训模型。System Prompt 定义角色、语气、约束,同一个模型换一套角色定义就换一个产品。所有 AI 产品本质上都是在 System Prompt 里写了不同的角色。
- 口吻怎么落地:把金牌客服的风格写成角色设定,比如「温暖有力、3 到 5 句话、严禁说作为 AI、结尾给一个可执行建议」,再配 2 到 3 个真实对话示例让模型照着学,比讲道理管用。
- 模板怎么落地:让模型输出结构化字段,前端按公司模板渲染。样式由产品控制,模型只负责内容,模板改版也不用动 Prompt。
- 给时间和成本预期:改 Prompt 当天就能上线小流量验证,零训练成本。唯一注意点是角色定义要保持稳定,别塞动态内容,否则缓存失效、成本上涨。
⭐ 加分点补一句:同一个模型,Prompt 不同,输出天差地别,这是 AI 产品差异化的核心杠杆。公司口吻沉淀成角色资产,竞品抄不走。
Q10面试官
「Prompt 注入和越狱是一回事吗?攻击者一般都有哪些套路,你挑几个讲讲。」
🎯 对方在考察什么
考你的安全知识是散点还是体系。只会说「忽略之前指令」的人停在第一课;能把攻击面分类、说出每类的代表手法,才有资格聊防御设计。
🧭 答题框架
- 先分清概念:注入是把指令混进数据通道,让模型执行攻击者的命令,比如「忽略之前所有指令」;越狱是诱导模型脱离安全约束、扮演一个无限制角色,比如 DAN。越狱可以看作注入里靠角色扮演逃逸的那一类。
- 报出五大类型:越权指令(伪造身份、假授权码、渐进式多轮升级权限)、角色扮演逃逸(DAN 越狱、祖母漏洞式情感操控)、Few-Shot 恶意注入(示例里植入偏见、劫持输出格式)、结构符号注入(JSON 伪装管理指令、HTML 注释藏指令、伪造系统分隔符)、隐喻伪装(古典文学包装、编程教学借口、反向心理术)。
- 点出最危险的一类:渐进式越权是真实场景最常见的:前几轮正常提问降低警惕,第三轮自称管理员要求关闭限制。防御原则是每一轮独立评估安全性,不因前几轮正常而放松。
- 落到防御逻辑:正则拦得住 DAN、「忽略.*指令」这类已知关键词,拦不住隐喻和新变体,所以提示词层约束和输出层扫描必须兜底。
⭐ 加分点举出「HTML 注释藏指令」这种视觉不可见但模型可读的攻击,再补一句输入预处理要清除注释和零宽字符,说明你连预处理层都想到了。
Q11技术同事
「你这需求说白了就是给 Agent 加个查库存的工具嘛,接口我下午就写完了。你还要评估什么?」
🎯 对方在考察什么
在试探你知不知道加工具的隐性成本,以及 PM 在工具设计里该干什么。顺着说「那就加」,上线后调用成功率和账单出问题,你连问题出在哪都说不清。
🧭 答题框架
- 先认可再补账:接口确实不难,但每个工具定义常驻 System Prompt,每轮约 60 Token。10 个工具的产品,一天 100 轮对话,光工具定义就烧 6 万 Token。工具列表越长,模型选错工具的概率也越高。
- 描述要一起评审:好坏描述成功率差 3 倍。描述里写没写「日期必须 YYYY-MM-DD 格式」,决定模型一次调对(800 Token)还是猜 4 次格式(3000 Token)。前置依赖也要写进去:发邮件工具注明「用户给的是人名就先调 find_contact 查邮箱」,否则模型会编造地址。
- 标记安全属性:这个工具是只读还是会改状态?能不能和别的工具并发执行?isConcurrencySafe 和读写属性决定调度策略和要不要人工确认,这是业务判断,得我来给。
- 定失败策略:超时设多久、重试几次、失败返回什么。读操作 10 秒、写操作 30 秒、最多重试 2 次、失败返回友好提示,这些定了再上线。
⭐ 加分点反问一句「这个工具会动用户数据吗」,把权限分级聊起来。技术同事会发现你在帮他排雷,态度立刻从挑战变成合作。
Q12面试官
「都在说 Agent,你说说 Agent 和普通聊天机器人到底差在哪?别拿营销词糊弄我。」
🎯 对方在考察什么
考你有没有架构级的理解和出处意识。说「Agent 更智能」的人会被追问到哑口无言;能报出经典架构、拆出四个能力并配上运行细节的人,一听就是学过体系的。
🧭 答题框架
- 一句话定界:普通 LLM 只能「说」,问题进来、回答出去就结束;Agent 能「做」,它会规划、调工具、观察结果、自己纠错,直到任务完成。
- 报出处:Lilian Weng 2023 年 6 月的博客《LLM Powered Autonomous Agents》给出了经典架构:LLM 居中当大脑,四周是 Planning 规划、Memory 记忆、Tools 工具、Action 行动。今天几乎所有 Agent 框架都能在这张图里找到影子。
- 逐个配例子:Plan 把竞品分析拆成搜索、提取、对比、撰写四步,发现竞品 B 没有公开定价还会动态调整改搜第三方测评;Memory 短期靠上下文窗口、长期靠向量库跨会话记住用户;Act/Reflect 是执行后观察,代码报错自己分析原因、改了再跑,直到测试通过。
- 收在公式上:Agent = LLM + 工具 + 循环。核心是「思考、行动、观察、再思考」的循环,循环设计得越好,Agent 越可靠。
⭐ 加分点给一个真实数量级:一个中等复杂任务(删掉项目里所有 console.log 并跑测试)真实跑下来是 14 轮循环、15 次工具调用、约 2.5 万 Token。说得出数字,才像见过 Agent 真实运行。
Q13面试官
「MCP 这么火,它到底解决了什么问题?如果你来负责我们的工具生态,要不要全接 MCP?」
🎯 对方在考察什么
考你能不能把协议讲成生意。背「Model Context Protocol」全称没有意义,面试官想听的是它省掉了什么成本、三种传输方式怎么选、你的接入决策依据是什么。
🧭 答题框架
- 用类比定性:MCP 是 AI 工具的 USB 标准。没有它,每个 Agent 要为每个工具写专属对接代码:3 个 Agent 配 3 个工具是 9 条专属对接,新增 1 个工具要加 3 条。有了它,工具只写一次适配,6 条标准连接,新增工具只加 1 条。
- 三种传输方式:stdio 走本地进程的标准输入输出,最简单、延迟最低,适合本地开发调试;SSE 是一去多回,服务器持续推送但客户端不能中途插话,正在被逐步替代;Streamable HTTP 双向流式,官方推荐标准,新项目直接用它。
- 给接入决策:要对外提供能力的工具值得接 MCP,一次适配就能进所有支持 MCP 的 Agent 生态;纯内部的私有工具可以后置,先满足业务再标准化。
⭐ 加分点补一个选型细节:存量 MCP Server 很多还在用 SSE,接入时要注意向前兼容。说明你看过真实生态,没有只背新标准。
Q14老板
「隔壁部门把客户名单贴给外部 AI 做分析,被通报了。咱们团队天天用 AI,你给我说清楚,到底哪些事绝对不能干?」
🎯 对方在考察什么
老板要的是一套团队立刻能执行的边界,出了事他担管理责任。答「让大家注意点」等于没答;给出清晰的红线加判断方法,他才敢把这摊事交给你。
🧭 答题框架
- 报四条红线:敏感数据不出墙,客户信息、商业秘密、财务数据不进外部 AI,服务商承诺「不保存」也不行,传输本身已构成泄露;凭证永不进对话,API Key、密码、Token 贴了就立即轮换;高危操作必确认,删库、转账、改权限只能 AI 建议、人来按确认键;用前审批、用后标注,AI 生成内容对外发布要标识,这是《生成式人工智能服务管理暂行办法》的法规要求。
- 给一线的判断法:默认脱敏原则:不确定能不能输入,就脱敏后再输入。自测一句话:这段对话被截图发到网上会不会出事?会,就不要输入。
- 配上分级管控:写邮件做总结这类 L1 场景自主判断;影响外部客户的 L2 场景须人工审核加主管审批;Agent 碰生产系统、资金的 L3 场景须沙箱测试、安全审批、一键终止,日志留 180 天。
- 把责任说透:使用者是第一责任人,「AI 写的不是我写的」推不了责;审批人签字即担连带责任;管理者「不知道下属在用」也免不了责。
⭐ 加分点点出最容易踩雷的场景:调代码时说「帮我看看为什么报错」,把带密钥的代码整段贴出去。给团队立一条「先 review 再贴,贴漏了立即轮换凭证」的操作习惯。
Q15面试官
「用户一句话让 Agent 同时查机票、查天气、找酒店,模型一轮返回了三个工具调用。你是一个个执行还是一起执行?依据是什么?」
🎯 对方在考察什么
考你懂不懂调度策略背后的安全与体验权衡。答「当然一起跑,快」的人没想过数据竞争;答「都串行,稳」的人在白白浪费用户时间。
🧭 答题框架
- 摆出三种策略:串行一个接一个最安全,总耗时是三者之和(1.5 + 0.8 + 1.2 = 3.5 秒);并发全部同时跑,总耗时等于最慢的那个(1.5 秒),提速 57%;智能分批按安全性分组执行。
- 给判断标准:看有没有状态变更和依赖。机票预订可能扣款、改用户状态,单独跑;天气和酒店是纯查询,安全合并并行。第 1 批跑机票,第 2 批天气加酒店一起跑。
- 落到机制:框架给每个工具标 isConcurrencySafe,可并发的合成一批同时执行。标记是业务判断,要产品经理告诉工程每个工具的安全等级。
- 追问依赖:如果酒店要按航班到达时间筛选,它就依赖机票结果,必须串行。先画依赖图,再谈调度。
⭐ 加分点把策略换算成体验:3.5 秒和 1.5 秒在对话产品里是体感级差距。调度策略是用户等待时间的直接决定因素,这句话说明你在用产品视角看工程。
Q16面试官
「用户问了句『明天北京天气怎么样』,界面上就回了一句话。你说说这一句话背后,API 里到底跑了几条消息?」
🎯 对方在考察什么
考你有没有拆开看过一次工具调用的完整链路。只会说「模型调了个工具」的人,设计不了加载态、进度提示这些体验细节,因为他根本不知道中间有几个环节可以做文章。
🧭 答题框架
- 报出账目:用户看到 1 条回复,API 里跑了 5 条消息、2 次模型调用、1 次外部 API。消息依次是 system 指令、用户提问、模型返回 tool_calls、tool 角色回填结果、模型给出最终回答。
- 讲清关键一跳:第 3 条消息里模型的 content 是 null,只有 tool_calls 字段。也就是说模型这一轮没说话,只提交了一张「申请单」,真正调 API 的是框架。
- 点出成本含义:一次带工具的对话至少两次模型调用,Token 消耗比纯问答翻倍还多。评估带工具功能的成本时按这个倍数算,别按一次调用报预算。
- 落到产品决策:这 5 条消息里哪些让用户感知、哪些静默处理,就是产品设计。查询中转圈、工具结果做进度条、失败暴露给用户重试,每个环节都是决策点。
⭐ 加分点能顺手写出 messages 数组的角色顺序 system / user / assistant(tool_calls) / tool / assistant,说明你真看过 API 报文,这在 PM 里是稀缺信号。
Q17技术同事
「咱们 Agent 的长对话老是撑爆上下文,我打算快满的时候把最早的消息全删了。你产品上有意见吗?」
🎯 对方在考察什么
他在试探你懂不懂压缩是分层的,一刀切会误伤。你要是说「行啊你看着办」,用户第一轮说的需求被删掉后,锅就是产品的。
🧭 答题框架
- 先给预算框架:模型窗口 256K,实际安全空间设 200K,预留 56K 给模型回复。压缩的触发点全部按这个安全空间的百分比来定。
- 摆出四层防线:60% 时裁剪,删早期工具返回的超长原始数据只留摘要,用户完全无感;75% 时微压缩,把早期长对话换成简短摘要,轻微损失;85% 时折叠,多轮早期对话并成一条会话摘要,细节丢但主线在;95% 时紧急压缩,只留 system 加全局摘要加最近 3 轮。
- 算收益给他听:课程里的演示数据,一条 1200 Token 的天气 API 原始 JSON 压成 80 Token 摘要;四层配合下来,同一个 200K 窗口能撑 5 倍以上的对话量。
- 给结论:全删是把第四层的猛药当第一层用。按四层来做,绝大多数对话只会走到第一二层,用户根本察觉不到。
⭐ 加分点提醒他删除顺序有讲究:先删工具原始返回,再动对话内容。工具返回信息密度最低、最占地方,是性价比最高的第一刀。
Q18面试官
「你们的 Agent 能记住用户上个月的偏好吗?靠什么记的?窗口就那么大,记忆多了怎么办?」
🎯 对方在考察什么
考你分不分得清短期记忆和长期记忆是两套机制,以及会不会做检索参数的取舍。答「存数据库里」就露馅了,关键在怎么在对的时机把对的记忆捞出来。
🧭 答题框架
- 用类比定调:短期记忆是桌面,上下文窗口放得下的东西有限;长期记忆是档案柜,向量数据库存着用户偏好、项目配置、历史 Bug,需要时检索最相关的几条放回桌面。
- 讲清链路:记忆先经 Embedding 模型转成向量存进向量库,课程里的例子是 768 维向量存 LanceDB;提问时把问题也转成向量,按语义相似度召回。
- 报出两个关键参数:topK=5 限定每次最多召回 5 条,防止记忆挤占窗口;minScore=0.3 卡相似度下限,不相关的宁可不注入。这两个数是产品要拍的取舍。
- 点出质量瓶颈:检索质量取决于 Embedding 模型。「修登录接口」和「登录接口并发 500」能不能匹配到同一条记忆,决定了这套记忆是助手还是摆设。
⭐ 加分点反问一句:什么信息值得进长期记忆?用户偏好、项目配置这类高复用信息才值得存,把聊天全量入库只会让 topK=5 的名额被垃圾占掉。
Q19面试官
「线上 Agent 时不时卡死,转半天圈没结果。你作为产品负责人,说说它一般是怎么死的,你打算怎么兜底?」
🎯 对方在考察什么
考你对 Agent 失败模式的枚举能力。说得出几种死法、每种配什么防护,说明你真运营过 Agent 产品;只会说「加个超时」的人,多半只做过 demo。
🧭 答题框架
- 枚举五种死法:参数格式错误,模型生成的 JSON 不合法;幻觉工具,调一个根本不存在的工具;无限递归,同一个动作反复循环;信息不足,缺关键信息还硬着头皮猜;API 异常,外部服务挂了没人管。
- 逐个配防护:参数校验拦格式错误、工具验证拦幻觉工具、循环检测拦无限递归、主动提问机制治信息不足、超时兜底治 API 异常。一种死法一味药,别指望一个万能开关。
- 转成产品语言:每种故障都要预设用户看到什么。是重试、报错、还是转人工,故障文案和出口是产品设计,不能让用户对着转圈干等。
⭐ 加分点点出「信息不足」这条最特殊:它的解法是让 Agent 学会开口问用户,属于交互设计问题。其他四条靠工程,这条靠产品。
Q20老板
「新上的拍照识别功能,成本比纯文字功能贵了十几倍。图片这东西怎么还按钱算的?能便宜点吗?」
🎯 对方在考察什么
老板要的是钱花哪了和怎么省两个答案。你得把图片计费的原理讲成人话,再给一个不砍功能就能降本的方案。
🧭 答题框架
- 讲清计费原理:模型把图片切成像素块换算 Token,公式是缩放后的高乘宽除以每 Token 对应像素数再加 2。尺寸还会强制对齐 32 的整数倍,超上限缩小、低于下限放大,按对齐后的尺寸计费。
- 指出浪费在哪:用户随手拍的 4K 原图直接上传,Token 是 512 见方小图的几十倍。任务只是「识别这是不是发票」的话,绝大部分像素都在烧钱。
- 给分级方案:按任务匹配分辨率。粗分类用低分辨率、场景理解用中档、OCR 和图表识别才上高分辨率。分辨率选对,Token 数能差 10 到 100 倍。
- 给落地动作:上传链路加一层预处理,按功能类型自动压到对应档位,用户无感,账单立降。
⭐ 加分点补一句不同模型换算率不一样,课程里的对比是 Qwen3-VL 每 1024 像素一个 Token、Qwen2.5-VL 是 784。选型时把视觉计费也放进对比表。
Q21面试官
「你们的 Agent 能执行删文件这种操作,用户投诉说每步都要点确认太烦,工程说全放行又怕出事。这个权限你怎么设计?」
🎯 对方在考察什么
这是一道安全与效率怎么权衡的产品判断题。答案本身没有标准解,考官看的是你有没有一套分级框架,以及敢不敢把风险决策留在产品手里。
🧭 答题框架
- 摆出三种模式:确认模式每个危险操作都弹窗,最安全但最打断;自动模式全部放行,最快但一次误删就是事故;智能模式用 LLM 分类器评估风险等级,低风险放行、高风险拦下确认。
- 点出前提工作:智能模式能跑的前提是每个工具都标好了「只读」还是「破坏性」。这个标记是工具级别的产品决策,得产品经理逐个拍,推给工程就是失职。
- 正视新风险:用 LLM 判断风险,LLM 自己也会误判。所以破坏性最高的那一档(删库、转账)不进智能判断,永远人工确认,给误判上双保险。
- 给体验补偿:确认弹窗做进上下文里,一次确认可记住同类操作,把打断次数降下来,而只在真正危险处保留刹车。
⭐ 加分点说出「权限设计的核心矛盾是安全 vs 效率,产品的职责就是选一个可辩护的平衡点」,把问题从功能层拉到责任层。
Q22技术同事
「你老提让我给 Agent 加 Skill。Skill 说白了就是一段提示词吧?和我把话写进 System Prompt 有什么区别?」
🎯 对方在考察什么
他在挑战 Skill 的必要性。你得承认它确实算不上新技术,再讲清它在触发、边界、约束上和裸提示词的差别,用机制说服他。
🧭 答题框架
- 先认同再区分:Skill 的本质就是把经验写成文档,等于流程说明加工具调用指引。但它按需加载,识别到匹配任务才注入,写死在 System Prompt 里的内容每次请求都占 Token。
- 拆开 SKILL.md 的结构:元信息带触发词决定召回率;适用条件是防误触的保险,不在目标项目目录就静默退出;执行步骤是严格按顺序跑的 SOP;允许工具划安全边界,比如发版 Skill 禁用 delete_file 和子 Agent。
- 讲价值落点:没有 Skill 的 ReAct 是差循环,试错好几轮;有 Skill 是好循环,AI 出门前就想清楚先做什么再做什么,一趟搞完。循环短了,Token 和延迟都降。
- 给协作分工:Skill 里的步骤顺序和安全约束是业务经验,这部分产品来写;加载和执行机制工程来管。Cursor、Claude Code、Copilot 都支持 SKILL.md 标准,不用自研。
⭐ 加分点点出约束条款比步骤更重要:步骤写错 Agent 只是做错事,约束缺了 Agent 会做危险的事。发版 Skill 里「不允许 force push、测试不过不发版」就是这种保命条款。
Q23面试官
「你们的 Agent demo 演示得很惊艳,一上线就各种翻车。从试验品到产品,中间差的到底是什么?」
🎯 对方在考察什么
考你知不知道 Agent 工程的大头在脚手架。把翻车归咎于「模型不够聪明」的人,会一直等下一代模型;懂脚手架的人知道该补哪五块板子。
🧭 答题框架
- 给出核心比例:Agent 工程等于 80% 脚手架加 20% 模型。大多数 Agent 项目失败,败在错误处理不够健壮,模型聪明与否反倒是次要的。
- 列五大能力:超时与重试,工具调用设 timeout 加指数退避;最大步数限制,max_iterations 防死循环;输入输出校验,JSON Schema 拦非法参数;状态机加回滚,检查点恢复,失败不从头来;观测与日志,全链路记录,生产问题靠日志定位。
- 用场景对比:课程里「查机票加订酒店」的模拟,裸跑的 Agent 一个 API 超时就整单报废;加了脚手架,超时重试、失败回滚到检查点,用户只感觉慢了一点。
- 落到排期:立项时就把五大能力列进工程需求,和功能同排期。上线后再补,等于先开车再装刹车。
⭐ 加分点把「demo 到产品」量化成验收标准:每个工具有 timeout 吗、有 max_iterations 吗、失败能回滚吗。三个问题就能把一个 Agent 项目的成熟度摸个大概。
Q24老板
「竞品都在宣传用最新旗舰模型,咱们要不要全线跟进?贵是贵点,效果总不会差吧?」
🎯 对方在考察什么
老板被「越贵越好」的直觉带着走,你要用选型框架把他拉回来:钱花在刀刃上,还得说清刀刃在哪。
🧭 答题框架
- 先破直觉:能力和价格是非线性关系。价格翻十倍,能力提升可能只有一两成,很多任务上中档模型和旗舰的输出用户根本分不出来。
- 给选型公式:选型等于任务难度乘调用量乘容错空间。简单高频低容错要求的任务用小模型,复杂低频高价值的任务才配旗舰。
- 给替代方案:全线上旗舰的钱,拿一小半做意图识别加模型路由:80% 简单问题走小模型,复杂的才升旗舰,成本能省 40% 到 60%,体验基本无损。
- 用数据说话:拿场景化评测数据对比,别拿厂商跑分。同一批真实任务在候选模型上各跑一遍,按我们自己的场景出结论。
⭐ 加分点补一刀:竞品宣传用旗舰,多半也只在门面场景用。跟进宣传口径和跟进成本结构是两回事。
Q25面试官
「如果让你给一个要上生产的 Agent 立规矩,你会立哪几条?没有这些规矩会发生什么?」
🎯 对方在考察什么
考你能不能把稳定性拆成具体防线。「多做测试」这种答案没有信息量,考官想听的是每道护栏防什么事故、缺了会怎么死。
🧭 答题框架
- 先给定位:Agent 的核心能力来自 LLM,稳定性来自工程护栏。没有护栏的 Agent 等于没有刹车的跑车,能力越强越危险。
- 列五道护栏:迭代上限防死循环,Agent 原地打转时强制收工;输出截断防撑爆,工具返回超长数据直接截断;超时控制防卡死,外部调用挂了不至于整个任务陪葬;中断恢复防损坏,任务中途断电断网能从检查点续跑;上下文急救防崩溃,窗口快满时紧急压缩保命。
- 讲判断标准:这五道防线决定 Agent 是「能用」还是「好用」。验收一个 Agent 产品,就按这五条逐项过,缺一条就有对应的一类线上事故等着。
⭐ 加分点把护栏和卡死模式对上号:五种卡死是病,五道护栏是药。能成对讲出来,说明你理解的是体系,只会背清单的人讲不出这层对应关系。
Q26技术同事
「平台不是自带 KV Cache 吗?我看文档说会自动命中,咱们还要专门写 cache_control 干嘛?」
🎯 对方在考察什么
他觉得隐式缓存够用了。你要讲清分布式架构下隐式缓存为什么靠不住,这直接决定省钱方案是真省还是纸面省。
🧭 答题框架
- 点破前提:云端 LLM 跑在多台 GPU 节点上,请求经负载均衡随机路由。你的缓存在节点 A,请求被派到节点 B 就是 MISS,隐式缓存的实际命中率不到 30%,纯靠运气。
- 讲显式方案:在请求里加一行 cache_control 标记缓存锚点,平台保证把请求路由到有缓存的节点,命中率接近 100%。Anthropic、阿里云、OpenAI 都支持这套写法。
- 算价差:课程里的折扣对比,隐式命中按标准价 20% 计费,显式命中只按 10%,等于输入成本省 90%。命中率和折扣两头都是显式占优。
- 下结论:生产环境必须显式缓存。把省钱寄托在随机路由上,既不可靠也不专业。
⭐ 加分点提醒锚点位置要配合缓存的前缀匹配特性:System Prompt 固定、动态内容后置,锚点才有意义。这句话能接回动态时间戳毁缓存的经典反例。
Q27面试官
「同样的功能,别人家提示词几百 Token,你们家两千多。如果让你来砍,从哪下手?」
🎯 对方在考察什么
考你懂不懂提示词是写给机器的指令这个第一原则,以及能不能分清语法层和语义层两类瘦身手段。
🧭 答题框架
- 先砍语法层:格式性 Token 最高占提示词 13% 到 20%。复杂对象用 YAML 代替 JSON 省 15% 到 30%;扁平列表用 CSV 代替 JSON 数组,字段名重复 N 遍是最大浪费,省 30% 到 60%;去掉加粗、标题这些 Markdown 装饰符号再省 8% 到 13%。课程里的实测案例,光加粗符号就吃掉 8.5% 的 Token。
- 再砍语义层:Few-Shot 案例别硬编码,用向量检索每次只取最相关的 3 条,省 87.5%;长文档先用 LLMLingua-2 压缩再喂给模型,能压 5 到 20 倍。
- 顺手调结构:模型对中间内容注意力最弱,关键信息放首尾。这一步不省钱,但让留下的每个 Token 更值钱。
- 点出双重收益:注意力复杂度是 O(N²),Prompt 翻倍计算翻四倍。瘦身省的钱是一份,速度和效果的提升是白送的另一份。
⭐ 加分点引用课程那句判断:千万级调用量下,每月两成预算花在「让产品经理看着舒服」的排版上。砍提示词先砍给人看的部分。
Q28老板
「我让 AI 整理了份行业报告,引用看着都挺像回事,我直接发给客户没问题吧?」
🎯 对方在考察什么
老板在找你要一个「放心」。你得让他明白幻觉专挑像真的地方藏,同时给他一套下次自己就能用的分级判断法,别只会说「要小心」。
🧭 答题框架
- 先讲危险在哪:幻觉混在真实信息中间,格式和引用方式跟真的完全一致。课程里的测试,六条量子计算史实里藏一条编造的,人名、项目名、「Nature 年度十大」全是编的,编得比真的还像真的。
- 给识别套路:AI 造假三板斧是编人名、编项目、编荣誉,还爱配上真实机构、出版社、豆瓣评分来增加可信度。凡是具体到人名加成果的引用,优先核。
- 给场景分级:写邮件、头脑风暴、翻译润色放心用;数据分析、技术调研、写代码要验证后用;法律、医疗、投资是幻觉高危区,只能当线索。发客户的报告属于要验证那档,关键数字和引用逐条核完再发。
- 给操作动作:拿报告里的关键词去搜索交叉验证,核不到出处的引用直接删。十分钟的事,比发出去被客户戳穿便宜多了。
⭐ 加分点给老板留一句好记的自测:越是具体的引用越要查。AI 心虚的时候反而爱把细节编得特别足。
Q29面试官
「什么样的任务值得拆给多个 Agent 干?拆了之后,怎么保证它们不互相打架?」
🎯 对方在考察什么
考你对多 Agent 协作的适用边界和安全规则的理解。张口就「多 Agent 更强」的人是听营销听多了,考官要的是拆分依据和并发纪律。
🧭 答题框架
- 给拆分模型:主 Agent 当协调员拆任务,子 Agent 各司其职。课程里重构认证模块的例子:调研员只读,负责分析代码结构;开发者可读写,负责改代码;测试员可读加运行,负责验证。
- 立并发纪律:只读任务并行加速,写入任务串行保安全。两个子 Agent 同时改一个文件就是灾难,所以权限和执行顺序按读写性质分。
- 讲隔离机制:子 Agent 跑在独立 Worker Thread,内存隔离互不干扰,父级可以随时中止子级。事件流上有 subagent_start、subagent_chunk、subagent_end 三类信号,进度条和中断按钮都挂在这上面。
- 划适用边界:单 Agent 能一趟干完的活别拆。拆分带来调度和汇总的开销,只有任务天然分块、且有并行收益时才值得上团队。
⭐ 加分点补一句可观测性:多 Agent 一跑,Token 消耗是乘法。事件流里的 usage 事件要按子 Agent 分别计账,不然账单暴涨都不知道谁花的。
Q30面试官
「你们做的这些 Prompt 优化、RAG、缓存,等下一代模型发布是不是全白干了?你怎么判断哪些值得投入?」
🎯 对方在考察什么
这是本章的终极问题,考你有没有第一性原理。能答好这题,说明前面所有手段在你脑子里已经收敛成一件事,而没答好的人只是背了一堆技巧。
🧭 答题框架
- 先给本质:一切 Harness 手段归根到底都是构造更优质的上下文,让模型更准确理解意图。RAG、压缩、Few-Shot、缓存,全是这一件事的不同侧面。
- 给三个维度:质量,注入精准高密度的信息;结构,关键信息放首尾、核心约束进 System Prompt;成本,用最少 Token 传递最多有效信息。评估任何 Harness 投入,先看它落在哪个维度。
- 给取舍标准:值得做的,是和友商拼成本、效率、效果,且模型升级后效果更好的互补型手段;该放弃的,是消耗极大资源、模型升级后直接被替代、用户又感知不到的手段。每个立项先问一句:模型版本升级后这件事还需要吗?
- 收在原点:不知道怎么做时回到那个问题:我现在给模型的上下文,是它做好这件事所需要的全部吗?能答好这个问题,就掌握了 Harness 的本质。
⭐ 加分点用一个已经被淘汰的手段举例,比如为省窗口做的复杂拆分在长上下文模型出来后失去价值,证明你真用「会不会被模型升级替代」这把尺子量过自己的方案。
最后一个建议
这 30 题的正确用法是开口讲一遍,对着同事、朋友或者录音讲。看懂不算数。讲不顺的地方,就是你以为懂了但还没懂的地方,点关联课程页回去补上。