AI Agent三层架构设计原理

AI Agent三层架构设计原理:从Think-Act-Observe到企业级智能体工程化------技术白皮书摘要:本文以JboltAI平台为蓝本,深度拆解其基于Java 21与Spring Boot 3.5.7构建的Agent三层架构设计原理。从大模型层(大脑)的资源抽象与负载均衡,到Skill层(经验库)的技能封装与子系统代理,再到Chain执行层(手脚)的节点编排与DAG调度,逐层分析JboltAI的技术选型与设计决策。

一、为什么Agent需要分层?

在Agent系统设计领域,常见做法是将所有能力塞进一个Prompt------让大模型既负责理解意图、又负责调用工具、还负责格式化输出。这种"单体Agent"在原型阶段看似高效,但在企业级生产环境中会遇到几个根本性问题:不可测试性(Prompt膨胀后无法独立测试各环节)、不可复用性(工具集绑定在特定Agent上无法跨Agent共享)、上下文爆炸(所有信息塞进同一个上下文窗口,Token消耗失控)。三层架构的解决思路是:将"思考"(LLM调用)、"经验"(技能与工具)、"执行"(流程编排)解耦为三个独立层,各层通过标准化接口通信。

二、第一层:大模型层------Agent的"大脑"

JboltAI通过AiResource实体统一管理所有大模型资源,适配OpenAI、百度文心、阿里通义、DeepSeek、Claude等20+厂商。每种资源以SN(序列号)唯一标识,支持分组管理和优先级设置。AiResourceLoadBalancer实现了SN级别的资源选择策略,核心设计思想是每个编排节点可以独立绑定不同的LLM。意图识别节点可能绑定低延迟的小模型,SQL生成节点绑定推理能力强的大模型,图表渲染节点不需要LLM。每个节点通过LlmConfig对象独立配置模型SN、系统角色、温度参数、最大Token数、思考模式和上下文数量。JboltAI SDK层通过JBoltAI统一暴露chat()、funcCall()、chain()三大API,屏蔽不同厂商的接口差异。

三、第二层:Skill层------Agent的"经验库"

Skill是Agent知识经验的载体,核心数据结构包括名称、描述、分类、实现步骤(Markdown格式的详细操作指南)和标签,通过数据库表ja_ag_skill持久化。ToolManager是Skill层的执行中枢,管理两类工具。默认工具集始终可用,包括askUser(向用户追问)、search_tools(搜索可用工具)、search_in_kb(知识库内检索)、search_db_table(搜索数据库表)、query_in_table(表内查询)、search_excel_sheet(搜索Excel数据)等。扩展工具通过注解扫描从extend.ai.tools目录自动注册,支持FUNCTION(本地Java函数或外部HTTP API)、MCP(Model Context Protocol标准协议工具)和SKILL(将Skill转化为可调用的工具)三种类型。

Skill子系统代理是Skill层最精巧的设计。当Skill被挂载为Agent的工具后,调用时并非简单执行预设动作,而是创建一个子Agent------框架创建子Agent并绑定SkillAgentSystemRole(将Skill实现步骤注入系统提示词),子Agent以"先探测后执行"的纪律运行,结果返回父Agent。父Agent负责宏观决策,子Agent负责微观执行,两者通过标准化接口通信。所有工具调用持久化到AgentToolExecutionLog,记录toolId、agentId、sessionId、调用参数和执行结果。

四、第三层:Chain执行层------Agent的"手脚"

AiAppEngine是Chain执行层的调度核心,封装SDK链式执行的完整生命周期,ChainContext在节点间传递执行状态。NodeProviderCenter采用发现式注册模式,目前注册了22+节点类型,按功能分为动作节点(AI对话、意图识别、查询改写、Text2SQL)、数据节点(知识库检索、数据源查询、Excel查询)、工具节点(函数调用、API调用、MCP调用)、流程控制节点(IF条件分支、变量设置)和输出节点。

Agent的核心执行逻辑在Agent.java的run()方法中,实现经典Think-Act-Observe循环:Think阶段调用LLM推理;LLM返回XML指令时进入Act阶段,使用Java 21虚拟线程池并行执行多个工具;工具结果追加到上下文后进入Observe阶段,LLM判断是否需要继续推理或返回最终答案。关键技术细节包括:并行工具执行使用Java 21虚拟线程池降低多工具调用总耗时;Token预算管理上限设为140,000(200K窗口的70%),压缩策略为"先截断长工具结果,再淘汰最早消息";cancel()通过虚拟线程中断、CompletableFuture取消、ToolManager全工具取消三条路径同时生效。

五、结语

Agent三层架构的核心价值在于将AI智能体的"思考能力"、"经验积累"和"行动执行"解耦。JboltAI的大模型层专注于推理与决策,Skill层封装可复用的业务经验,Chain执行层编排复杂的业务流程。这种分层设计不是过度抽象,而是企业级Agent系统从原型到生产的关键一步。

为什么AI Agent需要三层架构?一个架构师的深度思考

知乎上有不少讨论AI Agent架构的帖子,但大多数集中在"怎么写System Prompt"或"怎么接入Function Calling"。今天想聊一个更底层的问题:为什么企业级Agent需要分层架构,而不是一个"全能大Prompt"?先说结论:单体Agent适合原型验证,但无法支撑企业级生产。三层架构(大模型层、Skill层、Chain执行层)才是工程化的正确路径。最近深入研究了JboltAI平台的Agent架构,它的三层设计很有参考价值。

**第一层:大模型层(大脑)。**JboltAI通过AiResource实体抽象了20+家模型厂商,用AiResourceLoadBalancer做负载均衡。最巧妙的是每个工作流节点可以绑定不同的模型------意图识别用小模型省钱,复杂推理用大模型保证效果。每个节点的LLM配置(LlmConfig)是独立的:模型选择、系统Prompt、温度、Token上限、是否启用CoT、历史消息条数------全部可调。

**第二层:Skill层(经验库)。**Skill是经验的结构化载体------名称、描述、Markdown格式的详细实现步骤。ToolManager管理Agent可用的工具集。最有意思的设计是Skill子系统代理:当Agent调用一个Skill时,框架创建一个子Agent,绑定Skill的系统提示词,以"先探测后执行"的纪律独立运行,结果返回给父Agent。这就像公司里经理做决策、专员执行具体任务------每个人都有独立的工作方式,但通过JboltAI标准化的Skill机制协作。

**第三层:Chain执行层(手脚)。**AiAppEngine作为链式执行引擎管理完整生命周期,NodeProviderCenter注册了22+种节点类型。Agent的核心循环是Think-Act-Observe:Think阶段调用LLM思考,如果响应包含工具指令就Act(执行),执行结果追加到上下文后继续Observe(观察判断是否需要继续),直到LLM返回最终答案。关键技术点:Java 21虚拟线程并行执行多工具,140K Token上下文预算,压缩策略是"先截断长工具结果,再淘汰最早消息"。

单体Agent适合快速原型、单场景验证,但遇到跨领域需求、多步编排、团队协作时就力不从心。分层架构初始投入稍大,但在可测试性、可复用性、可维护性上全面领先。当你的Agent需要处理多个业务领域、多步骤编排、多人协作开发、生产级可靠性时,分层架构的价值就会体现出来。如果用一个比喻来总结:单体Agent像什么都会但什么都不精的全能选手,三层架构Agent像有明确分工的专业团队。在企业级场景中,团队永远比全能选手更可靠。你对AI Agent的架构设计或JboltAI的三层实现有什么看法?欢迎评论区讨论。

相关推荐
机 _ 长1 小时前
YOLO12-Mamba:融合MambaVision思想的目标检测创新实践
人工智能·目标检测·计算机视觉
阿里云大数据AI技术1 小时前
阿里云 ES AI 多模态搜索(百炼)
人工智能
活跃的煤矿打工人1 小时前
【星海出品】大模型微调-Part-One
人工智能·语言模型·gpu算力
coldstarry1 小时前
sheng的学习笔记-AI-xgboost
人工智能·机器学习·boosting
2601_959986241 小时前
M4Markets:把工具可用性做到位——逻辑梳理与提示整理
大数据·人工智能
程序员小崔日记2 小时前
十年后回头看,2026 年或许是程序员行业的转折点
人工智能·ai编程·claudecode
ZzT2 小时前
给 Claude Code 装个 profiler:每个工具调用慢在哪,瀑布流时间线里一眼看见
人工智能·github·claude
阿聪谈架构2 小时前
第13章:AI异步与生产部署 —— 让 AI 服务稳定高效地面向用户
人工智能·后端
黑暗森林观察者2 小时前
AI Agent 的"记忆进化":Skills 自进化框架如何让 Agent 越用越聪明?
人工智能