Agent开发面试最容易被问挂的3个问题后续

1、工具调用失败或 LLM 幻觉,怎么办?
"我会把这个问题拆成两个子问题,因为工具失败和 LLM 幻觉是完全不同的故障模式,解法不能混用。
工具失败有明确信号——异常、超时、错误码——我的处理是三层:先用指数退避重试,重试前让 LLM 反思上次参数哪里出了问题,相当于让模型自我纠错;重试耗尽后降级到备用逻辑,比如换一个工具或走规则引擎;如果涉及写操作,每次执行前必须记 Checkpoint,失败后能回滚到上一个干净状态,且写操作要做幂等,防止重放。
LLM 幻觉更难检测,因为没有报错。我的做法是:对关键推理结果做 Self-consistency 验证,同一问题采样三次,少数服从多数;对外部事实型问题,用第二个模型做交叉 Fact-check;对于高风险操作,强制加 Human-in-the-loop 确认节点,不管模型多确定都要过人工。
生产上我会为每个 Agent 实例暴露健康度指标:工具失败率、幻觉拦截率、平均重试次数,超阈值自动熔断并告警。这样从 demo 到上线,容错体系才是完整的。"

2、Agent 的 Memory 怎么设计?
"我把 Agent Memory 设计成三层,对应人类记忆的三种形式。
第一层是 Working Memory,就是当前 LLM 的 Context Window,存当前任务的执行状态和工具调用历史。它的核心问题是容量管理——超出 window 时我不会直接截断,而是对老的消息做摘要压缩,保留语义但压缩 token。
第二层是 Episodic Memory,存历史任务轨迹和用户偏好,用向量数据库按相似度检索。写入是任务结束后异步进行,不阻塞主链路。这层需要遗忘机制——我用一个重要性评分:访问频率乘以时效性衰减再乘以任务相关度,低分记录定期压缩,避免向量库无限膨胀。
第三层是 Semantic Memory,存领域知识。这里有一个选型决策点:非结构化知识用向量检索,强结构化的多跳实体关系用 Knowledge Graph——向量库做多跳关系推理效率很差,这是实际踩过的坑。
多 Agent 场景还要解决共享 Memory 的一致性问题:写操作加版本号做乐观锁,读操作做版本校验,防止多个 Agent 并发写入产生脏数据。"
全部评论

相关推荐

05-04 18:03
天津大学 Java
被狠狠拷打了上来先问agent项目和传统后端项目八股redis集群部署节点怎么key怎么定位到节点双副本及单副本节点挂了之后的访问情况HashMap底层数据结构如何扩容那在哈希表里面,它的节点是有序的。如果你遍历的时候,它是有序遍历还是随机遍历?那它排序的规则是什么规则?怎么计算桶位?如果是自定义的对象呢?创建线程的话,有几种方式?做线程间数据同步的话,在 Java 里面该怎么做?那如果加锁的话,有哪些方式在实现上?用 synchronized 进行了一个加锁,那你的方法里面,临界区里面它抛出了 OOM 的错误,或者抛出了一个异常,这种情况下它的锁会自动释放,还是说需要手动处理?首先这个 OOM 它是个什么东?这个是个什么东西?是一个异常吗?那这种错误我们可以捕捉自己处理吗?人工处理。这个它你可以自己捕捉它,让它不退出吗?对一个JVM,就对于一个 Java 进程来说,对吧?它的退出条件是什么?那慢方法,他在慢方法里面创建了一堆线程去干活了,这个时候他慢方法依然会return,他这时候才会退出。还是说你需要慢方法阻塞?创建的那个 THREAD 对象,你刚才查的那个 THREAD 对象,这种 THREAD 对象,它其实是在 Java 这边是属于虚定位,是虚拟线程,这个虚拟线程和操作系统的线程,它们之间的对应关系是怎样的?是一对一的还是一对多的?还是多对多的?线程崩掉之后,是整个进程就退出了吗?还是。还是说他会由他的副线程捕获去做一个异常处理?那在操作系统进行任务调度的时候他操作系统要做什么工作,你了解吗?调度的时候他要做切换的话,他要完成哪些工作?如果说他已经确定要进行一个他的任务的切换。他操作系统需要做哪些工作才能完成他的切换?他的上下文主要包括哪些内容?为什么要用虚拟内存?手撕 判断B树是不是A树的子树总结:感觉问的很深入偏基础,这个手动捕获OOM以及程序的退出条件这完全没看过
查看23道真题和解析
点赞 评论 收藏
分享
04-24 16:15
门头沟学院 Java
整体面试还是不错的,但是没后续了,不知道是哪里出了问题1.实习拷打2.拷打第一个项目:项目里如何解决图文模态对齐问题?如果图纸在文本中没有描述,模型如何通过视觉特征召回?Milvus中使用了哪种索引算法?针对术语的语义偏移,除了混合检索,有没有试过对Embedding模型进行微调或使用Adapter?3.拷打第二个项目:如果外部测评工具返回的原始数据格式与LLM预期不符,如何实现自动化映射?当向量库检索出的长期画像与当前会话状态有冲突时,你的系统如何应对?如何防止模型回复过度依赖检索内容而变得生硬,影响共情?4.相比于CoT,ReAct在模型与外部环境交互时解决了什么问题?5.讲一下大模型进行Function Call的具体流程?如何将语义转化为结构化参数的?6.在开发中,你怎么判断任务该用Workflow还是自主决策的Agent?7.讲一下Agent的长短期记忆,在长对话中如何实现上下文的动态压缩和遗忘?8.在Agent系统中,RAG检索到的外部知识是如何喂给模型并防止干扰的?9.什么是Rerank?在检索链路中它对Agent的决策准确性有什么影响?10.当单Agent面对长任务时,引入Multi Agent的优势是什么?11.Multi Agent中,Router节点是如何决定任务该分发给哪个子Agent的?12.什么是Human-in-the-loop?在Agent系统中如何设计人工审批断点?13.如何量化评估一个Agent系统的好坏?14.除了生成质量,还应该关注哪些维度的指标?15.对于Agent多步推理带来的延迟问题,有哪些优化方法?16.随着大模型上下文窗口的扩大,你认为RAG会被完全取代吗?
查看21道真题和解析
点赞 评论 收藏
分享
评论
点赞
4
分享

创作者周榜

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