智能体系统核心概念解析

0 阅读4分钟

无论是开源框架(LangGraph、LlamaIndex、AutoGen),还是商业产品(OpenAI Assistant、Claude、各类AI工作流工具),底层逻辑都在这几个关键词的范畴内。

我帮你把这几个概念梳理成一个分层架构图,并解释它们如何组合成一个完整的智能体系统。

image.png


1. Agent Loop(智能体主循环)

这是系统的“心脏”。本质上是一个ReAct(Reason + Act)模式的无限循环,直到任务完成或达到停止条件。

  • 流程:思考(Thought)→ 调用工具/子智能体(Action)→ 观察结果(Observation)→ 再次思考。
  • 关键点:这个Loop决定了智能体是“一根筋”还是“有规划”。高级的实现(如LangGraph)允许这个Loop不是简单的while true,而是一个有状态图(支持分支、并行、人机回环)。

2. Task(任务单元)

代表一个具体、可执行、有明确输入输出的工作单元。

  • 粒度:一个“写一份市场报告”是顶层任务,而“搜索2024年数据”、“总结财报”则是子任务。
  • 在Loop中的位置:Agent Loop将用户指令拆解为多个Task,Task驱动Tool Use或Subagent。

3. Tool Use(工具调用)

智能体与外部世界交互的接口

  • 形式:函数调用(Function Calling)、API请求、代码执行、检索(RAG)。
  • 进阶点:不仅仅是“调用”,现代架构强调Tool的鲁棒性(重试机制、错误处理、流式输出)。

4. Skill(技能)

封装好的能力。与Tool的区别在于:

  • Tool通常是“原子级”的(如:search_web)。
  • Skill通常是“封装级”的(如:数据分析师技能,它内部可能包含 写代码 + 运行环境 + 画图 + 解释结果 这一整套流程)。
  • 在Claude等系统中,Skill往往通过提示词模板预置的工作流来实现。

5. Subagent(子智能体)

带有独立上下文的智能体。这是解决“复杂任务”的关键。

  • 为什么要用Subagent

    • 上下文隔离:主智能体的上下文窗口有限,Subagent处理子任务时拥有独立的内存,处理完只把结果摘要返回给主智能体。
    • 专业化:可以实例化不同配置的智能体(比如“代码专家”用高temperature,“严谨审核员”用低temperature)。
  • 模式:Subagent在执行时,自身也包含一个独立的 Agent Loop + Tool Use。

6. Concurrent Tasks(并发任务)

并行执行。当任务之间没有依赖关系时,系统应该同时运行它们。

  • 挑战:并发不仅仅是“开多线程”。难点在于资源共享(同一个API的限流处理)、结果聚合(等待所有并发任务完成后合并)以及死锁避免

7. Compact(上下文压缩)

针对大模型有限上下文窗口的工程化解决方案

  • 痛点:Agent Loop运行久了,历史记录(Message History)会爆炸式增长,导致超限或Token成本过高。

  • Compact的手段

    • 总结:将过去的对话摘要成一段文本,丢弃原始细节。
    • 剪枝:移除无关紧要的工具调用结果。
    • 战略性遗忘:在开启Subagent时,将主智能体的某些记忆“冻结”,而不是一直携带。

这些概念是如何组合起来的?

以一个实际需求为例: “帮我分析一下最新的特斯拉财报,并和比亚迪做对比,然后发一封总结邮件给团队。”

一个现代Agent系统的处理流程如下:

  1. Agent Loop(主) :启动,分析用户意图。

  2. Task分解

    • Task 1:搜索并获取特斯拉最新财报PDF。
    • Task 2:搜索并获取比亚迪最新财报PDF。
    • Task 3:对比分析。
    • Task 4:撰写邮件。
  3. Concurrent Tasks:发现 Task 1 和 Task 2 没有依赖关系,并发启动两个检索任务。

  4. Subagent调用

    • 主Agent意识到“分析财报”需要深度数据理解,于是生成一个Subagent(财务分析师模式)
    • 这个Subagent拥有自己的Agent Loop。它调用 Tool Use(如 python_executor)来计算财务比率。
    • 过程中,Subagent上下文积累了30轮对话,接近窗口上限,于是触发 Compact,将计算过程压缩为一段“核心财务指标总结”,释放上下文空间。
  5. Skill调用:主Agent调用 Skill(“邮件撰写技能”) ,该Skill内置了公司邮件格式模板和语气要求。

  6. 结果返回:主Agent将最终邮件呈现给用户。

如果你正在设计这样的系统,建议关注状态管理(Subagent的结果如何可靠地返回给主Agent)和容错机制(并发任务中某个失败时,整体任务如何恢复)这两个难点,它们通常是理论框架落地到生产环境时最耗精力的部分。