跳到正文

Agent 四大基础能力详解

感知、规划、记忆、工具调用等核心能力的作用与重要性

原题:从系统设计角度出发,你认为智能Agent应具备哪些底层基础能力(如感知、规划、记忆、工具调用等)?请列举并解释每一项能力的作用及其在复杂任务执行中的重要性。

Prompt工程 · 美团真题

30 秒回答

  1. 能系统性地拆解Agent核心模块(感知、规划、记忆、工具、执行)
  2. 能解释各模块在复杂任务中的协同关系
  3. 能结合具体场景说明设计权衡(如记忆的长短、规划的深度)
  4. 体现对ReAct、CoT等范式的理解

回答与解析

答案要点

  • 能系统性地拆解Agent核心模块(感知、规划、记忆、工具、执行)
  • 能解释各模块在复杂任务中的协同关系
  • 能结合具体场景说明设计权衡(如记忆的长短、规划的深度)
  • 体现对ReAct、CoT等范式的理解

智能Agent的底层能力可拆解为五个核心模块,形成感知→规划→执行→记忆→反思的闭环:

1. 感知(Perception)

  • 作用:接收多模态输入(文本、图像、API返回、环境状态),转化为结构化信息
  • 重要性:决策质量的"天花板",感知偏差会导致后续全链错误。复杂任务中需支持多轮信息补全(如主动追问澄清)

2. 规划(Planning)

  • 作用:将目标拆解为可执行的子任务序列,选择策略(CoT、ToT、ReAct)
  • 重要性:复杂任务的"导航仪"。关键设计:
    • 动态重规划:环境变化时回溯调整
    • 分层规划:高层抽象策略 + 低层具体动作

3. 记忆(Memory)

  • 作用:存储上下文信息,分三类:
    • 工作记忆:当前对话/任务窗口
    • 短期记忆:会话级上下文(如RAG检索的片段)
    • 长期记忆:用户画像、历史经验(需向量库存储)
  • 重要性:支撑个性化和持续学习,避免"金鱼式"交互

4. 工具调用(Tool Use)

  • 作用:通过Function Calling与外部系统交互(搜索、计算、数据库、API)
  • 重要性:突破模型参数知识的边界,实现行动落地。需设计:
    • 工具描述的标准化(OpenAI格式)
    • 错误处理与重试机制

5. 执行与反思(Execution & Reflection)

  • 作用:执行动作、观测结果、评估进度、自我修正
  • 重要性:形成闭环学习。ReAct范式将"推理"和"行动"交织,失败时触发反思(如"我之前的假设有误,因为...")

协同示例:订机票场景

感知提取"北京→上海,明天" → 规划拆解查航班/比价/下单 → 记忆调取用户偏好(东航金卡)→ 工具调用航旅API → 反思确认出票成功,否则回退重试

口语版讲法(约4分钟)

  • 一句话定位:本质是设计一个能闭环完成复杂任务的系统
  • 感知与规划:感知是天花板,规划要动态重规划
  • 记忆与工具:记忆分三层,工具调用是行动落地关键
  • 执行与反思:ReAct闭环,自我修正
  • 业务场景:订单退款异常处理,风险和取舍

这道题其实是在问,如果我们想让一个系统自主完成复杂任务,它需要具备哪些底层能力,以及这些能力怎么协同工作。我的理解是,可以拆成五个模块,形成一个从感知到反思的闭环。

先说感知,它是决策的天花板。如果感知错了,后面全错。比如用户说“给我退钱”,但没说哪个订单,系统就得主动追问或从上下文推断。规划呢,更像导航仪,把目标拆成子任务。但环境会变,所以规划必须支持动态重规划。比如用户中途改主意,系统要能回溯调整。这里我倾向用 ReAct 范式,把推理和行动交织起来,而不是先规划再执行。

再一个就是记忆。记忆分三层:工作记忆就是当前窗口,短期记忆存会话上下文,长期记忆存用户画像和历史偏好。比如用户是金卡会员,那系统在推荐航班时就要优先考虑东航。但长期记忆不能无限制存,得靠向量库加过期策略。如果记忆太杂,反而会干扰决策。

工具调用是让系统突破模型本身知识边界的关键。通过 Function Calling 调用外部API,比如查航班、比价、下单。这里有个坑,工具描述必须标准化,不然模型可能选错工具。而且调用失败要有重试机制,不能直接报错。

执行和反思形成闭环。执行后观察结果,评估进度,失败了要反思。比如系统查完价格发现超预算,就得反思是不是规划错了,然后回退修改条件。

举个例子,订单退款场景。用户说“我买错了,要退款”,系统先感知意图和订单号,然后调记忆看用户历史退款情况,再规划子任务:查订单状态、检查退款规则、执行退款。如果退款失败,比如订单已发货,系统就得反思,然后规划替代方案,比如转退货流程。

落地时有个前提:工具调用的错误处理必须健壮,否则系统容易卡死。我上线会特别关注重试次数和超时设置,避免死循环。如果感知不充分,比如用户没说订单号,系统得主动追问,而不是瞎猜。

所以我的取舍是,记忆和规划是核心。记忆决定了系统有没有“记性”,规划决定了它能不能灵活应对变化。但两者有冲突,规划越深,记忆消耗越大。实际中我会根据任务复杂度做权衡,简单任务用轻量规划,复杂任务用分层规划加长短期记忆。

另外,如果任务涉及多轮交互,比如用户中途改需求,那系统的记忆管理就特别关键。怎么在保持上下文的同时避免信息过载,这是个值得深挖的点。

关键一句:多轮交互中,如何在保持上下文的同时避免记忆过载

面试官还可能这样问

  1. 问法 1 · 场景切入

    假设我们做一个智能客服Agent,用户问“帮我查一下上个月订单”,然后又说“我要退款”,中间可能隔了很多轮。你觉得Agent需要哪些底层能力才能顺畅地处理这种复杂请求?

  2. 问法 2 · 层层追问

    你觉得一个Agent要完成复杂任务,核心需要哪些能力?……比如感知、规划这些,能具体说说吗?……那这些能力之间怎么协作?举个例子?

  3. 问法 3 · 直球架构

    从系统设计角度,请列举智能Agent应该具备的底层基础能力,并解释每个能力的作用和重要性。比如感知、规划、记忆、工具调用这些,你怎么设计它们的协同?

同模块相关题目