百度 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协作、记忆机制、评测、安全与部署优化等核心模块。以“原理+场景+实战”为主线,提供高频题解析、标准答题思路与工程落地方法,帮助你高效查漏补缺.

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

相关推荐

03-30 16:50
门头沟学院 Java
攒人品中,祝大家都能拿到满意的Offer!1. 项目拷打2. Spring AI 框架的主要优势是什么?3. 如何设计多模型支持架构?4. 多租户环境下模型切换是否支持热更新?切换是否相互独立?5. Agent 的记忆、工具调用、知识库检索等关键组件是如何实现的?6. 系统中的 Agent 包含哪些具体状态?7. 后端 Agent 是否支持多租户同时调用?8. Session 和 User ID 是如何绑定的?9. Agent 工具调用的完整业务流程是怎样的?10. 长期记忆和短期记忆在设计上有什么区别?本质上有什么区别?11. SSE 在前后端是如何交互的?12. 后端以什么数据格式推送流式信息?13. Agent 发生“工具调用”时,SSE 推送的事件结构中通常包含哪些字段?14. MCP的交互流程是怎样的?15. Agent 如何与 MCP Server 连接通信?16. RAG 的主要模式和主要工作流程是怎样的?17. Agent 一般在什么阶段去查询向量知识库?通过什么方式去查询?18. 查询知识库的工具函数,其标准输入和输出是什么?19. Go 语言的 GMP 调度模型是怎样的?20. GMP 模型中的 Machine (M) 代表什么?21. Processor (P) 上的本地队列长度通常是多少?22. 系统如何实现图像识别等多模态功能?23. 为什么不直接使用多模态大模型?24. 在没有前端界面的情况下,本地图片是如何传到后端并进行识别的?25. 对其他主流 AI 框架有了解吗?26. 你最熟悉的主力编程语言是什么?27. 手撕 :两两交换链表中的节点
查看26道真题和解析
点赞 评论 收藏
分享
评论
4
21
分享

创作者周榜

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