阿里 AI Agent 开发 一面(附答题思路)

1. Agent 的架构设计?

一个完整的 Agent,一般不是单独一个大模型就能跑起来,核心会拆成几层。

  • 最上面是任务入口:负责接收用户问题和上下文;
  • 中间是决策层:负责意图识别、任务拆解、规划和工具选择;
  • 下面是执行层:真正去调工具、查知识库、访问服务;
  • 最后是记忆和状态层:维护多轮上下文、历史执行结果和中间变量。

如果做得再工程化一点,通常还会加一个校验层。因为模型规划出来的步骤不一定总是对的,工具参数也可能填错,所以在执行前后都要做检查,比如参数合法性校验、工具返回结构校验、结果一致性校验。

Agent 真正难的地方不是 “能不能想”,而是 “想完能不能稳定执行”。

2. RAG 的检索如何实现?

RAG 检索一般分成离线在线两部分:

  • 离线侧:先做文档清洗、切块、去重、embedding 计算和向量入库;
  • 在线侧:拿用户 query 编码成向量,去向量库做召回,再结合 BM25 或关键词检索做混合召回,接着用 rerank 模型重排,最后把最相关的证据拼接给大模型生成答案。

如果做得细一点,切块策略很重要

  • 块太大,召回不准;块太小,上下文又容易断裂。
  • 通常会用滑窗切分,保留部分 overlap;
  • 对于长文档,还会给每个 chunk 带上标题、章节路径、来源等元信息,方便召回时提升相关性。

最终效果不只是看向量检索本身,还取决于 chunk 设计、召回策略和重排质量。

# 一个简化版的 RAG 检索流程
query_vec = embed(query)
candidates = vector_db.search(query_vec)
bm25_docs = bm25.search(query)
merged = merge_and_dedup(candidates + bm25_docs)
reranked = reranker.rank(query, merged)
context = "\n".join([doc["text"] for doc in reranked[:top_k]])

3. 预训练数据清洗方法?

预训练数据清洗首先要解决脏数据、重复数据和低质量数据

  • 脏数据:包括乱码、HTML 残留、脚本片段、异常符号、错误编码;
  • 重复数据:包括完全重复和近重复;
  • 低质量数据:包括广告、无意义灌水、模板文、机器翻译残片、拼接错乱文本。

常见做法分三步:

  1. 规则清洗:比如去标签、过滤控制字符、长度约束、语言检测;
  2. 质量过滤:比如困惑度过滤、分类器识别垃圾文本、关键词规则;
  3. 去重:常用 MinHash、SimHash、LSH 这类近重复方法。

真正影响模型上限的,很多时候不是模型结构,而是预训练数据质量。

4. 给定一个时间序列,如何通过机器学习的方法建模筛选出重要特征,然后基于规则方法进行建模?

时间序列建模里,先要把原始序列变成可学习的特征,最常见的是:

  • 统计特征:均值、方差、最大最小值;
  • 趋势特征:移动平均、环比同比;
  • 波动特征:波动率、极值;
  • 周期特征:傅里叶周期特征;
  • 滞后特征:lag 值、rolling window 特征等。

然后可以用 XGBoost、LightGBM、随机森林这类模型训练,输出特征重要性,把模型识别出的关键因子整理成多条规则做线上解释。

这样做的好处是:既保留了机器学习筛特征的能力,也兼顾了规则系统的稳定和可解释。

5. Agent 工具调用你知道怎么训练吗,训练集应该包含哪些,怎么得到训练的数据集?

训练 Agent 的工具调用能力,训练集里至少要覆盖三类样本:

  • 该调用工具的
  • 不该调用工具的
  • 需要多工具串并联调用的

只教模型 “会调用” 是不够的,还得教它 “什么时候不要调”“参数怎么补齐”“失败后怎么处理”。

数据来源一般有四种:

  1. 人工标注轨迹:把问题、思考过程、工具选择、参数填写和结果整合成监督样本;
  2. 线上日志回放:把高质量人工操作或已有系统调用链抽出来;
  3. 规则合成数据:用模板生成标准调用样本;
  4. 模型自举:用强模型生成轨迹,再人工抽检修正。

真正关键的是负样本和边界样本,像参数缺失、工具返回空、多个工具都可用但优先级不同这些不补,模型上线很容易乱调。

6. 你构造数据集遇到过什么难点,怎么解决?

最大的问题一般不是数据不够,而是数据不真实

人工造的数据常常太标准,用户表达很完整,参数给得很全,工具永远成功,结果上线之后用户一句话没说全,模型就不会了。

解决方式:

  • 把真实线上 query 引进来,按意图、复杂度、缺参情况、歧义情况分桶,然后做针对性补齐;
  • 解决标注一致性问题:同一种问题不同人可能给出不同工具路径,所以需要先统一 schema 和决策标准;
  • 长尾样本太少:靠模板改写、对抗生成和人工补充边界案例,把最容易出事故的地方优先补上。

7. LoRA 和全参数微调的区别?

  • LoRA:在原始权重旁边插入低秩矩阵,只训练少量新增参数,原模型参数通常冻结。优势:显存占用小、训练快、方便多任务切换,适合领域适配、指令跟随、工具调用格式对齐这类场景。
  • 全参数微调:直接更新模型所有参数。优势:自由度更大,但代价也更高(显存、训练成本、部署成本都高)。

8. DPO、PPO、GRPO?

  • PPO:强化学习式对齐方法,通常需要一个 reward model 对模型输出打分,再根据奖励做策略更新。特点:灵活,但训练链路长,超参数敏感,稳定性相对差。
  • DPO:把偏好学习直接写成一个监督式目标,用 chosen 和 rejected 成对数据直接优化策略,不显式采样长期轨迹,也不显式训练 RL policy update,工程上更简单。
  • GRPO:可以看成是把偏好从 pair 扩展到 group,不再只比较一对答案,而是利用一组候选之间的相对优劣关系来做优化。特点:能更充分利用多候选信息,在排序、多样本比较和组内奖励场景里更自然。

三者最大的区别不只是公式,而是它们依赖的数据形态、训练稳定性和适用任务范围不一样。

#Agent面试会问什么?#
全部评论
看着问的还行啊
点赞 回复 分享
发布于 04-11 23:30 北京

相关推荐

在简历中体现你的AI能力:以RAG为例的实战指南简历中写AI项目,很多人会犯“堆砌技术栈”的错误,比如:“使用LangChain、FAISS、GPT实现RAG系统”这会让面试官疑惑:你究竟解决了什么问题? 以下是让RAG项目脱颖而出的写法。—————🔍 RAG解决的四大核心问题1. 知识时效性:解决“模型知识过时”• 问题:LLM训练数据有截止日期(如GPT-4到2023年4月),无法获取新知识• RAG方案:实时检索外部知识库,注入最新信息• 案例:回答“今天天气”、“最新财报”、“实时股价”2. 知识准确性:解决“模型幻觉”• 问题:LLM会自信地编造事实(“奥巴马生于肯尼亚”)• RAG方案:基于可验证的文档生成,提供引用来源• 效果:幻觉率降低40-60%,答案可追溯3. 知识专有性:解决“私有数据缺失”• 问题:LLM没有企业私有知识(内部文档、代码库、客户数据)• RAG方案:建立私有知识向量库,实现个性化问答• 应用:企业知识库、技术支持、代码文档查询4. 上下文限制:解决“长文本处理瓶颈”• 问题:模型上下文窗口有限(即使128K,也难记住海量信息)• RAG方案:从海量文档中检索相关片段,只输入关键信息• 优势:理论上支持无限知识库,成本可控------📄 简历写法对比❌ 传统写法(模糊)智能问答系统• 使用LangChain框架构建RAG系统• 基于FAISS实现向量检索• 调用GPT-4进行答案生成✅ 进阶写法(量化+难点)企业知识库AI助手(日活5000+,准确率92%)• 从0到1构建多模态RAG系统,支持PDF/PPT/Excel文档解析,检索准确率提升35%• 针对行业术语,采用HyDE + Query Rewriting方案,解决60%的“检索不相关”问题• 设计Agentic RAG架构,让LLM自主判断“是否需要检索”,无效查询降低40%• 引入Rerank模型对Top-20结果重排序,首条命中率从45%提升至78%技术细节:LangChain(编排)| Chroma(向量库)| BGE-M3(嵌入模型)| bge-reranker-v2-m3(重排序)| GPT-4(生成)| 成本:$0.12/query------🎯 面试官想看到的3个层次1. 基础能力:你懂RAG流程• 解析文档 → 分块 → 向量化 → 检索 → 重排序 → 生成• 加分项:能说出不同分块策略(语义分块、递归分块)的适用场景2. 进阶能力:你解决过真实问题常见问题解决方案可量化结果检索不相关Query Rewriting + HyDE准确率↑30%长文档丢失信息父文档检索 + 摘要嵌入召回率↑25%上下文过长滑动窗口 + 渐进加载Token成本↓40%事实性错误Self-RAG + 引用校验幻觉率↓50%3. 架构思维:你有工程化视角• 成本控制:RAG调用次数 vs. 直接问LLM的平衡点• 缓存策略:对热点Query缓存嵌入结果• 监控体系:准确率、Token使用、延迟的Dashboard------📈 如何量化你的贡献?用“问题→方案→结果”的公式:“发现检索不相关问题(问题)→ 引入BGE重排序模型+Query扩展(方案)→ 首条命中率从50%提升至85%(结果)”可量化的维度:• 性能:准确率/召回率、响应时间、Token消耗• 业务:用户满意度、日活增长、问题解决率• 成本:月度API费用、计算资源节省------🏆 高级进阶:Agentic RAG如果你做过更前沿的,可以突出:自主检索Agent系统• 改造传统RAG为Agent决策模式,让LLM判断“何时检索”、“检索什么”• 基于ReAct框架设计“检索→分析→决策”链,复杂问题解决率提升60%• 实现多轮追问能力,通过历史会话自动优化检索策略------📌 一句话总结“不要告诉面试官你用了什么工具,而是告诉他们你解决了什么问题,以及如何证明你解决得好。”在简历中,每个技术点的背后,都应该对应一个具体的业务问题、一个可量化的改进。这就是你的AI能力最有力的证明。
简历上如何体现你的“AI...
点赞 评论 收藏
分享
评论
1
10
分享

创作者周榜

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