百度 AI Agent 开发 一面

1、自我介绍

2、我看你实习做过差旅报销 Agent 项目,简单介绍下

3、这个差旅报销 Agent 是单 Agent 还是多 Agent

整体上更接近单 Agent + 多工具协同。系统只有一个主控 Agent,负责理解用户当前诉求、决定调用哪些工具、根据工具结果继续推进流程。OCR、分类、抽取、规则校验这些模块虽然很多,但本质上都是工具,不是独立自治的 Agent,所以不能严格算多 Agent 系统。

如果要说架构特点,就是由一个 Agent 负责统筹任务,把工具能力串起来,完成一个完整报销闭环。

4、你在这个项目里主要负责哪部分

主要负责的是任务理解、工具路由、Prompt 设计、流程编排和结果后处理。具体来说,一方面要把用户输入识别成明确任务,比如提交报销、补充材料、查询进度、修正信息;另一方面要把 OCR、分类、字段抽取、规则校验这些模块串起来,保证输入输出格式统一,结果能真正落到业务系统里。

另外也做了一部分上下文管理和异常分支处理,比如票据识别置信度低、材料冲突、字段缺失、重复票据这类情况,不能只依赖模型生成,要在流程上做显式控制。

5、这个项目的输入输出分别是什么

输入主要有两类,一类是用户自然语言输入,比如“帮我报销这次上海出差”;另一类是附件输入,比如发票照片、火车票截图、机票行程单、酒店订单 PDF。系统接收后,先做任务识别,再对附件内容进行 OCR 识别和材料分类,把图片文本转成结构化字段,例如金额、日期、票据类型、出发地、目的地、乘车人、开票单位等。

输出也有两类,一类是结构化结果,比如报销单字段、附件解析结果、校验状态;另一类是面向用户的自然语言反馈,比如缺哪些材料、哪些字段有冲突、哪些票据识别失败、是否已经满足提交流程。

6、这个 Agent 里面用了哪些工具,怎么调度的

主要用了 OCR 工具、票据分类工具、字段抽取工具、规则校验工具和业务系统接口工具。OCR 工具负责把图片或 PDF 中的文本识别出来;分类工具负责先判断当前材料是什么类型;字段抽取工具从 OCR 结果里提取金额、日期、行程信息等关键字段;规则校验工具根据企业差旅制度判断是否合规;最后通过接口工具把结构化结果写入报销系统,或者返回给前端展示。

调度方式是程序控制主流程 + 大模型辅助决策。固定链路一般是:

用户输入 -> 任务识别 -> 附件解析 -> OCR -> 材料分类 -> 字段抽取 -> 规则校验 -> 结果汇总

比较强约束的部分用代码显式控制,比如调用顺序、字段校验、状态推进;语义理解和异常说明部分交给模型。

7、OCR 识别能力是自己做的还是接入现成服务

OCR 这块通常优先接入现成能力,比如云厂商 OCR 或者公司内部已有识别平台,因为票据识别本身已经比较成熟,直接复用效率更高,落地也更稳。项目里真正需要自己做的,更多是 OCR 之后的后处理,比如文本清洗、字段定位、关键词匹配、格式纠错、置信度筛选,而不是从零训练整套 OCR 模型。

8、票据分类工具是做什么的,怎么来的

票据分类工具的作用是判断当前上传材料属于哪一类,因为不同材料对应不同抽取逻辑和校验规则。比如机票和酒店发票都属于报销材料,但关注的字段完全不一样。如果分类错了,后面字段抽取基本也会跟着错。

来源上一般有三种方式:规则、模型、规则和模型结合。规则适合明显类别,比如出现“发票号码”“税额”“开票日期”等关键词;模型适合处理复杂样本和模糊场景;规则和模型结合是最常见的工程方案,兼顾准确率和稳定性。

9、分类模型是自己训练的吗

一般不会完全从零开始训练,而是在现成预训练模型或者已有分类模型基础上做微调。原因是底层特征抽取能力已经有了,业务里真正缺的是对具体票据类别的适配。用业务数据做微调,效率更高,也更符合实际落地场景。

如果输入主要是 OCR 后的文本,就可以做文本分类;如果票据版式差异明显,也可以结合版面信息或视觉特征一起做。

10、训练数据规模大概是多少

预训练通常不是项目里自己做的,更多是直接用公开预训练模型或者公司已有底座模型。真正可控的是微调数据。如果是票据分类这种任务,微调数据规模通常在几千到几万之间,核心是要覆盖常见票据类型、不同拍摄质量、遮挡模糊、边界样本和错误样本。

如果业务类型不多,几千条高质量数据就能做出不错效果;如果材料种类复杂、噪声大、类别分布不均衡,样本量还需要继续补。

11、这个 Agent 的整体架构是什么

整体可以分成四层:输入层、理解编排层、工具执行层、结果输出层。输入层负责接收用户问题和附件;理解编排层负责识别任务、维护上下文、决定工具调用链路;工具执行层负责 OCR、分类、字段抽取、规则校验和业务系统写入;结果输出层负责把执行结果整理成结构化数据和用户可读反馈。

整个系统不是让模型全权控制,而是模型负责语义理解和生成,程序负责流程和状态,工具负责提供确定性能力。这样稳定性会更高。

12、你们用的是哪个大模型,怎么调试

大模型选型一般更看能力维度,而不是只看名字。比较关注的点包括中文理解、工具调用能力、结构化输出能力、多轮对话稳定性和成本。调试主要分三个层面。第一层是 Prompt 调试,看模型是否能稳定识别任务、遵守输出格式;第二层是工具链调试,看每个模块输入输出是否规范、是否容易出错;第三层是线上样本回放,看真实用户数据下有没有误路由、乱补字段、漏掉异常情况等问题。

一般会把失败样本沉淀下来,做回归测试,修改 Prompt 或流程后重新验证。

13、这个 Agent 是流式返回的吗

前端展示层面一般会支持流式返回,这样用户体验更好,比如可以先告诉用户“正在识别附件”“正在校验报销规则”。但从任务执行层面来说,很多步骤是分阶段完成的,比如 OCR、分类、抽取、校验这些都需要先拿到结果再进行下一

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

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

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

全部评论
看着要问不少啊,涉及的面挺多的
点赞 回复 分享
发布于 昨天 22:05 陕西

相关推荐

03-12 15:47
吉林大学 Java
1. 自我介绍2. 介绍一下你的项目具体是干什么的?为什么要制作这样一个项目?这个项目的运作流程大概是怎么样的?3.你的项目中用到了大模型工作流,那你这个工作流具体是怎么样的,他如何工作?4. 我看你这个工作流里面还有向量数据库,为什么要用他?5. 你有考虑过限流吗?你说了大模型的计算资源很宝贵,那你如何确保这个服务在高并发下正常工作?6. 你说你有防范无效请求的攻击,那么假如说现在是高并发的合法请求,有大量用户需要调用大模型服务,你的系统怎么处理?(没有想出什么好的解决方案,没回答好😭)7. 我看你这里登录功能有说到密码加密,你所用的加密算法是什么?(鼠鼠回答是加盐算法)那你清楚这个算法的工作原理吗(鼠鼠答不上来,忘记复习了😭)?8. 那我们聊聊jwt,你说你用了jwt,那jwt是干什么的?你如何使用的?9. jwt具体有哪几个组成部分,你知道吗?除了你提到的payload(鼠鼠也没记全,答上来一部分😵)。10. 我看你提到了消息队列中,你知道rabbitmq和kafka,那他们有什么异同呢?11. 微服务架构和单机架构有什么区别?我们如何从中做技术选型?算法题(LeetCode上hard原题),鼠鼠极限手撕出来了,差点超时结束😥反问环节总的来说面试官人很好,作为鼠鼠第一次面试大厂体验不错,面试官还特地让我放轻松些☺️
查看11道真题和解析
点赞 评论 收藏
分享
评论
1
6
分享

创作者周榜

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