腾讯 AI Agent开发 一面(暑期)

1. 自我介绍

2. 介绍你这项目,重点讲 LLM 部分是怎么设计的

3. 如果让你从零设计一个对话 Agent 的流程,核心状态有哪些

核心状态至少要有会话状态、任务状态、工具状态和记忆状态。会话状态负责当前轮的输入输出和上下文窗口;任务状态描述目标、槽位、依赖和是否完成;工具状态记录已经调用过哪些外部能力、返回了什么、是否失败和是否可重试;记忆状态保存长期偏好、历史事实和结构化摘要。很多对话系统看上去只是“多轮聊天”,实际真正难的是状态机设计,如果状态边界不清晰,模型很容易把临时信息写成长久事实,或者把上一个任务的中间结果错误继承到当前轮。

4. 如果用户和 AI 对话时生成的问题本身有冲突,系统应该怎么处理

不能让模型直接“二选一猜一个”,而是先进入冲突检测和证据仲裁流程。比较稳的处理方法是先识别冲突类型,是事实冲突、时间冲突、约束冲突还是角色冲突;然后回溯冲突来源,是来自用户多轮表述变化、工具返回不一致还是知识库版本冲突;最后根据冲突级别选择澄清、回退、拒答或者多解并列输出。真正线上可用的系统必须能分清“模型不会”和“输入本身互相矛盾”,否则用户会觉得它在胡说。

5. 如果把一个普通问答项目升级成虚拟对话系统,架构上要改哪些东西

普通问答项目的核心是检索和生成,虚拟对话系统则必须补齐人物设定、长期记忆、情感状态、轮次目标、风格一致性和可恢复状态。也就是说,从“单轮回答机器”升级成“持续扮演和持续行动的系统”。需要新增的关键能力包括 persona 管理、状态压缩、对话目标跟踪、情绪或风格约束、事件回忆和多回合安全控制。如果没有这些,所谓虚拟对话只是在每轮临时拼 prompt,轮数一长角色就会漂。

6. RAG 在这类 Agent 项目里到底用来解决什么问题

RAG 不是为了让模型“知道更多”,而是为了解决时效性、事实约束和可追溯性。模型参数里的知识不可控且难更新,业务上真正需要的是把最新文档、规则、历史记录和用户私有数据接进来,并能指出答案依据在哪里。尤其在流程型 Agent 里,RAG 不只是给答案供料,还经常参与工具前置决策,比如先查规则再决定是否允许调用某接口,或者先查历史工单再决定是否升级异常等级。

7. RAG 的信息一般怎么存,为什么不能只扔进向量库

只用向量库存文本块,通常很快就会遇到版本冲突、权限过滤、结构化事实缺失和引用不可追踪的问题。更合理的做法是分层存储:原文和版本信息进对象存储或文档库,向量索引用于语义召回,倒排索引用于关键词精确匹配,结构化事实进关系库或 KV,权限标签和生效时间作为元数据统一挂载。这样系统在检索时才能做到“先过滤再召回”,而不是把所有东西都召回来之后再指望模型自己判断。

8. embedding 模型在项目中应该怎么选,选错会出现什么现象

embedding 模型要看语言范围、文本长度、领域适配、向量维度、吞吐和成本。选错最直接的现象不是“指标低一点”,而是召回结果出现系统性偏差,比如术语相似但业务语义完全不同的块被排前面,短 query 发散严重,数字、版本号、接口名、时间表达召回很差。很多团队一开始只看通用榜单分数,实际上业务文档里型号、规范、错误码、配置项这类词法强约束内容非常多,这时就必须让 BM25、规则检索和 dense retrieval 一起工作,不能迷信单一 embedding。

9. embedding 切 chunk 应该怎么做,为什么固定长度切分经常不够

固定长度切分容易把一个完整知识单元切断,导致召回命中一半证据。更稳的方案通常是“结构优先、长度兜底”,先按标题、段落、表格、代码块、对话轮次这些天然边界切,再对超长块做二次切分,并保留来源、章节路径、时间、实体标签和父子关系。这样做的目标不是切得均匀,而是让每个 chunk 在语义上尽量自洽,既能被召回,又不会因为上下文缺失而让后面的生成偏掉。

def split_by_structure(paragraphs, max_len=350):
    chunks, cur = [], []
    cur_len = 0
    for p in paragraphs:
        if cur_len + len(p) <= max_len:
            cur.append(p)
            cur_len += len(p)
        else:
            chunks.append("\n".join(cur))
            cur = [p]
            cur_len = len(p)
    if cur:
        chunks.append("\n".join(cur))
    return chunks

10. 硬切分在实际场景里有哪些典型弊端

最常见的问题有四类。第一,标题和正文分离,导致召回到了内容却丢了语义锚点;第二,表格跨页或跨段被切裂,数值关系失真;第三,FAQ 问答对被拆开,query 命中问题但取不到答案;第四,长流程文档的前置条件和执行步骤被拆到不同块里,模型只看到了动作没看到约束。很多看起来像“模型幻觉”的问题,本质上是 chunk 设计把证据先破坏掉了。

11. 在 RAG 里,hard negative 到底该怎么构造,为什么它比随机负样本更有价值

random negative 太容易,训练出来的检索器只会区分“明显不相关”和“明显相关”,上线后遇到真正难的近邻样本就失效。hard negative 更接近真实业务中的干扰项,比如同领域、同实体、同模板、同章节但回答不了当前问题的文本块。构造方式可以来自 BM25 高分但人工判负的结果、cross-encoder 重排后的误召回样本、同文档相邻块、同类任务历史 bad case。hard negative 的价值不在于增加难度本身,而在于逼着模型学会更细粒度的判别边界。

12. ReAct 机制在生产环境里怎么设计,为什么不能只靠 prompt 写几句 Thought/Action

纯 prompt 版 R

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

AI-Agent面试实战专栏 文章被收录于专栏

本专栏聚焦 AI-Agent 面试高频考点,内容来自真实面试与项目实践。系统覆盖大模型基础、Prompt工程、RAG、Agent架构、工具调用、多Agent协作、记忆机制、评测、安全与部署优化等核心模块。以“原理+场景+实战”为主线,提供高频题解析、标准答题思路与工程落地方法,帮助你高效查漏补缺.

全部评论
这个agent讲的很详细
点赞 回复 分享
发布于 04-16 22:06 辽宁
可以的,问的挺好
点赞 回复 分享
发布于 04-16 18:45 北京

相关推荐

不愿透露姓名的神秘牛友
05-12 11:06
兄弟们,我可能下周就要分手了。但我现在还没分。我们俩上周末还约了去吃她最爱那家麻辣烫。然后我大概率会在某一天,找一个不太对的时机,说出那句话。我先把背景交代清楚,佬们帮我看看。我们大三在一起的,到现在两年零三个月。今年春招我冲进了字节,base&nbsp;北京,我读的某&nbsp;211&nbsp;末流,秋招挂得一塌糊涂,春招最后一波临门一脚才进去的,寝室那天给我开了瓶酒。她比较稳,去年寒假就开始准备公考,四月份压线进了面试,五月初公示,老家市直编制内,到手&nbsp;6k。三方是上周一签的。我自己一个人去的打印店。她周三签的,她爸妈一起陪她去的人社局,她朋友圈发了一张她爸跟她的合照,配文"以后能天天回家吃饭了"。那张图我看了大概十遍。签完那天晚上我们视频,我在公司加班,背景全是工位的灯,我啃着一个鸡蛋灌饼跟她汇报今天&nbsp;mentor&nbsp;怎么&nbsp;push&nbsp;我。她"嗯嗯"了二十分钟。挂了电话以后我盯着天花板看了很久。我突然意识到一件事:从签三方那天起,我们之间多了一个谁都没说出口的东西——不是异地,是节奏。我往后五年是&nbsp;KPI、OKR、晋升。她往后五年是科室、年度考核、社保公积金、相亲对象的家长(如果我们分了的话)。我们俩从今往后讨论的世界,已经不是同一个了。牛客有个老哥说"异地恋最怕的不是距离,是你发现你们俩聊天没东西可聊了"。我现在还没到那一步,但我能感觉到——我跟她说我被&nbsp;leader&nbsp;夸了,她除了"哇好棒"实在不知道还能说什么。她跟我说她们科里那个姐姐二胎了,我"嗯"了一下。我看了一周的"异地恋怎么撑过第一年"。也看了一周的"毕业季分手怎么不留遗憾"。两个标签的帖子我都点了赞。我也试着算过。北京到她家高铁五个小时,单程二等座&nbsp;553。我周五加班到十一点根本赶不上末班车,只能周六早上飞回去周日晚上飞回来,一趟来回&nbsp;2000&nbsp;多,我一个月顶多去两次。钱不是问题。问题是我很大概率没时间去。字节应届生的周末是被切到分钟的。两天里有一天还在改文档,剩下那天用来洗澡补眠看医生。飞回去这件事,听起来是体力问题,本质是"我每周剩下的那点产能能不能匀给她"——我现在的诚实答案是:基本匀不出来。但这些都不是最难的事。最难的是我没办法跟她说"你别考公了你来北京",因为她爸妈刚把家里那间小屋给她收拾出来当书房;我也没办法跟我妈说"我把字节退了回老家"——我爸去年失业了,这个&nbsp;offer&nbsp;是我们家三口人的指望。我们俩都太懂事了。懂事到不敢提任何会让对方为难的方案。但越懂事,越不知道怎么开口提分手。我现在每天通勤的地铁上都在打腹稿。我想过几个版本:-&nbsp;版本&nbsp;A:"我们都没错,只是路不一样了,散了吧。"——太冷了,她会哭。-&nbsp;版本&nbsp;B:"你先回家吧,半年后我们再看。"——骗她也骗我自己。半年后只会更难开口。-&nbsp;版本&nbsp;C:"对不起,是我不够爱你。"——谎话,但是最干净的谎话。我现在卡在&nbsp;A&nbsp;和&nbsp;B&nbsp;之间。所以我也没什么结论。我只是想问问已经毕业过、已经经历过这一关的佬们:你们当年是谁先开口的?如果重来一次,你会不会选"先试半年"这个看似温柔实则慢性折磨的方案?如果"懂事"是分手的最大障碍,那应该怎么破?下周我大概率会在周末,和她再吃一顿麻辣烫,出门走两步的时候说。为了防止熟人认出,还是匿了
牛客75339618...:分手拜拜就行了,你们双方都没有把对方考虑进去自己的后面计划,真正的考虑应该是她考一个二线城市的编制,你去二线城市的互联网,既然双方一开始都没有考虑对方(你对象考公考老家,你去北京也没考虑你对象能不能北京找到工作),那就分手完事了呗,这还有啥好说的,难不成异地恋拖着,你觉得可能吗
记录我的毕业季
点赞 评论 收藏
分享
评论
1
10
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务