前端进阶之旅前端进阶之旅
  • 基础篇HTML/CSS/JS 打底
  • 进阶篇原理与工程化
  • 高频篇面试最常问的那批
  • 精选篇按模块收敛的总结
  • 手写篇常考代码手写实现
  • 面经篇真实面试问题复盘
  • AI 篇NEWAI 时代的前端考点
  • 历年面经NEW按年份追踪真实考点
  • 每日一题每天一道,攒手感
  • 专项自测100 题快速查漏
  • 小程序题库小程序专项刷题
  • 算法题库NEW在线编码即时判题
  • 知识卡片NEW碎片时间过考点
  • 面试题大全常见问题解析
  • AI 答疑NEW随时提问,即时解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • AI 定制路线NEW按你的简历现排
  • AI 知识地图NEW串起全站知识点
  • 原理篇React / Vue 源码拆解
  • HTTP从报文一路讲到 HTTPS
  • 浏览器渲染、事件循环、进程
  • 计算机基础Linux、网络、操作系统
  • 设计模式23 种模式怎么用
  • Node学习指南从环境搭建到服务端
  • NPM工作流script、依赖与发布
  • Docker容器化部署上手
  • Canvas图形与动画实战
  • 前端系统进阶学习大型项目工程化
  • 前端综合文章长期沉淀的实践文
  • 思维导图知识点全景图
  • 学习路线按图索骥不跑偏
  • AI 热点NEWAI 每日动态
  • 公众号动态公众号历史文章
  • 博客动态站长的技术博客
  • 开发者导航常用工具与文档站
  • 基础篇HTML/CSS/JS 打底
  • 进阶篇原理与工程化
  • 高频篇面试最常问的那批
  • 精选篇按模块收敛的总结
  • 手写篇常考代码手写实现
  • 面经篇真实面试问题复盘
  • AI 篇NEWAI 时代的前端考点
  • 历年面经NEW按年份追踪真实考点
  • 每日一题每天一道,攒手感
  • 专项自测100 题快速查漏
  • 小程序题库小程序专项刷题
  • 算法题库NEW在线编码即时判题
  • 知识卡片NEW碎片时间过考点
  • 面试题大全常见问题解析
  • AI 答疑NEW随时提问,即时解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • AI 定制路线NEW按你的简历现排
  • AI 知识地图NEW串起全站知识点
  • 原理篇React / Vue 源码拆解
  • HTTP从报文一路讲到 HTTPS
  • 浏览器渲染、事件循环、进程
  • 计算机基础Linux、网络、操作系统
  • 设计模式23 种模式怎么用
  • Node学习指南从环境搭建到服务端
  • NPM工作流script、依赖与发布
  • Docker容器化部署上手
  • Canvas图形与动画实战
  • 前端系统进阶学习大型项目工程化
  • 前端综合文章长期沉淀的实践文
  • 思维导图知识点全景图
  • 学习路线按图索骥不跑偏
  • AI 热点NEWAI 每日动态
  • 公众号动态公众号历史文章
  • 博客动态站长的技术博客
  • 开发者导航常用工具与文档站
首页程序员面试题库AI Agent 观察思考行动循环
AIAI AgentAgent 架构

Agent 的「观察—思考—行动」循环每一轮具体交换哪些信息?

每轮循环把目标、当前状态和新观察交给模型,再由宿主处理模型提出的工具调用或最终回复。内部推理并不是必须对外传递的协议字段。

前端进阶之旅 · 一题精讲更新于 2026.09.05
AI Agent#Agent 架构#工具调用#安全
先看核心答案
理解线索

循环信息流核心

  1. 观察用户目标、工具结果与当前任务状态
  2. 决策基于上下文选择行动或给出最终回复
  3. 执行宿主检查参数与权限后调用工具

ReAct 可用文字展示推理与行动交替;通用 Agent 协议并不要求输出或保存完整内部思维链。

核心回答

先记住这个答案

Agent 循环交换的主要信息是模型输入的任务上下文、模型提出的行动请求,以及宿主执行行动后返回的观察结果。输入通常包含用户目标、工具定义、相关历史和当前任务状态;输出可以是工具名称与参数,也可以是最终回复。宿主先校验行动权限和参数,再执行工具,把成功、失败或部分结果反馈给下一轮。历史可以摘要、检索或压缩,不要求每次重放全部内容;模型的内部推理也不一定公开返回。

  • 模型提出行动,宿主校验并执行
  • 上下文保留关键状态,不必堆入全部历史
  • 工具返回值与停止条件共同驱动循环

循环中的信息交换内容

工具执行结果通常通过关联到对应调用的消息返回,包含结果数据、错误状态和必要的来源信息。宿主还可以维护模型消息之外的任务状态,例如已完成步骤、待确认操作和文件版本。下一次调用只需要重新组织与当前决策有关的内容,不能把“有记忆”简单理解为永远追加所有原始消息。

模型产生工具调用并不代表工具已经执行。应用需要解析请求、验证参数、检查授权,并把实际执行结果返回。经典 ReAct 提示可以显式展示 Thought 与 Action,但使用结构化工具调用的系统不必公开内部推理;审计应重点记录行动、依据摘要、权限判定和可验证结果。

代码修复中的四次状态更新

假设一个代码修复 Agent 已获得指定仓库的读取和修改权限。它先运行目标测试,工具返回失败用例与错误堆栈;随后读取相关源码与测试,补齐仅凭堆栈无法确定的上下文。宿主记录测试命令、退出状态和涉及的文件,避免模型把没有运行的检查当作成功。

读取源码后,模型提出具体修改,宿主应用补丁并返回变更结果;下一轮重新运行相关测试。测试仍失败时,模型依据新的输出决定继续定位或回退方案;测试通过也只证明这些用例通过,不能直接推导为整个系统没有回归。最终回复应说明改动和实际检查范围。

循环中信息交换的失效边界

一个脆弱点是观察返回内容格式不统一或过大,超出模型上下文窗口。若工具结果有数万字符,直接拼入会导致截断或关键信息丢失,破坏推理。通常在追加前需要摘要、过滤或分块,但摘要本身可能丢失关键细节。处理时可让工具返回结构化摘要或分级信息。

另一个风险是行动请求未被正确执行而Agent仍继续。比如工具调用格式错误或非预期异常,但系统返回简单错误而不是结构化状态,模型可能重复相同行动。应提供清晰错误信息与可用动作,并限制重试次数,超过则终止循环寻求人工干预。

回答前,多想一步

容易答错的地方

观察只包含用户最新消息
观察不只是用户最新的一句话,还包括工具结果和任务状态。另一方面,模型上下文也不必包含全部历史:系统可以压缩旧消息、检索相关记录或保留结构化检查点,前提是没有丢失当前决策需要的目标、约束和关键证据。
思考直接作为行动执行
模型内部推理或一段描述行动的普通文本不会自动改变外部环境。宿主应只执行协议中明确的工具调用,并对参数、身份和权限做检查。工具返回“成功”也需要与实际效果相符,不能把模型自述当作执行证据。
试着用自己的话回答

面试官还会怎么问?

如何将工具结果高效地作为观察返回?

保留工具调用标识、成功或失败状态、关键结果及必要来源;大结果可以分页或另存,再返回可继续读取的位置。摘要和截断应说明省略范围,防止模型把局部结果当作全量数据。实际可传递的字段与消息格式取决于所用 API。

Agent必须每轮都调用工具吗?

不必。模型可以在已有证据足够时输出最终回复,也可能请求用户补充信息。宿主还应处理工具失败、重复无进展、超出轮数或预算等终止条件;不能只用“没有工具调用”来推断任务已经成功完成。

循环中是否交换置信度或中间决策依据?

可以记录面向审计的简短决策说明、所依据的工具结果和不确定性,但不应把完整内部思维链当作必需字段。有些模型不公开内部推理。模型自报的置信度也不是可靠概率,需要通过独立评测校准后才能用于自动决策阈值。

从一道题,走向一组知识

把知识连起来

Agent 架构

如何判定一个 AI 任务该用固定工作流还是自主 Agent?

先区分由代码编排的工作流与模型动态决策,才能判断循环中的控制权属于谁。

Agent 架构

Agent 自主性越高为什么越需要监督机制?

循环能够持续采取行动后,工具执行前的权限检查和中途停止机制决定了运行边界。

参考资料

  • Building effective agents

示例用于理解所注明的运行环境与边界;延伸学习可结合原文中的更多案例。

本题目录
  1. 先记住这个答案
  2. 循环中的信息交换内容
  3. 代码修复中的四次状态更新
  4. 循环中信息交换的失效边界
  5. 容易答错的地方
  6. 面试官还会怎么问
  7. 把知识连起来
读懂,再试着讲出来

先看核心答案,再读代码。最后展开追问,检查自己有没有遗漏边界。

试着回答追问
浏览全部面试题理解原理,也关注真实的使用场景。回到顶部 ↑