22道AI‑Agent高频面试题整理,吃透轻松拿下offer 文章目录前言一、LLM底层认知基础打不牢面试地动山摇Q1上下文窗口是什么Lost-in-the-Middle现象咋回事Q2Temperature、Top-P、Top-K三个参数有啥区别怎么调Q3模型幻觉咋来的Agent场景怎么缓解二、Agent架构与模式干活的套路得门清Q4手写一个ReAct Agent的核心循环Q5ReAct和Plan-and-Execute有啥区别各适合啥场景Q6Multi-Agent系统怎么设计什么时候拆多AgentQ7Agent死循环了怎么办检测和恢复策略有哪些三、Tool Calling工具用不明白Agent直接废一半Q8怎么定义一个“好的”工具踩过哪些坑Q9工具调用失败了怎么办错误处理策略是什么Q1030个工具注册进去选工具准确率下降怎么办四、Prompt Engineering写提示词也是技术活Q11怎么设计迭代System Prompt有啥反直觉的坑Q12怎么防Prompt注入攻击五、RAG与记忆管理记性不好的Agent不是好员工Q13RAG的Chunk策略怎么选Q14上下文窗口满了怎么办压缩策略是什么六、评估与可观测性好不好用得拿数据说话Q15怎么评估一个Agent好不好评估体系怎么搭Q16生产环境Agent出问题了怎么排查七、安全与护栏别让Agent闯了大祸Q17怎么设计安全护栏Agent调了数据库DELETE怎么办八、工程落地光说不练假把式场景题见真章Q18设计一个Android技术顾问Agent怎么搭架构Q19Agent部署线上要考虑啥Q20怎么控制Agent调用成本一次花10万Token怎么办Q21Android本地AI助手Agent怎么实现Q22非确定性的Agent系统怎么测试最后说两句P.S. 挖到宝藏AI教程全程通俗易懂风趣幽默零基础轻松入门传送门https://blog.csdn.net/qq_34419312前言最近天越来越热互联网圈的“夏季优化传统”又开始冒头了。我身边好几个朋友连着俩夏天都成了待业选手在家吹空调吃西瓜顺便海投简历。我今年虽说还稳在岗但谁知道明天会不会被约谈提前背点题总没错。总比到时候面试官坐你对面问啥你都只会挠头傻笑说一句“这个我不会”强吧今天整理了22道Agent高频面试题全是干活踩坑踩出来的干货看完面试至少不会当场社死。一、LLM底层认知基础打不牢面试地动山摇Q1上下文窗口是什么Lost-in-the-Middle现象咋回事上下文窗口说人话就是模型一次能处理的最大Token数量。就像你外卖盒就那么大硬塞三斤米饭进去盖都盖不上窗口外的信息模型压根看不见。Lost-in-the-Middle说白了就是模型也有“中间遗忘症”。一大段长文本喂进去开头和结尾的信息它记得最牢中间的内容基本就被稀释没了。准确率首尾能有七八十中间直接掉到四五十跟你背英语单词一模一样abandon记得最熟中间的全忘光。原因也简单注意力分布不均匀模型天生就对开头和结尾的内容更敏感。解决办法也不复杂重要指令放开头最新消息放结尾长文本定期做摘要检索结果按相关性重排序基本就能缓解大半。Q2Temperature、Top-P、Top-K三个参数有啥区别怎么调这仨参数说白了就是控制模型输出的“放飞程度”但管的地方不一样。Temperature管概率分布平滑度数值越低越死板调到0就是纯老实人说一不二数值越高越放飞啥天马行空的内容都能整出来。Top-P是核采样找累积概率加起来超过P的最小Token集合比如0.9就是凑够90%概率的候选词就停手。Top-K更直接只选概率最高的K个词剩下的全扔掉。调参也有固定套路别瞎调写代码、调工具这种严谨活Temperature直接拉到0到0.2别让它瞎发挥事实问答、RAG场景也别太高0到0.3足够写文案、头脑风暴这种需要创意的就调到0.7到0.9让它放开了想。重点提醒工具调用阶段温度一定要低不然它能给你编出来一堆不存在的工具出bug你都找不到原因。Q3模型幻觉咋来的Agent场景怎么缓解幻觉这事儿说白了就是模型一本正经地胡说八道。根源也简单它本质是预测下一个Token不是自带知识库预训练数据里有错的也照单全收再加上RLHF总鼓励它“要有帮助”不知道也硬编。放到Agent场景里幻觉可比纯文本吓人多了。轻则给你传个不存在的参数重则直接调用一个根本没有的工具甚至它自己觉得已经干完活了实际上啥也没动。就像你让助理去买咖啡他回来跟你说买完了实际上根本没下楼全靠脑补。缓解的法子也不少让它输出结构化JSON别瞎写自由文本用RAG给它喂事实减少瞎编空间关键操作必须人工确认别让它自己说了算。二、Agent架构与模式干活的套路得门清Q4手写一个ReAct Agent的核心循环ReAct的核心逻辑说穿了就是“边想边干”。先让模型思考下一步干啥是调用工具还是直接给答案要调用工具就去执行执行完把结果塞回去再让它接着思考。循环往复直到它给出最终答案或者到了最大轮次强制停止。这里必须提一嘴最大迭代次数这玩意儿就是保命用的。Agent要是陷入死循环一轮接一轮调用工具那Token烧起来跟流水似的没上限的话一次对话能给你干出去几十万Token账单出来你直接傻眼。Q5ReAct和Plan-and-Execute有啥区别各适合啥场景这俩模式一个是走一步看一步一个是先做攻略再出发。ReAct是边推理边行动灵活得很遇到不对的随时能改方向但长任务容易跑偏走着走着就忘了自己要干啥。Plan-and-Execute是先把完整计划定好再一步步执行结构清晰适合长流程但灵活性差中间出问题得重新规划。啥时候用哪个简单查询、故障排查、未知探索这种需要灵活调整的用ReAct写周报、多文件重构这种需要整体把控的用Plan-and-Execute。实际干活哪有非黑即白的大多都是混合着来先定个大方向计划具体每一步用ReAct灵活处理卡壳了就重规划香得很。Q6Multi-Agent系统怎么设计什么时候拆多Agent很多人一上来就想搞多Agent觉得越多个越厉害其实根本不是。什么时候该拆比如一个角色既要搞创意又要做审核人格分裂或者要访问不同权限的数据源放一起工具选不准再或者不同环节需要不同的推理策略这时候再拆。别啥问题都上多Agent一个Agent加好Prompt能解决的事拆成多个就是过度设计。三个以上Agent协调成本直接指数级上升跟三个和尚没水喝一个道理最后全在那互相甩锅。Agent之间通信也别瞎聊纯文本得定义结构化的消息协议再加个共享黑板存上下文不然光传消息就能耗掉一半Token。Q7Agent死循环了怎么办检测和恢复策略有哪些Agent死循环简直是生产环境的噩梦。要么反复调用同一个工具参数变来变去但啥用没有要么A工具的结果喂给BB的结果又喂回A俩工具搁这打乒乓球呢更有甚者一直在那自我质疑光想不行动。跟你上班摸鱼一模一样反复打开同一个网页啥也没干还假装自己很忙。检测其实不难设个最大轮次兜底再检查最近几次工具调用是不是重复了、有没有带来新信息再设个Token预算红线超了就告警。真检测到了也别怕轻微的就插条提示让它换个思路严重的就把上下文压缩摘要重启循环实在救不活的就降级成普通问答或者直接转人工。三、Tool Calling工具用不明白Agent直接废一半Q8怎么定义一个“好的”工具踩过哪些坑很多人写工具定义就俩字搜索。模型哪知道你搜啥的搜八卦还是搜文档搜技术还是搜菜谱它根本摸不着头脑选错工具太正常了。好的工具定义就得像写招聘JD一样写得明明白白你是干啥的什么时候该找你什么时候别找你参数都是啥意思。踩过的坑可太多了参数名写个q、id模型根本不知道填啥没加枚举约束它能给你编出来一堆不存在的选项工具功能重叠俩工具干差不多的事模型反复纠结选哪个。记住一句话工具描述宁可啰嗦不能模糊。你写得越清楚模型用得越准。Q9工具调用失败了怎么办错误处理策略是什么工具调用哪有不失败的就像你点外卖哪有次次准时的。分情况处理就行第一层网络超时、限流这种瞬时错误指数退避重试个两三次一般就好了。第二层参数格式不对、缺参数这种把错误返回给Agent让它自己修正了再试。第三层查不到数据、没权限这种业务错误也把信息给Agent让它决定下一步是问用户还是换个方式。第四层模型瞎调用工具比如没确认就删数据这种直接拦截插警告让它纠正。别一报错就直接返回给用户错误信息也是Agent的观察信息它能自己修正才是真的智能。Q1030个工具注册进去选工具准确率下降怎么办这太正常了工具越多选对的概率越低。就像给你一本30道菜的菜单让你一秒选出最合适的一道大概率也得选错。优化的法子有很多最常用的就是分组把工具按类别分成研发组、数据组、协同组先选大类再选具体工具准确率立马回升。也可以做意图预路由先判断用户是啥意图再给对应的Agent和工具集。或者动态注册每轮对话只给它5到8个相关的工具别一股脑全塞进去。一般来说5个工具准确率能有95%20个就掉到七八十分组到每级五六个就能回到90%以上。四、Prompt Engineering写提示词也是技术活Q11怎么设计迭代System Prompt有啥反直觉的坑很多人写System Prompt一写就是一大篇恨不得把所有规矩都写进去。实际上恰恰相反越短的System Prompt效果往往越好。写太长了关键信息就被稀释了模型根本记不住后面的主打一个左耳进右耳出。还有个反直觉的坑你越说“不要做XX”模型越容易做XX。就像你跟小孩说“别把杯子打碎了”他转头就能给你碰地上。模型也一样它只关注到了“杯子打碎”这个词反而更容易触发。正确的做法是用正向引导代替负面禁止把最重要的规则放最前面用量化的约束代替抽象的要求比如“回答不超过3点”就比“回答要简洁”好用一百倍。Q12怎么防Prompt注入攻击Prompt注入这事儿在Agent场景下尤其危险。毕竟Agent能调用工具攻击者忽悠它删数据、泄露信息那麻烦就大了。就像有人冒充你老板给你发消息让你转钱你一不留神就中招了。防御得做分层不能只靠一层入口层先做关键词检测把常见的注入话术拦下来用户输入用标签包好和系统指令隔开。系统层把System Prompt钉在最前面反复强调不能改角色、不能听用户的伪造指令。运行时再检测一轮看看输出有没有异常工具参数有没有猫腻。最后执行层再上权限控制高危操作必须人工确认。四层下来基本就能挡住绝大多数注入攻击。五、RAG与记忆管理记性不好的Agent不是好员工Q13RAG的Chunk策略怎么选Chunk分块这事儿可不是随便切切就行。切太小了信息不完整切太大了检索噪声多就像切西瓜切太小全是皮切太大一口吃不下。不同的文档得用不同的切法不能一刀切代码文件就按函数、类来分保留缩进结构Markdown文档就按标题层级分PDF长文就按段落加语义边界分对话记录就按轮次分。参数也有讲究一般Chunk Size选256到512个Token重叠10%到20%防止关键信息正好被切在边界上。别嫌麻烦Chunk分不好后面检索再厉害也白搭。Q14上下文窗口满了怎么办压缩策略是什么长对话聊着聊着窗口就满了这是躲不开的事儿。就像你手机内存用着用着就满了总不能一直不清理吧别等满了再处理平时就得做分层压缩第一层没用的直接扔比如中间轮次的大段工具返回数据模型看完就没用了该删就删。第二层摘要压缩把中间的对话用模型压缩成几句话代替原始对话。第三层关键信息提取用户偏好、确认过的事实单独存成键值对不用每次都重读上下文。第四层长期记忆存外部数据库下次对话还能调出来用。核心原则就是最新的信息留完整中间的压缩重要的结构化存起来。六、评估与可观测性好不好用得拿数据说话Q15怎么评估一个Agent好不好评估体系怎么搭评估Agent可不能靠感觉“我觉得挺好用”不算数得有体系。分三层来第一层是单元测试最基础的工具调用准不准、输出格式对不对、有没有敏感内容跑一次过了就行。第二层是任务级评估核心看任务完成率、路径是不是最优、耗了多少Token和时间、抗不抗攻击。第三层是线上评估看用户满不满意、愿不愿意再来用、报错率多少、每次对话花多少钱。测试集也得好好做标准场景、边界场景、对抗场景、回归场景都得有每月更新点新案例这样评估才靠谱。Q16生产环境Agent出问题了怎么排查Agent排障可比普通代码难多了普通代码打断点就能看Agent每次输出都可能不一样跟开盲盒似的。所以上线之前必须先把全链路追踪接上这钱绝对不能省。没有追踪的Agent系统就是盲人摸象出了问题你根本不知道哪坏的。排查流程也很清晰先确认是啥问题是答错了、卡死了、调错工具了还是报错了。然后去看追踪日志每一步的想法、动作、结果、Token消耗、耗时全给它扒出来定位到出问题的那一步。接着去测试环境复现改Prompt、改工具定义、优化检索改完再回归测试灰度上线观察。七、安全与护栏别让Agent闯了大祸Q17怎么设计安全护栏Agent调了数据库DELETE怎么办千万别指望Agent自己自觉就像你不能指望小孩自己不闯祸。护栏必须做多层一层不够就两层两层不够就四层纵深防御才靠谱。输入层先查敏感信息脱敏、注入检测、速率限制先把坏东西拦在外面。推理层再管按用户角色给工具集参数做黑白名单校验高危操作卡审批Token预算监控好。执行层再把一道关工具单独配权限结果做安全检查操作保证幂等超时就熔断。最后输出层再过滤一遍敏感信息打码内容安全检测格式校验好再给用户。至于调DELETE删库这种天大的事儿必须三层保险安排上System Prompt里先明确禁止非只读SQL先给模型打预防针数据库工具内部做SQL解析检测到危险操作直接拒绝根本不给执行机会所有写操作必须用户二次确认同时留全审计日志。三层下来基本就杜绝了Agent乱删库的可能毕竟删库这种事还是人来背锅比较靠谱。八、工程落地光说不练假把式场景题见真章Q18设计一个Android技术顾问Agent怎么搭架构做技术顾问Agent核心就是稳别瞎给答案更别瞎改代码。入口先做意图分类非技术问题直接礼貌拒绝别浪费资源。核心用ReAct循环就行搭配官方文档、内部Wiki、代码仓库、Issue库几个只读检索工具再加个代码生成、文本摘要工具。重点修改代码、删除文件、部署这些工具一律不开放。不确定的答案就说不确定别硬编给个查找方向就行。成本上也得控简单问题用小模型复杂问题再上大模型检索结果做缓存单次对话设Token上限别烧钱没节制。Q19Agent部署线上要考虑啥部署上线可不是把代码扔服务器上就完事了要考虑的事多了去了。首先是延迟首Token等待时间太影响体验了能流式输出就流式简单问题直接用小模型相同请求做缓存。然后是成本Token用量监控起来预算超了告警多做缓存和压缩能省不少钱。可靠性也得跟上LLM API做多路重试和降级主模型挂了还有备用的每个步骤设超时限流也得安排上。还有可观测性和安全该上的监控、日志、鉴权、权限控制一样都不能少。Q20怎么控制Agent调用成本一次花10万Token怎么办一次对话花10万Token那不是在聊天那是在烧钱。成本控制得从一开始就设计进系统里不能等账单出来了才心疼。事前先预防每轮对话设Token上限最大推理轮次卡死模型分层用缓存做起来Prompt瘦瘦身工具按需分组暴露。事中盯着点设个告警阈值Token用多了就触发降级自动压缩上下文超了上限就强制终止绝不能让它无限烧。事后复盘每天看报表找出最费钱的用户和对话看看是正常使用还是bug针对性优化。Q21Android本地AI助手Agent怎么实现端侧Agent核心就一个原则别指望它啥都能干。手机上那点算力跑不了大模型就干点简单的活意图分类、简单问答、工具路由复杂的全甩给云端。好处也明显联系人、日历这些敏感数据全在本地处理绝不离开手机隐私有保障。实现上也不难Agent做成前台服务常驻后台用系统通知做交互入口工具调用全走Android原生API数据存在本地数据库里。权限管控一定要严啥工具对应啥权限没授权就不能用别乱拿用户数据。Q22非确定性的Agent系统怎么测试测Agent跟测传统软件可不一样传统软件非对即错Agent是概率性的总不能要求它100%准确那不现实。得分层测第一层确定性测试格式对不对、参数类型对不对、安全规则触没触发跑一次过了就行。第二层统计测试同一个输入跑个十次八次看工具选择准确率、任务完成率大概在多少心里有个底。第三层对抗测试注入攻击、模糊输入、边界情况全给它安排上看看扛不扛造。不用追求满分定个合理的SLO比如工具准确率90%以上每次迭代跑回归不下降就行。最后说两句现在人人都会用AI就像人人都会开车。挂个挡踩个油门谁都会可车爆胎了你会换吗半路熄火了你知道啥原因吗玻璃水往哪加你清楚吗AI也是一样会用AI写周报、做PPT的人一抓一大把。但你要是懂ReAct循环为啥能防死循环知道怎么优化Lost-in-the-Middle清楚怎么控成本、做安全那你就不再是AI的用户而是AI的工程师。面试的时候这就是你甩开别人的底气。P.S. 挖到宝藏AI教程全程通俗易懂风趣幽默零基础轻松入门传送门https://blog.csdn.net/qq_34419312