Administrator
发布于 2026-10-12 / 0 阅读
0
0

Agent面试题 AGT-041—AGT-050:状态与检查点

750题总目录 · Agent模块目录

本篇 10 题|覆盖初级到高级|状态与检查点。先用自己的话回答,再核对参考要点,最后练习工程追问。

Agent知识导图:150题,15个专题
Agent知识导图:150题,15个专题;点击图片查看大图。

本篇目录

  1. AGT-041 Agent 状态应该保存什么?
  2. AGT-042 会话历史能代替任务状态吗?
  3. AGT-043 检查点与数据库事务有什么区别?
  4. AGT-044 什么时候写检查点?
  5. AGT-045 恢复任务时为什么要重新检查权限?
  6. AGT-046 如何防止同一任务被两个 worker 执行?
  7. AGT-047 状态 Schema 升级怎么办?
  8. AGT-048 怎样处理过大的工具结果?
  9. AGT-049 任务状态如何支持审计?
  10. AGT-050 如何设计任务取消?

AGT-041 Agent 状态应该保存什么?

难度:中级

参考答案:保存目标、约束、任务进度、工具结果引用、版本和预算等必要信息。原始大文件可外置存储,状态中保留受控引用,避免检查点无限膨胀。

工程追问:哪些字段不应长期保存?

AGT-042 会话历史能代替任务状态吗?

难度:中级

参考答案:不能完全代替。自然语言历史难以保证结构、版本和原子更新;关键执行状态应结构化持久化,对话历史作为辅助上下文而非唯一事实源。

工程追问:如何判断某个动作已经完成?

AGT-043 检查点与数据库事务有什么区别?

难度:中级

参考答案:检查点记录编排进度,数据库事务保证特定存储操作的原子性。检查点通常不能覆盖外部系统副作用,需要幂等键或补偿机制协调。

工程追问:检查点成功但外部操作失败怎么办?

AGT-044 什么时候写检查点?

难度:中级

参考答案:在重要状态转移、外部动作前后和等待用户输入时持久化。频率要平衡恢复粒度与开销,并明确崩溃后哪些步骤可能重复执行。

工程追问:每个 token 都持久化有必要吗?

AGT-045 恢复任务时为什么要重新检查权限?

难度:高级

参考答案:任务等待期间用户权限、资源状态或政策可能变化。旧检查点只能说明过去计划,不能替代当前授权,恢复后应重新验证高影响动作条件。

工程追问:审批一周前通过还能执行吗?

AGT-046 如何防止同一任务被两个 worker 执行?

难度:中级

参考答案:使用租约、状态版本比较或数据库锁控制所有权,并处理租约过期。外部动作仍需幂等,避免旧 worker 恢复后继续写入。

工程追问:为什么只加进程内锁不够?

AGT-047 状态 Schema 升级怎么办?

难度:中级

参考答案:记录 Schema 版本,提供显式迁移与兼容读取,并对旧检查点做恢复测试。无法安全迁移时停止并说明原因,不能猜测缺失字段含义。

工程追问:默认值会不会改变旧任务语义?

AGT-048 怎样处理过大的工具结果?

难度:中级

参考答案:将结果存入具备权限和生命周期管理的对象存储,状态保存摘要与引用。后续按需读取,并验证引用未过期及调用者仍有权限。

工程追问:恢复时原文件已删除怎么办?

AGT-049 任务状态如何支持审计?

难度:中级

参考答案:记录谁发起、何时决策、调用哪个工具、审批依据和最终结果,使用关联 ID 串联事件。审计内容最小化并脱敏,避免变成敏感数据副本。

工程追问:怎样证明记录没有被静默篡改?

AGT-050 如何设计任务取消?

难度:中级

参考答案:取消信号应传播到排队和执行阶段,在安全边界停止新动作。已提交的外部操作不一定可撤销,需要查询真实状态并报告已完成部分。

工程追问:取消与工具成功同时发生怎么办?

复盘练习

任选一题,用“场景与约束 → 方案 → 验证方法 → 失败边界”组织一段回答。初级先讲清概念,中级补实现与测试,高级补成本、权限和故障取舍。难度标签是学习建议,同一题可继续深入。

延伸阅读

以下为本模块相关原始论文与官方文档,用于继续学习;本文为原创面试要点整理,具体框架行为以所用版本为准。

继续学习

上一篇:图与控制流 · 下一篇:记忆与个性化 · 返回Agent目录


评论