微信扫码
添加专属顾问
我要投稿
阿里开源Assistant Agent,基于代码即行动范式,助力企业快速构建智能助手,实现复杂任务编排与安全执行。核心内容: 1. 代码即行动与安全沙箱技术特性解析 2. 智能问答、工具调用等核心能力展示 3. 智能客服、运维助手等典型应用场景
更多接入与使用方式,可查看文末微信与钉钉群,与官方维护团队取得联系。
📖 简介
Cloud Native
Assistant Agent 是一个基于 Spring AI Alibaba 构建的企业级智能助手框架,采用代码即行动(Code-as-Action)范式,通过生成和执行代码来编排工具、完成任务。它是一个能理解、能行动、能学习的智能助手解决方案,可帮助企业快速构建智能答疑客服、系统诊断、运维助手、业务助理、AIOps 等智能体。
仓库地址:spring-ai-alibaba/AssistantAgent
Assistant Agent 是一个功能完整的智能助手,具备以下核心能力:
💡 以上仅为典型场景示例。通过配置知识库和接入工具,Assistant Agent 可适配更多业务场景,欢迎探索。
以下是 Assistant Agent 处理一个完整请求的端到端流程示例:
assistant-agent/├── assistant-agent-common├── assistant-agent-core├── assistant-agent-extensions│ ├── dynamic/│ ├── experience/│ ├── learning/│ ├── search/│ ├── reply/│ ├── trigger/│ └── evaluation/├── assistant-agent-prompt-builder├── assistant-agent-evaluation├── assistant-agent-autoconfigure└── assistant-agent-start
🚀 快速启动
Cloud Native
git clone https://github.com/alibaba/assistant-agent.gitcd assistant-agentmvn clean install -DskipTests
export DASHSCOPE_API_KEY=your-api-key-here项目已内置默认配置,只需确保 API Key 正确即可。如需自定义,可编辑 assistant-agent-start/src/main/resources/application.yml:
spring:ai:dashscope:api-key: ${DASHSCOPE_API_KEY}chat:options:model: qwen-max
cd assistant-agent-startmvn spring-boot:run
所有扩展模块默认开启并采用合理的配置,无需额外配置即可快速启动。
💡 框架默认提供 Mock 知识库实现用于演示测试。生产环境需要接入真实知识源(如向量数据库、Elasticsearch、企业知识库 API 等),以便 Agent 能够检索并回答业务相关问题。
默认配置已启用知识库搜索,可直接体验:
spring:ai:alibaba:codeact:extension:search:enabled: trueknowledge-search-enabled: true # 默认开启
实现 SearchProvider 接口,接入你的业务知识源:
package com.example.knowledge;import com.alibaba.assistant.agent.extension.search.spi.SearchProvider;import com.alibaba.assistant.agent.extension.search.model.*;import org.springframework.stereotype.Component;import java.util.*;// 添加此注解,Provider 会自动注册public class MyKnowledgeSearchProvider implements SearchProvider {public boolean supports(SearchSourceType type) {return SearchSourceType.KNOWLEDGE == type;}public List<SearchResultItem> search(SearchRequest request) {List<SearchResultItem> results = new ArrayList<>();// 1. 从你的知识源查询(向量数据库、ES、API 等)// 示例:List<Doc> docs = vectorStore.similaritySearch(request.getQuery());// 2. 转换为 SearchResultItem// for (Doc doc : docs) {// SearchResultItem item = new SearchResultItem();// item.setId(doc.getId());// item.setSourceType(SearchSourceType.KNOWLEDGE);// item.setTitle(doc.getTitle());// item.setSnippet(doc.getSummary());// item.setContent(doc.getContent());// item.setScore(doc.getScore());// results.add(item);// }return results;}public String getName() {return "MyKnowledgeSearchProvider";}}
🧩 核心模块介绍
Cloud Native
作用:多维度意图识别框架,通过评估图(Graph)对信息进行多层次特质识别。
┌──────────────────────────────────────────────────────────────────┐│ 评估图 (Evaluation Graph) 示例 │├──────────────────────────────────────────────────────────────────┤│ ││ 用户输入: "查询今日订单" ││ │ ││ ▼ ││ ┌─────────────────────────────────────────────────────────┐ ││ │ Layer 1 (并行执行) │ ││ │ ┌────────────┐ ┌────────────┐ │ ││ │ │ 是否模糊? │ │ 输入改写 │ │ ││ │ │ 清晰/模糊 │ │(增强) │ │ ││ │ └─────┬──────┘ └─────┬──────┘ │ ││ └─────────┼──────────────────────┼────────────────────────┘ ││ │ │ ││ └──────────┬───────────┘ ││ ▼ ││ ┌─────────────────────────────────────────────────────────┐ ││ │ Layer 2 (基于改写内容,并行执行) │ ││ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ ││ │ │ 检索经验 │ │ 匹配工具 │ │ 搜索知识 │ │ ││ │ │ 有/无 │ │ 有/无 │ │ 有/无 │ │ ││ │ └──────────┘ └──────────┘ └──────────┘ │ ││ └─────────────────────────────────────────────────────────┘ ││ │ ││ ▼ ││ ┌────────────────────┐ ││ │ 整合不同维度评估结果 │ ││ │ → 传递给后续模块 │ ││ └────────────────────┘ ││ │└──────────────────────────────────────────────────────────────────┘
核心能力:
作用:根据评估结果和运行时上下文,动态组装发送给模型的 Prompt。示例:
┌─────────────────────────────────────────────────────────────────────────┐│ Prompt Builder - 条件化动态生成 │├─────────────────────────────────────────────────────────────────────────┤│ ││ 评估结果输入: ││ ┌────────────────────────────────────────────────────────┐ ││ │ 模糊: 是 │ 经验: 有 │ 工具: 有 │ 知识: 无 │ ││ └────────────────────────────────────────────────────────┘ ││ │ ││ ▼ ││ ┌────────────────────────────────────────────────────────────────┐ ││ │ 自定义 PromptBuilder 条件匹配 │ ││ │ │ ││ │ 模糊=是 ──────▶ 注入 [澄清引导 Prompt] │ ││ │ 模糊=否 ──────▶ 注入 [直接执行 Prompt] │ ││ │ │ ││ │ 经验=有 ──────▶ 注入 [历史经验参考] │ ││ │ 工具=有 ──────▶ 注入 [工具使用说明] │ ││ │ 知识=有 ──────▶ 注入 [相关知识片段] │ ││ │ │ ││ │ 组合示例1: 模糊+无工具+无知识 ──▶ [追问用户 Prompt] │ ││ │ 组合示例2: 清晰+有工具+有经验 ──▶ [快速执行 Prompt] │ ││ └────────────────────────────────────────────────────────────────┘ ││ │ ││ ▼ ││ ┌────────────────────────────────────────────────────────────────┐ ││ │ 最终动态 Prompt: │ ││ │ [系统提示] + [澄清引导] + [历史经验] + [工具说明] + [用户问题] │ ││ └────────────────────────────────────────────────────────────────┘ ││ │ ││ ▼ ││ ┌──────────┐ ││ │ 模型 │ ││ └──────────┘ ││ │└─────────────────────────────────────────────────────────────────────────┘
核心能力:
对比传统方案:
作用:从 Agent 执行历史中自动提取并保存有价值的经验。
┌─────────────────────────────────────────────────────────────────────────┐│ 学习模块工作流程 │├─────────────────────────────────────────────────────────────────────────┤│ ││ ┌────────────────────────────────────────────────────────────────────┐ ││ │ Agent 执行过程 │ ││ │ │ ││ │ 输入 ──▶ 推理 ──▶ 代码生成 ──▶ 执行 ──▶ 输出 │ ││ │ │ │ │ │ │ │ ││ │ └────────┴──────────┴─────────┴────────┘ │ ││ │ │ │ ││ └────────────────────────┼───────────────────────────────────────────┘ ││ ▼ ││ ┌────────────────────────┐ ││ │ 学习上下文捕获 │ ││ │ - 用户输入 │ ││ │ - 中间推理步骤 │ ││ │ - 生成的代码 │ ││ │ - 执行结果 │ ││ └───────────┬────────────┘ ││ │ ││ ▼ ││ ┌──────────────────────────────────────────────────────────────┐ ││ │ 学习提取器分析 │ ││ │ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ ││ │ │ 经验提取器 │ │ 模式提取器 │ │ 错误提取器 │ │ ││ │ │ 成功模式 │ │ 通用模式 │ │ 失败教训 │ │ ││ │ └─────┬──────┘ └─────┬──────┘ └─────┬──────┘ │ ││ └────────┼───────────────┼───────────────┼─────────────────────┘ ││ │ │ │ ││ └───────────────┼───────────────┘ ││ ▼ ││ ┌────────────────┐ ││ │ 持久化存储 │ ──▶ 供后续任务参考使用 ││ └────────────────┘ ││ │└────────────────────────────────────────────────────────────────────────┘
核心能力:
作用:积累和复用历史成功执行经验。
┌─────────────────────────────────────────────────────────────────────────┐│ 经验模块工作示意 │├─────────────────────────────────────────────────────────────────────────┤│ ││ 【场景1: 经验积累】 ││ ││ 用户: "查询订单状态" ──▶ Agent 成功执行 ──▶ ┌────────────────┐ ││ │ 保存经验: │ ││ │ - React决策经验 │ ││ │ - Code经验 │ ││ │ - 常识经验 │ ││ └────────────────┘ ││ │ ││ ▼ ││ ┌────────────────┐ ││ │ 经验库 │ ││ └────────────────┘ ││ ││ 【场景2: 经验复用】 | ││ │ ││ 用户: "查询我的订单状态" ◀──── 匹配相似经验 ◀────────────┘ ││ │ ││ ▼ ││ ┌─────────────────────────────────────────────────┐ ││ │ Agent 参考历史经验,更快决策+生成正确代码 │ ││ └─────────────────────────────────────────────────┘ ││ ││ 【场景3: 快速意图响应】 ││ ││ ┌─────────────────────────────────────────────────────────────────┐ ││ │ 经验库 │ ││ │ ┌─────────────────────┐ ┌────────────────────────────┐ │ ││ │ │ 经验A (普通) │ │ 经验B (✓ 已配置快速意图) │ │ ││ │ │ 无快速意图配置 │ │ 条件: 前缀匹配"查看*销量" │ │ ││ │ │ → 注入prompt供llm参考│ │ 动作: 调用销量查询API │ │ ││ │ └─────────────────────┘ └───────────┬────────────────┘ │ ││ └─────────────────────────────────────────────┼───────────────────┘ ││ │ 条件命中 ││ ▼ ││ 用户: "查看今日销量" ──▶ 匹配经验B快速意图 ──▶ 跳过LLM,直接执行 ││ ││ │└─────────────────────────────────────────────────────────────────────────┘
核心能力:
作用:创建和管理定时任务或事件触发的 Agent 执行。
┌─────────────────────────────────────────────────────────────────────────┐│ 触发器模块能力示意 │├─────────────────────────────────────────────────────────────────────────┤│ ││ 【定时触发】 ││ ││ 用户: "每天早上9点给我发送销售日报" ││ │ ││ ▼ ││ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ ││ │ Agent 创建 │ │ 调度器 │ │ 自动执行 │ ││ │ Cron 触发器 │────▶│ 0 9 * * * │────▶│ 生成日报 │ ││ │ (自我调度) │ │ │ │ 发送通知 │ ││ └─────────────────┘ └─────────────────┘ └─────────────────┘ ││ ││ 【延迟触发】 ││ ││ 用户: "30分钟后提醒我开会" ││ │ ││ ▼ ││ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ ││ │ Agent 创建 │ │ 30分钟后 │ │ 发送提醒 │ ││ │ 一次性触发器 │────▶│ 触发 │────▶│ "该开会了" │ ││ └─────────────────┘ └─────────────────┘ └─────────────────┘ ││ ││ 【回调触发】 ││ ││ 用户: "满足xx条件时帮我xx" ││ ││ 外部系统: 发送事件到 Webhook ││ │ ││ ▼ ││ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ ││ │ 接收回调 │ │ 触发 Agent │ │ 处理事件 │ ││ │ Webhook 事件 │────▶│ 执行任务 │────▶│ 返回响应 │ ││ └─────────────────┘ └─────────────────┘ └─────────────────┘ ││ │└─────────────────────────────────────────────────────────────────────────┘
核心能力:
作用:提供灵活的消息回复能力,支持多种输出渠道。
┌─────────────────────────────────────────────────────────────────────────┐│ 回复渠道模块能力示意 │├─────────────────────────────────────────────────────────────────────────┤│ ││ Agent 需要向用户回复消息 ││ │ ││ ▼ ││ ┌─────────────────────────────────────────────────────────────────┐ ││ │ 回复渠道路由 │ ││ └─────────────────────────────────────────────────────────────────┘ ││ │ ││ ├──────────────┬──────────────┬──────────────┐ ││ ▼ ▼ ▼ ▼ ││ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ ││ │ DEFAULT │ │ IDE_CARD │ │ IM_NOTIFY │ │ WEBHOOK │ ││ │ 文本回复 │ │ 卡片展示 │ │ 消息推送 │ │ JSON推送 │ ││ └─────┬──────┘ └─────┬──────┘ └─────┬──────┘ └─────┬──────┘ ││ │ │ │ │ ││ ▼ ▼ ▼ ▼ ││ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ││ │ 控制台 │ │ IDE │ │ IM │ │ 第三方 │ ││ │ 终端回复 │ │ 富文本卡片 │ │ (可扩展) │ │ 系统 │ ││ └──────────┘ └──────────┘ └──────────┘ └──────────┘ ││ ││ 【使用示例】 ││ ││ 用户: "分析完成后发送结果" ││ │ ││ ▼ ││ Agent: send_message(text="分析结果...") ││ │ ││ ▼ ││ 用户收到消息: "📊 分析结果: ..." ││ │└─────────────────────────────────────────────────────────────────────────┘
核心能力:
作用:提供高度可扩展的工具体系,让 Agent 能够调用各类外部工具完成任务。
┌─────────────────────────────────────────────────────────────────────────┐│ 工具扩展架构 │├─────────────────────────────────────────────────────────────────────────┤│ ││ Agent 需要执行操作 ││ │ ││ ▼ ││ ┌──────────────────────────────────────────────────────────────────┐ ││ │ CodeactTool 工具体系 │ ││ └─────────────────────────────────────────────────────────────────┘ ││ │ ││ ├─────────────┬─────────────┬─────────────┬──────────────┐ ││ ▼ ▼ ▼ ▼ ▼ ││ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌───────┐ ││ │ MCP │ │ HTTP │ │ Search │ │ Trigger │ │ 自定义 │ ││ │ Tools │ │ API │ │ Tools │ │ Tools │ │ Tools │ ││ │ │ │ Tools │ │ │ │ │ │ │ ││ └─────┬──────┘ └─────┬──────┘ └─────┬──────┘ └─────┬──────┘ └───┬───┘ ││ │ │ │ │ │ ││ ▼ ▼ ▼ ▼ ▼ ││ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────┐ ││ │ 任意 MCP │ │ REST API │ │ 知识检索 │ │ 定时任务 │ │ ... │ ││ │ Server │ │ OpenAPI │ │ 项目搜索 │ │ 事件回调 │ │ │ ││ └──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────┘ ││ │└─────────────────────────────────────────────────────────────────────────┘
核心能力:
作用:多数据源统一检索引擎,为 Agent 的问答和决策提供知识支撑。
┌─────────────────────────────────────────────────────────────────────────┐│ 多数据源检索架构 │├─────────────────────────────────────────────────────────────────────────┤│ ││ 用户问题: "如何配置数据库连接池?" ││ │ ││ ▼ ││ ┌─────────────────────────────────────────────────────────────────┐ ││ │ 统一检索接口 │ ││ └─────────────────────────────────────────────────────────────────┘ ││ │ ││ ├────────────────┬────────────────┬────────────────┐ ││ ▼ ▼ ▼ ▼ ││ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌─────────┐ ││ │ 知识库 │ │ 项目 │ │ Web │ │ 自定义 │ ││ │ Provider │ │ Provider │ │ Provider │ │Provider │ ││ │ (主要) │ │ (可选) │ │ (可选) │ │ (SPI) │ ││ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ └───┬─────┘ ││ │ │ │ │ ││ ▼ ▼ ▼ ▼ ││ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌────────┐ ││ │ FAQ / 文档 │ │ 源代码 │ │ 网络文章 │ │ ... │ ││ │ 历史问答 │ │ 配置文件 │ │ 技术论坛 │ │ │ ││ │ 团队笔记 │ │ 日志 │ │ │ │ │ ││ └──────────────┘ └─────────────┘ └───────────────┘ └────────┘ ││ │ │ │ │ ││ └─────────────────┴─────────────────┴──────────────┘ ││ │ ││ ▼ ││ ┌────────────────────────┐ ││ │ 聚合排序 │ ││ │ → 注入 Prompt │ ││ └────────────────────────┘ ││ │└────────────────────────────────────────────────────────────────────────┘
核心能力:
配置示例:
spring:ai:alibaba:codeact:extension:search:enabled: trueknowledge-search-enabled: true # 知识库(默认 Mock 实现)project-search-enabled: false # 项目代码(默认 Mock 实现)web-search-enabled: false # Web 搜索(默认 Mock 实现)default-top-k: 5search-timeout-ms: 5000
💡 以上搜索功能默认提供 Mock 实现供演示测试。生产环境需实现 SearchProvider SPI 接入实际数据源。
🙏 致谢:
https://github.com/spring-projects/spring-ai
https://github.com/alibaba/spring-ai-alibaba
https://www.graalvm.org/
联系方式:
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2026-01-10
7.3K Star!港大开源神作,集问答、可视化、出题于一身的 AI 超级导师!
2026-01-10
AI玩法的尽头是Skills!3.6万人收藏的Claude官方SOP,你必须要掌握
2026-01-09
刚刚!Claude Code 官方开源,AI 写的屎山终于有救了!
2026-01-09
英伟达开源上瘾了!推出了一款实时语音智能体的终极 ASR:24ms 极速锁定。
2026-01-08
手机上同步用 Claude Code 和 Codex,666啊~
2026-01-08
蚂蚁·安诊儿医疗大模型正式开源,并登顶权威医疗榜单
2026-01-07
谷歌FunctionGemma:轻量化函数调用AI模型的创新与实践
2026-01-07
智元在CES发布业内首个大语言模型驱动的开源仿真平台 Genie Sim 3.0
2025-11-19
2025-10-20
2025-10-27
2025-10-27
2025-12-10
2025-11-17
2025-10-29
2025-11-07
2025-12-22
2025-10-21
2026-01-02
2025-12-24
2025-12-22
2025-11-12
2025-11-10
2025-11-03
2025-10-29
2025-10-28