大厂 Agent 面试|Agent 工具调用的幂等性是什么?不做幂等会踩哪些坑? 一、什么是幂等性面试标准定义幂等性同一请求无论执行一次还是多次对系统产生的最终影响完全一致不会产生副作用。 简单大白话可安全重试多跑几遍不会乱数据。二、为什么 Agent 特别需要幂等性传统接口重试可控但 Agent 是自主循环调用工具网络抖动触发自动重试模型误以为调用失败主动重复调用上下文截断导致重复执行上一步多轮循环、ReAct 机制天然容易产生重复请求如果工具不幂等重试 事故。三、Agent 中非幂等工具的致命坑线上真实问题1. 写操作类工具高危新增数据库记录、创建工单、发送短信、发送邮件、机器人消息。 ❌ 后果重复创建、消息轰炸、大量垃圾数据。2. 交易 / 业务类工具极危提交订单、发起退款、扣费、生成合同。 ❌ 后果重复扣款、重复下单、资金错乱直接线上事故。3. 文件 / 资源生成工具重复生成报表、重复导出文件。 ❌ 后果资源冗余、存储暴涨、任务混乱。四、Agent 工程如何实现幂等性面试满分四点1. 全局唯一幂等 Key核心方案每一次 Agent 工具调用生成唯一 requestId模型无论调用多少次ID 完全一致。 服务端根据 requestId 做去重已执行成功 → 直接返回旧结果不重复执行执行中 → 返回处理中避免并发重复失败 → 允许重试2. 区分「读工具」和「写工具」读工具查询、检索、计算天然幂等无需处理写工具新增、修改、发送必须强制幂等保护3. 结果缓存机制短时间内相同参数 相同工具调用直接返回缓存结果不再二次执行。适配高频查询类工具。4. Agent 层重试拦截上层兜底框架层限制相同参数连续调用超过 2 次直接拦截禁止重试避免模型无限重复调用写接口。五、面试满分总结幂等性是保证 Agent 工具重试安全的核心机制。读工具天然幂等写工具必须通过幂等 Key、结果缓存、框架拦截三重保障避免因模型重复调用、网络重试导致的重复写入、重复交易等线上问题。