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