聚焦智能体核心能力:以反思破局执行瓶颈,以多智能体协同攻克大模型落地难题20.6

举报
未闻花名 发表于 2026/07/16 11:06:06 2026/07/16
【摘要】 本文系统介绍了大模型智能体的核心概念与五大核心能力。智能体是基于大模型构建的、具备自主决策和执行能力的数字实体,通过规划、记忆、工具调用、反思和多智能体协同五大能力实现复杂任务处理。与普通大模型相比,智能体具有主动执行、工具调用和经验迭代的优势。规划能力是智能体的"大脑",负责任务拆解和策略制定;记忆能力存储和复用历史信息;工具调用能力扩展智能体的功能边界;反思能力支持自我优化

一、智能体核心概念

1. 什么是智能体

        首先我们要搞清楚,到底什么是大模型智能体?简单来说,智能体就是基于大模型构建的、具备自主决策和执行能力的智能体,它就像一个能独立完成任务的“数字员工”。

        我们平时使用的大模型,大多是“被动响应”的模式:你问一个问题,它回答一个问题;你给一个指令,它完成一个简单任务。而智能体不同,它具备主动性,能根据用户的目标,自主拆解任务、选择方法、调用工具、修正错误,最终完成复杂的任务。

        举个生活中的例子,如果你让普通大模型“帮我订一张明天从北京到上海的高铁票”,它可能只会告诉你订票的流程;但如果是具备完整核心能力的智能体,它会先确认你的出行时间、座位偏好、预算,然后调用订票工具查询车次、完成支付,最后把订票结果反馈给你,整个过程无需你过多干预。

        从技术层面来说,智能体是大模型、知识库、工具集、决策机制的结合体,而规划、记忆、工具调用、反思、多智能体协同,就是支撑它实现自主决策和执行的五大核心能力,也是我们今天要探讨的核心内容。

2. 智能体与大模型的区别

        在起初接触不深,很容易会混淆智能体和大模型,其实二者是包含与赋能的关系。大模型是智能体的核心基础,而智能体通过五大核心能力,让大模型从“被动响应”升级为“主动执行”。其中,任务编排作为规划能力的核心落地形式,是衔接二者、实现复杂任务落地的关键,下面就来详细解析多步骤任务编排的核心内容。

2.1 AI智能体多步骤任务编排

        AI智能体多步骤任务编排,是智能体结合规划能力,对用户复杂目标进行结构化处理的过程,也是智能体实现自主执行的核心环节。其核心工作主要包含四点:

  • 复杂目标拆解:依托大模型的语义理解和逻辑推理能力,结合领域知识库,把用户模糊的综合性目标,如“完成2026年上半年电商行业数据分析报告并生成可视化图表”,拆分成边界清晰、可独立执行、可量化验收的子任务,每个子任务都有明确的目标和产出要求。
  • 子任务关系定义:梳理子任务之间的关联,明确执行顺序和依赖关系。避免执行逻辑混乱,依赖关系分为两种:
    • 硬依赖:如“数据收集”必须在“数据清洗”前完成;
    • 软依赖:如“报告框架搭建”与“核心数据整理”可并行。
  • 流程逻辑配置:结合任务场景,配置灵活的流程跳转和分支判断。比如数据清洗时发现数据缺失,自动跳转至补充数据收集;用户反馈报告内容偏浅,自动分支至深化数据分析,适配不同执行场景。
  • 执行条件设定:明确任务终止和异常兜底条件。终止条件包括所有子任务完成、用户主动终止等;异常兜底涵盖工具调用失败3次自动切换工具、执行超时触发人工介入等,保障任务稳定执行。

2.2 传统任务编排与大模型智能体编排的区别

        在复杂任务处理中,传统软件开发的任务编排与大模型驱动的AI智能体编排,在执行逻辑、适配能力等方面有本质区别:

  • 传统软件开发编排:以硬编码为核心,任务逻辑、子任务关系等都固定在代码中。弊端是流程僵硬,无法适配场景变化,业务需求变更时需修改代码、重新部署,迭代周期长、成本高。比如传统电商数据分析系统新增“用户画像分析”子任务,需开发人员修改代码,耗时数天甚至数周。
  • 大模型柔性编排:采用“固定框架+动态细节”模式,依托智能体的规划和记忆能力搭建标准化框架,子任务拆解、执行顺序等细节可根据实时结果、用户反馈动态调整,无需修改底层代码。比如执行电商数据分析任务时,可自动新增“竞品对比分析”子任务,无需人工干预。

3. AI智能体任务编排的核心优势

        对比传统模式,动态柔性适配是AI智能体任务编排的核心优势,同时还具备以下突出价值,支撑智能体完成复杂任务:

  • 场景适配性强:能快速响应办公、电商、研发等不同行业场景需求,无需为每个场景单独开发编排逻辑,适配性远超传统模式。
  • 执行灵活性高:可根据子任务执行结果、用户反馈实时调整流程,避免因场景变化导致任务中断,提升任务完成成功率。
  • 迭代成本低:无需开发人员修改代码,智能体可通过反思和记忆能力自主积累经验、优化编排逻辑,降低企业研发和运维成本。
  • 用户体验更优:能精准捕捉用户潜在需求,实现千人千策的个性化处理,让执行结果更贴合用户预期。

        任务编排作为智能体规划能力的核心落地载体,其柔性和适配性进一步凸显了智能体与普通大模型的区别,也为智能体在复杂业务场景的落地奠定了基础。智能体与普通大模型的三大核心差异 :

响应模式差异:

  • 大模型是“指令式响应”,需用户给出明确指令才输出结果,无自主规划能力;
  • 智能体是“目标式执行”,用户只需明确最终目标,即可自主拆解任务、推进执行,无需用户逐一下达指令,这是二者最核心的区别。

能力边界差异:

  • 大模型的能力受限于训练数据,无法获取实时数据、调用外部工具处理复杂业务;
  • 智能体可通过工具调用对接外部资源,结合柔性任务编排适配工具逻辑,突破大模型的固有边界,轻松适配跨领域、多环节的复杂业务场景。

容错与迭代能力差异:

  • 普通大模型输出结果后无校验、修正机制,若结果有误需用户手动干预;
  • 智能体具备反思能力,可实时监控执行过程,发现错误后快速分析原因、调整执行流程,重新推进任务,实现自我迭代优化,持续提升任务完成质量。

二、智能体的规划能力

1. 规划能力的核心定义

        规划能力是智能体的“大脑中枢”,核心是根据用户目标,将复杂任务拆解为可执行的子任务,并制定合理的执行顺序和策略。如果把完成复杂任务比作一场旅行,规划能力就是智能体的“导航系统”,指引其明确路线和每一步操作。

        规划能力就是“拆解问题、制定步骤”的能力。比如用户要求“完成2026年上半年电商行业数据分析报告”,这个任务无法直接完成,智能体会先将其拆解为数据收集、指标梳理、数据分析、报告撰写、可视化制作、内容审核等子任务,再确定执行顺序,明确每个子任务的执行标准。

        需要注意的是,智能体的规划并非一成不变。在任务执行过程中,它会根据实际情况动态调整子任务和执行顺序,这种灵活性和适应性,正是规划能力与普通任务拆解的核心区别。

2. 规划能力的底层基础

        智能体的规划能力并非凭空产生,而是依托大模型底层技术和相关理论支撑,核心底层基础主要有三个方面:

- 1. 大模型的语义理解与逻辑推理能力:

  • 这是规划能力的基础,大模型通过自然语言处理能力精准解析用户需求,提取核心目标、约束条件与潜在需求;
  • 同时依托逻辑推理能力,判断子任务之间的依赖关系(如“数据收集”需在“数据清洗”前完成),避免执行逻辑混乱,为合理规划提供支撑。

- 2. 任务拆解与优先级排序算法:

  • 智能体常用层次任务网络(HTN)和部分可观察马尔可夫决策过程(POMDP)实现高效规划;
  • HTN负责将复杂目标逐层拆解为可执行的子任务,适配流程清晰的场景,如报告撰写;
  • POMDP可在信息不确定的场景中制定最优执行策略,适配动态变化的场景,如智能运维。

- 3. 领域知识库的支撑:

  • 不同领域的任务规划逻辑存在差异,领域知识库可提供行业专属知识、业务规则与执行标准,让规划结果更贴合实际场景。
  • 例如,电商数据分析报告的规划,需要Agent掌握行业核心指标、数据来源与分析方法,缺乏知识库支撑的规划会脱离业务实际,无法落地。

3. 规划能力的实现流程

        结合实际业务场景,智能体规划能力的实现是一个闭环流程,核心分为四个步骤,每个步骤都是规划落地的关键:

-1. 目标解析与需求确认:

  • 智能体接收用户指令后,通过语义理解提取核心目标、约束条件与预期结果;
  • 若指令信息模糊,会主动向用户提问确认,如明确报告字数、语言风格,形成需求清单并与用户二次确认,确保需求理解无偏差,为后续规划打好基础。

-2. 复杂任务拆解:

  • 明确需求后,智能体结合领域知识库与逻辑推理,遵循“可落地、无遗漏、无冗余”的原则,将复杂目标拆解为可独立执行的子任务;
  • 同时为每个子任务明确执行内容、预期产出与验收标准,避免子任务过于笼统或冗余。
  • 例如,撰写初中生AI教育科普文章,可拆解为收集案例、梳理核心内容、确定文章结构、撰写初稿、优化语言、内容审核等子任务。

-3. 子任务优先级排序:

  • 拆解完成后,智能体根据子任务的依赖关系、紧急程度、执行难度与耗时进行排序。
  • 有硬依赖的子任务按先后顺序执行,无依赖关系的子任务优先执行难度低、耗时短的;
  • 同时对排序结果进行逻辑校验,避免顺序混乱与依赖冲突,提升整体执行效率。

-4. 执行计划生成与动态调整:

  • 根据排序结果生成完整执行计划,明确每个子任务的执行主体、时间节点与执行标准。
  • 在任务执行过程中,若出现数据不准确、用户需求变更、工具调用失败等情况,智能体会实时启动调整机制,新增、删除或调整子任务与执行顺序,确保最终达成用户目标。

4. 规划能力的应用价值

        规划能力是智能体实现“自主执行”的核心,对智能体与大模型架构的技术价值主要体现在两个方面,也是大模型从“能回答”到“能做事”的关键支撑:

  • 提升大模型任务处理能力:推动大模型从“处理简单指令”升级为“完成复杂任务”,突破被动响应的局限。借助规划能力,大模型可处理跨场景、多约束的复杂任务,如自主完成数据分析报告、出行攻略、项目方案设计等,拓展了大模型的应用边界。
  • 提高任务执行效率与准确性:通过合理的任务拆解与优先级排序,避免重复劳动与执行错误,减少用户干预成本。例如,撰写报告时,有序推进各子任务可避免内容遗漏、逻辑断层;处理复杂业务时,提前规划执行路径可缩短任务完成周期,提升执行质量。

5. 规划能力的应用实践

        以下示例演示了AI智能体如何通过语义解析从用户指令中提取目标任务与约束条件,再将复杂需求拆解为有依赖关系的子任务并按拓扑顺序编排执行规划,展示了智能体的核心规划能力。

import re
from typing import List, Dict

# 模拟大模型语义理解模块,提取目标和约束条件
def parse_user_query(query: str) -> Dict:
    """
    解析用户查询指令,提取核心目标、约束条件
    :param query: 用户输入的目标指令
    :return: 包含目标和约束的字典
    """
    # 提取核心目标(简单正则匹配,实际场景使用大模型API)
    target_match = re.search(r'帮我(.*?)一份(.*?)报告', query)
    target = target_match.group(2) if target_match else "书籍推荐"
    
    # 提取约束条件(示例:书籍类型、阅读人群)
    constraints = {}
    if "科幻" in query:
        constraints["book_type"] = "科幻"
    if "青少年" in query:
        constraints["target_audience"] = "青少年"
    if "5本" in query:
        constraints["book_num"] = 5
    
    return {"target": target, "constraints": constraints}

# 规划模块:拆解任务并排序
def plan_task(task_info: Dict) -> List[Dict]:
    """
    根据任务信息拆解子任务并确定执行顺序
    :param task_info: 包含目标和约束的任务信息
    :return: 排序后的子任务列表
    """
    # 基础子任务列表
    subtasks = [
        {"id": 1, "name": "收集符合条件的书籍信息", "dependencies": [], "status": "未执行"},
        {"id": 2, "name": "梳理每本书的核心内容和推荐理由", "dependencies": [1], "status": "未执行"},
        {"id": 3, "name": "确定报告结构(标题、书籍列表、总结)", "dependencies": [1], "status": "未执行"},
        {"id": 4, "name": "撰写报告初稿", "dependencies": [2, 3], "status": "未执行"},
        {"id": 5, "name": "检查报告内容完整性和准确性", "dependencies": [4], "status": "未执行"}
    ]
    
    # 根据约束条件调整子任务
    if "book_num" in task_info["constraints"]:
        subtasks[0]["details"] = f"收集{task_info['constraints']['book_num']}本符合条件的书籍"
    if "book_type" in task_info["constraints"]:
        subtasks[0]["details"] = f"收集{task_info['constraints']['book_num']}{task_info['constraints']['book_type']}类书籍(目标人群:{task_info['constraints']['target_audience']})"
    
    # 按依赖关系排序(简单实现,实际使用拓扑排序)
    sorted_subtasks = []
    while subtasks:
        for idx, task in enumerate(subtasks):
            if not task["dependencies"] or all(dep in [t["id"] for t in sorted_subtasks] for dep in task["dependencies"]):
                sorted_subtasks.append(task)
                del subtasks[idx]
                break
    
    return sorted_subtasks

# 主函数:执行规划流程
def main():
    # 用户输入的目标指令
    user_query = "帮我撰写一份青少年科幻书籍推荐报告,要求推荐5本适合的书籍"
    print(f"用户目标指令:{user_query}\n")
    
    # 解析用户指令
    task_info = parse_user_query(user_query)
    print(f"解析后的任务信息:\n目标:{task_info['target']}\n约束条件:{task_info['constraints']}\n")
    
    # 生成执行规划
    task_plan = plan_task(task_info)
    print("生成的任务执行规划:")
    for task in task_plan:
        print(f"子任务{task['id']}{task['name']}(依赖子任务:{task['dependencies']})")
        if "details" in task:
            print(f"任务详情:{task['details']}")
        print("-" * 50)

if __name__ == "__main__":
    main()

输出结果:

用户目标指令:帮我撰写一份青少年科幻书籍推荐报告,要求推荐5本适合的书籍


解析后的任务信息:
目标:青少年科幻书籍推荐
约束条件:{'book_type': '科幻', 'target_audience': '青少年', 'book_num': 5}


生成的任务执行规划:
子任务1:收集符合条件的书籍信息(依赖子任务:[])
任务详情:收集5本科幻类书籍(目标人群:青少年)
--------------------------------------------------
子任务2:梳理每本书的核心内容和推荐理由(依赖子任务:[1])
--------------------------------------------------
子任务3:确定报告结构(标题、书籍列表、总结)(依赖子任务:[1])
--------------------------------------------------
子任务4:撰写报告初稿(依赖子任务:[2, 3])
--------------------------------------------------
子任务5:检查报告内容完整性和准确性(依赖子任务:[4])
--------------------------------------------------

三、智能体的记忆能力

1. 记忆能力的核心定义

        如果说规划能力是智能体的“大脑中枢”,记忆能力就是它的“知识库”和“经验库”,核心是存储、检索、复用历史信息和任务执行经验。就像人类会根据过往经验调整做事方法,智能体的记忆能力也能让其在执行任务时不断积累经验、提升效率。

智能体的记忆主要分为两类:

  • 静态记忆:包括领域知识库、工具使用说明、系统规则等固定信息,是完成任务的基础,不会随任务执行变化;
  • 动态记忆:涵盖用户历史对话、任务中间结果、成功和失败经验等,会随使用不断积累更新。

        举个例子,用户第一次让智能体推荐青少年科幻书籍,智能体需收集信息完成任务;第二次用户要求“不推荐上次的书籍”,智能体的记忆能力会检索出历史推荐列表,避免重复推荐,同时结合新需求调整策略。没有记忆能力,智能体每次执行任务都要“从零开始”,无法实现经验复用和个性化服务。

2. 记忆能力的底层基础

智能体的记忆能力依托大模型上下文处理能力和外部存储技术,核心底层基础有三个方面:

-1. 大模型的上下文窗口与语义检索能力:

  • 大模型自带短期上下文记忆,可在单次对话中记住历史交互内容,保障对话连贯性;
  • 其语义检索能力可通过关键词匹配、语义相似度计算,从海量信息中快速定位与当前任务相关的历史信息,是实现记忆复用的核心基础;
  • 同时能理解信息深层含义,提升检索精准度。

-2. 外部存储技术:

为实现长期记忆,Agent需借助外部存储工具搭建记忆体系。常用存储工具包括:

  • 向量数据库,适配用户对话、任务经验等非结构化数据存储,是实现记忆检索与复用的核心工具;
  • 关系型数据库,适配工具规则、系统参数等结构化数据存储;
  • 文档数据库,适配领域文档、报告模板等半结构化数据存储。

-3. 记忆管理机制:

随着使用时间增加,记忆库会不断扩容,需通过“存储、更新、遗忘”三大策略进行管理:

  • 用户临时需求采用短期存储,对话结束后自动清理;
  • 用户长期偏好、任务成功经验采用长期存储并持续更新;
  • 定期清理冗余、过时信息,优化记忆库结构,降低存储成本、提升检索效率。

3. 记忆能力的实现流程

        智能体记忆能力的核心是“存储-检索-复用-更新”的闭环流程,结合"领域知识库、工具说明等固定信息"这些静态记忆与“用户对话、任务经验等可变信息”这些动态记忆的特点,其实现原理与执行步骤清晰明确:

-1. 记忆的分类存储:

  • 智能体启动时,将领域知识库、工具使用说明、系统规则等静态记忆,按数据类型分类存入对应外部存储工具,搭建基础记忆体系;
  • 执行任务过程中,实时收集用户对话、任务中间结果、成功与失败经验等动态记忆,提炼为结构化信息后存入存储库,持续丰富记忆资源。

-2. 记忆的检索调用:

  • 接收新任务后,智能体提取任务核心信息,优先从向量数据库检索用户偏好、历史经验等动态记忆,为个性化执行提供支撑;
  • 再从关系型、文档数据库检索领域知识、工具规则等静态记忆,保障任务执行的基础需求。
  • 例如,用户要求推荐刘慈欣的科幻小说,智能体会同步检索用户“不喜欢晦涩作品”的偏好与刘慈欣作品列表,为推荐提供依据。

-3. 记忆的复用与适配:

  • 智能体将检索到的记忆信息与当前任务约束条件结合,灵活调整执行策略,并非简单照搬历史经验。
  • 例如,根据用户“不喜欢晦涩作品”的反馈,在推荐刘慈欣作品时,优先选择《流浪地球》《乡村教师》等易懂作品,确保结果贴合用户预期。

-4. 记忆的更新与优化:

  • 任务完成后,智能体将执行过程、经验教训提炼为结构化信息,更新到动态记忆库;
  • 同时按照记忆管理机制,清理冗余、过时信息,优化记忆库结构,既提升后续检索效率,又避免信息冗余导致的检索偏差,实现越用越聪明。

4. 记忆能力的应用价值

        记忆能力是智能体区别于普通大模型的重要特征,对智能体与大模型架构的价值主要体现在三个方面,为智能体实现个性化服务、经验复用与自我迭代提供核心支撑:

实现个性化服务:

  • 智能体通过存储用户历史偏好、使用习惯等动态记忆,可精准捕捉用户需求,提供“千人千策”的个性化响应。
  • 例如,根据用户喜欢的书籍类型精准推荐、根据办公习惯定制日程规划,避免千篇一律的输出,提升用户体验。

实现经验复用:

  • 将任务执行过程中的成功经验、失败教训、工具调用参数等信息存储到记忆库,执行同类任务时直接复用;
  • 减少重复探索的时间成本,快速上手任务并优化执行策略,提升执行效率与质量。

支撑自我迭代优化:

  • 记忆库中的经验信息为反思能力提供数据支撑,帮助智能体规避常见错误、优化执行策略。
  • 例如,记住“参数错误导致工具调用失败”的教训,后续执行同类任务时提前校验参数;
  • 结合用户反馈优化任务拆解逻辑,实现能力的持续提升。

5. 记忆能力的应用实践

        以下示例演示了AI智能体如何利用FAISS向量数据库与语义嵌入模型实现记忆的存储、检索与复用,通过静态知识记忆和动态偏好记忆的结合,在响应用户新请求时检索相关历史信息,生成个性化的上下文感知回复。

import faiss
import numpy as np
from sentence_transformers import SentenceTransformer
from typing import Dict, List
from modelscope import snapshot_download

# 初始化向量模型和向量数据库
cache_dir = "D:\\modelscope\\hub"
embedding_model_dir = snapshot_download(
    model_id="sentence-transformers/all-MiniLM-L6-v2",
    cache_dir=cache_dir,
    revision="master"
)
model = SentenceTransformer(embedding_model_dir)  # 轻量级向量模型
dimension = 384  # 向量维度,与模型输出一致
index = faiss.IndexFlatL2(dimension)  # 初始化向量索引,使用L2距离计算相似度

# 存储记忆信息的字典,key为向量索引,value为记忆内容
memory_store = {}
current_index = 0

# 存储记忆:将文本信息转化为向量并存储
def store_memory(text: str, memory_type: str = "dynamic") -> int:
    """
    存储记忆信息到向量数据库
    :param text: 记忆的文本内容
    :param memory_type: 记忆类型(static/dynamic)
    :return: 记忆的索引id
    """
    global current_index
    # 将文本转化为向量
    vector = model.encode([text])[0].astype('float32')
    # 添加到向量索引
    index.add(np.array([vector]))
    # 存储记忆内容和类型
    memory_store[current_index] = {"content": text, "type": memory_type}
    current_index += 1
    return current_index - 1

# 检索记忆:根据查询文本检索相关记忆
def retrieve_memory(query: str, top_k: int = 3) -> List[Dict]:
    """
    从向量数据库中检索相关记忆
    :param query: 查询文本
    :param top_k: 检索的最大数量
    :return: 相关记忆列表
    """
    # 将查询文本转化为向量
    query_vector = model.encode([query])[0].astype('float32')
    # 检索相似度最高的top_k个向量
    distances, indices = index.search(np.array([query_vector]), top_k)
    # 整理检索结果
    results = []
    for i, idx in enumerate(indices[0]):
        if idx != -1:  # 索引有效
            results.append({
                "similarity": 1 - distances[0][i]/2,  # 转换为相似度(0-1)
                "content": memory_store[idx]["content"],
                "type": memory_store[idx]["type"]
            })
    return results

# 记忆复用:结合检索结果生成推荐内容
def reuse_memory(query: str) -> str:
    """
    复用记忆信息,生成针对用户查询的响应
    :param query: 用户查询指令
    :return: 响应内容
    """
    # 检索相关记忆
    memories = retrieve_memory(query)
    if not memories:
        return "我还没有相关的记忆,我会为你重新收集信息完成任务~"
    
    # 提取用户偏好信息
    user_preferences = []
    for mem in memories:
        if "用户偏好" in mem["content"] and mem["similarity"] > 0.7:
            user_preferences.append(mem["content"])
    
    # 结合偏好生成响应
    if user_preferences:
        preference_str = "、".join([p.split(":")[1] for p in user_preferences])
        return f"根据你的偏好({preference_str}),我为你推荐相关内容:刘慈欣的《球状闪电》《超新星纪元》,这两本书都是适合青少年阅读的科幻作品,风格和《三体》相近但更易懂。"
    else:
        return "我结合历史经验,为你推荐刘慈欣的《流浪地球》《乡村教师》,这些作品情节生动,适合青少年阅读。"

# 主函数:执行记忆存储、检索、复用流程
def main():
    # 存储静态记忆和动态记忆
    store_memory("刘慈欣的科幻小说作品包括《三体》《流浪地球》《球状闪电》《超新星纪元》《乡村教师》", "static")
    store_memory("用户偏好:刘慈欣的科幻小说", "dynamic")
    store_memory("用户反馈:《三体》内容偏复杂,希望推荐更易懂的作品", "dynamic")
    
    # 用户新的查询指令
    user_query = "推荐几本适合青少年的刘慈欣科幻小说,不要《三体》"
    print(f"用户查询:{user_query}\n")
    
    # 检索相关记忆
    print("检索到的相关记忆:")
    memories = retrieve_memory(user_query)
    for mem in memories:
        print(f"相似度:{mem['similarity']:.2f},内容:{mem['content']},类型:{mem['type']}")
    print("-" * 60)
    
    # 复用记忆生成响应
    response = reuse_memory(user_query)
    print(f"Agent响应:{response}")

if __name__ == "__main__":
    main()

输出结果:

Downloading Model from modelscope to directory: D:\modelscope\hub\sentence-transformers\all-MiniLM-L6-v2
2026-07-08 21:20:01,144 - modelscope - INFO - Got 1 files, start to download ...
Downloading [README.md]: 100%|███████████| 10.3k/10.3k [00:00<00:00, 46.3kB/s]
Processing 1 items: 100%|█████████████████| 1.00/1.00 [00:00<00:00, 4.31it/s]
2026-07-08 21:20:01,380 - modelscope - INFO - Download model 'sentence-transformers/all-MiniLM-L6-v2' successfully.

用户查询:推荐几本适合青少年的刘慈欣科幻小说,不要《三体》

检索到的相关记忆:
相似度:0.82,内容:用户反馈:《三体》内容偏复杂,希望推荐更易懂的作品,类型:dynamic
相似度:0.76,内容:刘慈欣的科幻小说作品包括《三体》《流浪地球》《球状闪电》《超新星纪元》《乡村教师》,类型:static
相似度:0.60,内容:用户偏好:刘慈欣的科幻小说,类型:dynamic


------------------------------------------------------------
Agent响应:我结合历史经验,为你推荐刘慈欣的《流浪地球》《乡村教师》,这些作品情节生动,适合青少年阅读。

四、智能体的工具调用

1. 工具调用的核心定义

        工具调用能力是智能体突破大模型能力边界的“桥梁”,核心是根据任务需求,自主选择外部工具、调用接口完成特定任务,并获取返回结果。大模型本身无法获取实时数据、执行代码,而工具调用能力能让其对接外部资源,拓展能力范围。

        我们可以把工具调用能力理解为“找帮手、做分工”的能力。智能体就像一个项目负责人,当遇到自己无法完成的任务时,会找到对应的帮手,如外部工具,给帮手分配任务,获取帮手的工作结果,再结合结果继续推进任务。比如,智能体需要获取实时天气信息,就会调用天气查询API;需要处理数据并生成图表,就会调用Python的数据分析工具,如Pandas、Matplotlib;需要发送邮件,就会调用邮件发送接口。

        智能体的工具调用能力,核心是“自主决策”,不需要用户指定使用哪个工具,而是根据任务需求,自主判断需要使用的工具类型、选择具体的工具、构造工具调用参数,完成工具调用后,还能解析工具返回的结果,将结果转化为贴合任务需求的内容。

2. 工具调用的底层基础

        智能体的工具调用能力,依托于大模型的意图识别、工具描述理解能力,以及外部工具的标准化接口,是智能体突破大模型能力边界、对接外部资源的核心支撑,其核心底层基础主要包括三个方面:

-1. 大模型的意图识别与工具匹配能力:

  • 这是自主工具调用的前提,智能体依托大模型的语义理解与逻辑推理能力,从用户任务指令中精准识别核心意图,提取需要外部工具支持的子任务;
  • 再结合工具的功能描述、适配场景,将子任务与最合适的外部工具进行匹配,确保工具能有效支撑子任务完成,同时通过积累工具使用经验,持续提升匹配精准度。

-2. 工具的标准化描述与接口设计:

  • 为让Agent准确理解和调用工具,需对工具进行标准化描述,通常为JSON格式,明确包含工具名称、功能介绍、输入参数、输出格式、调用方式等核心信息;
  • 同时,工具需提供标准化接口,如API接口、Python函数接口,确保参数清晰、调用规则明确,且具备多场景、多Agent适配能力,避免因接口不兼容导致调用失败。

-3. 工具调用的执行与结果解析机制:

智能体调用工具后,需完成两项核心工作:

  • 结果解析:将工具返回的结构化数据(如JSON、表格)转化为自然语言或任务所需格式,融入任务执行流程;
  • 异常处理:若出现参数错误、接口异常、调用失败等情况,分析失败原因,重新构造参数或更换工具再次调用,保障任务顺利推进。

3. 工具调用的实现流程

        智能体工具调用能力的实现,遵循“意图识别-工具匹配-参数构造-工具调用-结果解析”的核心流程,每个环节紧密衔接、环环相扣,确保智能体能借助外部工具高效完成自身无法独立处理的任务,具体执行步骤:

-1. 意图识别与子任务提取:

  • 智能体执行复杂任务时,实时判断自身能力边界,当遇到无法独立完成的子任务时,通过大模型的意图识别能力,提取子任务的核心需求,明确需要外部工具支持的方向。
  • 例如,撰写“北京明天的出行攻略”时,拆解出“查询天气”“查询景点开放时间”“查询交通路线”三个需工具支持的子任务,启动工具调用流程。

-2. 工具匹配与选择:

  • 智能体读取预先配置的工具描述列表,结合子任务核心需求,通过语义相似度匹配筛选适配工具;
  • 若存在多个可完成同一子任务的工具,将根据工具的准确率、响应速度、调用成本,选择最优工具。
  • 例如,“查询天气”匹配天气查询API,“查询景点开放时间”匹配景点信息查询工具。

-3. 调用参数构造:

  • 确定需调用的工具后,智能体根据工具的参数要求,结合子任务具体需求,构造符合规范的输入参数;
  • 同时严格校验参数的类型、格式和必填项,避免因参数问题导致调用失败。
  • 例如,天气查询工具需“city”和“date”参数,智能体将构造{"city": "北京", "date": "2026-07-09"}的参数。

-4. 工具调用与结果获取:

  • 智能体通过标准化方式,如HTTP请求调用API、直接调用Python函数,将构造好的参数传递给外部工具,触发工具执行任务并获取返回结果;
  • 若调用失败,分析失败原因,如参数错误、接口异常等,重新构造参数或更换工具再次调用,直至成功获取结果。

-5. 结果解析与复用:

  • 智能体将工具返回的结构化结果解析为自然语言或任务所需格式,融入当前任务执行流程,如将天气数据写入出行攻略的“天气提示”部分;
  • 同时,将工具调用过程和结果存储到动态记忆中,为后续同类任务提供经验复用。

4. 工具调用的应用价值

工具调用能力对智能体和大模型架构的价值,主要体现在两个核心方面:

突破大模型的能力边界:

  • 让大模型能处理实时数据、执行复杂操作、对接外部系统,从“语言模型”升级为“任务执行模型”。
  • 大模型本身无法获取实时天气、股票数据等动态信息,也无法执行代码、操作外部软件,而通过工具调用能力,智能体可对接各类API、软件工具,弥补自身短板,适配更多复杂场景。

提升任务执行的专业性和准确性:

  • 借助外部工具的专业能力,如数据分析工具、地图导航工具、医疗诊断工具,完成大模型自身无法实现的专业任务,提高任务完成质量。
  • 例如,调用专业的数据分析工具处理海量数据,比大模型自身的数据分析能力更精准、高效;调用医疗知识库工具辅助诊断,能提升诊断结果的专业性和可靠性。

5. 工具调用的应用实践

        以下示例演示了AI智能体的工具调用能力,通过标准化的工具描述注册、意图识别匹配、参数自动构造、执行调用与结果解析的完整流程,将用户自然语言需求自动转化为对天气查询和景点信息等外部工具的调度与响应。

import requests
from typing import Dict, List, Optional

# 模拟工具描述列表,存储工具的标准化信息
tool_descriptions = [
    {
        "name": "weather_query",
        "function": "查询指定城市指定日期的天气信息",
        "parameters": [
            {"name": "city", "type": "string", "required": True, "description": "查询的城市名称"},
            {"name": "date", "type": "string", "required": True, "description": "查询的日期,格式为YYYY-MM-DD"}
        ],
        "return_type": "dict",
        "description": "返回包含城市、日期、天气、温度、湿度的字典"
    },
    {
        "name": "scenic_spot_query",
        "function": "查询指定景点指定日期的开放时间",
        "parameters": [
            {"name": "spot_name", "type": "string", "required": True, "description": "景点名称"},
            {"name": "date", "type": "string", "required": True, "description": "查询的日期,格式为YYYY-MM-DD"}
        ],
        "return_type": "dict",
        "description": "返回包含景点名称、日期、开放时间、门票价格的字典"
    }
]

# 模拟天气查询工具(实际场景调用真实API)
def weather_query(city: str, date: str) -> Dict:
    """
    模拟天气查询工具,返回指定城市和日期的天气信息
    :param city: 城市名称
    :param date: 查询日期
    :return: 天气信息字典
    """
    # 模拟返回数据,实际场景替换为真实API请求
    return {
        "city": city,
        "date": date,
        "weather": "晴",
        "temperature": "25-35℃",
        "humidity": "45%"
    }

# 模拟景点信息查询工具(实际场景调用真实API)
def scenic_spot_query(spot_name: str, date: str) -> Dict:
    """
    模拟景点信息查询工具,返回指定景点和日期的开放信息
    :param spot_name: 景点名称
    :param date: 查询日期
    :return: 景点信息字典
    """
    # 模拟返回数据,实际场景替换为真实API请求
    spot_info = {
        "故宫博物院": {"open_time": "8:30-17:00", "ticket_price": "60元"},
        "颐和园": {"open_time": "7:30-18:00", "ticket_price": "30元"},
        "天坛公园": {"open_time": "6:00-22:00", "ticket_price": "15元"}
    }
    return {
        "spot_name": spot_name,
        "date": date,
        "open_time": spot_info.get(spot_name, {"open_time": "暂无信息"})["open_time"],
        "ticket_price": spot_info.get(spot_name, {"ticket_price": "暂无信息"})["ticket_price"]
    }

# 意图识别与工具匹配
def match_tool(task: str) -> Optional[Dict]:
    """
    根据任务需求匹配合适的工具
    :param task: 需要完成的子任务
    :return: 匹配到的工具描述,无匹配则返回None
    """
    # 简单的意图匹配,实际场景使用大模型API
    if "天气" in task and "查询" in task:
        return tool_descriptions[0]
    elif "景点" in task and "开放时间" in task:
        return tool_descriptions[1]
    else:
        return None

# 构造工具调用参数
def build_tool_params(tool: Dict, task: str) -> Dict:
    """
    根据工具参数要求和任务需求,构造调用参数
    :param tool: 工具描述信息
    :param task: 子任务需求
    :return: 工具调用参数字典
    """
    params = {}
    if tool["name"] == "weather_query":
        # 提取城市和日期(简单模拟,实际场景使用大模型解析)
        params["city"] = "北京" if "北京" in task else "上海"
        params["date"] = "2026-07-09" if "明天" in task else "2026-07-08"
    elif tool["name"] == "scenic_spot_query":
        # 提取景点名称和日期
        for spot in ["故宫博物院", "颐和园", "天坛公园"]:
            if spot in task:
                params["spot_name"] = spot
                break
        params["date"] = "2026-07-09" if "明天" in task else "2026-07-08"
    return params

# 执行工具调用
def call_tool(tool: Dict, params: Dict) -> Dict:
    """
    执行工具调用,返回工具执行结果
    :param tool: 工具描述信息
    :param params: 工具调用参数
    :return: 工具返回结果
    """
    tool_name = tool["name"]
    if tool_name == "weather_query":
        return weather_query(**params)
    elif tool_name == "scenic_spot_query":
        return scenic_spot_query(**params)
    else:
        return {"error": "工具不存在"}

# 解析工具返回结果
def parse_tool_result(tool: Dict, result: Dict) -> str:
    """
    解析工具返回的结构化结果,转化为自然语言
    :param tool: 工具描述信息
    :param result: 工具返回的结构化结果
    :return: 自然语言描述的结果
    """
    if "error" in result:
        return f"工具调用失败:{result['error']}"
    if tool["name"] == "weather_query":
        return f"{result['city']}{result['date']}的天气为{result['weather']},温度{result['temperature']},湿度{result['humidity']}。"
    elif tool["name"] == "scenic_spot_query":
        return f"{result['spot_name']}{result['date']}的开放时间为{result['open_time']},门票价格为{result['ticket_price']}。"
    else:
        return "工具返回结果解析失败。"

# 主函数:执行工具调用流程
def main():
    # 子任务列表
    subtasks = [
        "查询北京明天的天气信息",
        "查询故宫博物院明天的开放时间"
    ]
    
    print("Agent开始执行工具调用任务:\n")
    for task in subtasks:
        print(f"当前子任务:{task}")
        # 匹配工具
        tool = match_tool(task)
        if not tool:
            print("未匹配到合适的工具,无法完成该子任务。\n")
            continue
        print(f"匹配到工具:{tool['name']} - {tool['function']}")
        # 构造参数
        params = build_tool_params(tool, task)
        print(f"构造的工具调用参数:{params}")
        # 调用工具
        result = call_tool(tool, params)
        print(f"工具返回结果:{result}")
        # 解析结果
        parsed_result = parse_tool_result(tool, result)
        print(f"解析后的结果:{parsed_result}\n")
        print("-" * 60)

if __name__ == "__main__":
    main()

输出结果:

Agent开始执行工具调用任务:


当前子任务:查询北京明天的天气信息
匹配到工具:weather_query - 查询指定城市指定日期的天气信息
构造的工具调用参数:{'city': '北京', 'date': '2026-07-09'}
工具返回结果:{'city': '北京', 'date': '2026-07-09', 'weather': '晴', 'temperature': '25-35℃', 'humidity': '45%'}
解析后的结果:北京2026-07-09的天气为晴,温度25-35℃,湿度45%。


------------------------------------------------------------
当前子任务:查询故宫博物院明天的开放时间
未匹配到合适的工具,无法完成该子任务。

五、智能体的反思能力

1. 反思能力的核心定义

        反思能力是智能体实现自我迭代优化的“核心动力”,核心是在任务执行过程中或完成后,复盘自身的执行行为、决策过程与任务结果,发现问题、分析根源并优化执行策略,如同人类完成工作后总结经验教训,持续提升工作质量。

        智能体不是仅需要完成任务即可,无需具备反思能力,但实际业务场景中,任务执行存在诸多不确定性,如工具调用失败、任务拆解不合理、用户需求变更等,缺乏反思能力的智能体会重复犯错,而具备反思能力的智能体,可通过复盘规避同类问题,持续提升任务完成质量。

智能体的反思能力分为“过程反思”和“结果反思”两类,二者协同形成迭代闭环:

  • 过程反思是在任务执行中实时监控,发现问题后立即调整执行策略,避免任务偏差扩大;
  • 结果反思是在任务完成后全面复盘,总结成功经验与失败教训,更新到记忆库中,为后续任务提供参考。
  • 例如,工具调用因参数错误失败时,过程反思会立即调整参数重新调用,结果反思会将“参数校验需前置”的经验存入记忆库。

2. 反思能力的底层基础

        智能体的反思能力并非凭空存在,而是依托大模型的逻辑推理、结果评估能力,以及记忆能力的支撑,同时需要完善的闭环反馈机制作为保障,其核心底层基础主要包括三个方面:

-1. 大模型的结果评估与问题诊断能力:

  • 这是反思的核心前提,大模型能对照用户目标和约束条件,判断任务结果的准确性、完整性与贴合度;
  • 同时从任务拆解、工具调用、记忆复用、外部环境四个维度,精准分析问题产生的根源,为后续策略调整提供明确方向。

-2. 记忆能力的支撑作用:

  • 反思的全过程都离不开记忆能力的支撑,诊断问题时,检索同类任务的历史经验快速定位症结;
  • 调整策略时,借鉴过往成功经验制定优化方案;复盘结束后,将反思结果更新到记忆库,实现经验沉淀与复用。

-3. 闭环反馈机制:

  • 完善的反馈机制是反思落地的基础,涵盖系统实时反馈(工具调用异常、错误日志)、自我反馈(执行进度、决策合理性评估)、用户反馈(实时评价、需求调整)三个维度,三者结合为反思提供全面依据,确保反思结果贴合实际场景与用户需求。

3. 反思能力的实现流程

        智能体反思能力的核心是“监控-评估-诊断-调整-复盘”的闭环流程,结合过程反思与结果反思的特点,形成完整的迭代体系,具体执行步骤:

-1. 执行监控与反馈收集:

任务执行过程中,智能体实时监控各子任务的执行状态,为后续反思提供全面、真实的依据,并同步收集三类反馈信息:

  • 系统反馈:工具调用异常、执行错误日志;
  • 自我反馈:执行进度、决策合理性的自我评估;
  • 用户反馈:实时评价、需求临时调整。

-2 结果评估与问题识别:

  • 过程反思中,每个子任务完成后,对照执行标准评估局部结果,及时识别执行偏差,如信息收集不全面、工具调用结果不符合需求;
  • 结果反思中,任务整体完成后,结合用户最终目标评估整体成果,识别与需求的核心偏差,如报告内容不贴合场景、语言风格不符。

-3. 问题诊断与原因分析:

识别问题后,智能体结合历史记忆与逻辑推理,从四个核心维度分析根源:

  • 任务拆解维度:是否拆解不合理、依赖关系错误;
  • 工具调用维度:是否工具选择不当、参数错误;
  • 记忆复用维度:是否复用了错误经验;
  • 外部环境维度:是否网络、接口异常导致问题。

-4. 执行策略调整与问题修正:

根据问题诊断结果,针对性制定优化方案并调整执行策略,确保修正后能顺利推进任务或规避后续同类问题:

  • 信息收集不全面则新增子任务补充收集;
  • 工具调用失败则更换工具或重新构造参数;
  • 记忆复用错误则更新记忆检索逻辑。

-5. 复盘总结与记忆更新:

  • 任务完成后,智能体组织全面复盘,梳理协同执行中的成功经验与问题不足,提炼为结构化信息更新到动态记忆库;
  • 同时优化任务拆解、工具选择、参数构造等核心策略,将反思成果转化为自身能力,实现自我迭代升级。

六、多智能体协同

1. 多智能体协同的核心定义

        多智能体协同是智能体能力的进阶延伸,核心是多个具备不同角色定位与专业优势的智能体,为完成复杂共同目标,通过分工协作、信息交互、协同决策,共同推进任务落地。如果说单个智能体是专业员工,多智能体协同就是专业团队,通过整合各类专业能力,攻克单个智能体无法独立完成的复杂任务。

        结合生活中的团队协作场景即可理解:大型项目需要产品、设计、开发、测试人员分工配合,多智能体协同也是如此。不同智能体被赋予明确的角色定位,如规划智能体负责任务拆解与分配,数据智能体负责数据收集与处理,撰写智能体负责文本生成,反思智能体负责内容审核与复盘,各智能体发挥自身优势,相互配合完成复杂任务。

        举个实际场景案例,“完成一份2026年上半年电商行业数据分析报告并生成可视化大屏”,该任务涉及数据收集、清洗、分析、文本撰写、可视化开发等多个专业环节,单个智能体难以独立完成。

此时可通过多智能体协同实现:

  • 规划智能体拆解任务为五大子任务;
  • 数据智能体调用电商数据API收集数据,并使用Pandas完成清洗;
  • 分析智能体结合行业知识库挖掘数据核心趋势;
  • 撰写智能体根据分析结果撰写专业报告;
  • 可视化智能体调用ECharts工具开发可视化大屏;
  • 最终通过协同配合高效完成整个任务。

2. 多智能体协同的底层基础

        多智能体协同的实现并非简单的多个智能体叠加,而是依托于单个智能体的核心能力、智能体间的高效通信机制,以及科学的协同决策与任务分配模型,三者缺一不可:

-1. 单个智能体的核心能力支撑:

  • 多智能体协同的前提是每个参与协同的智能体,都具备完善的规划、记忆、工具调用、反思四大核心能力,且有明确的角色定位与专业优势。
  • 只有单个智能体能高效完成自身负责的子任务,整个协同流程才能有序推进;
  • 例如数据智能体需具备强大的工具调用与数据处理能力,撰写智能体需具备优秀的语义理解与文本生成能力。

-2. 智能体间的通信机制与协议:

多个智能体要实现高效协同,必须具备顺畅的信息交互能力。常用通信方式包括三种:

  • 消息传递:智能体间通过发送、接收消息交互信息);
  • 共享内存:多智能体共享同一内存空间实现信息同步);
  • 发布/订阅模式:智能体按需发布、订阅任务相关信息);

同时需采用JSON-RPC、HTTP、MQTT等统一通信协议,确保智能体之间能准确解析信息,避免交互不畅。

-3. 协同决策与任务分配模型:

复杂任务的协同需合理分配子任务、协调执行顺序、解决智能体间的冲突,可根据协同场景灵活选择,常用模型包括:

  • 契约网协议:主导智能体发布子任务招标,其他智能体投标,主导智能体选择最优智能体分配任务;
  • 市场机制:将子任务作为“商品”,智能体根据自身能力自主选择;
  • 分布式决策模型:多智能体协商制定任务执行策略与分配方案。

3. 多Agent协同的实现流程

        多智能体协同完成复杂任务的核心流程,可分为目标解析与任务拆解、角色分配与子任务匹配、信息交互与协同准备、子任务协同执行与监控、结果整合与复盘优化五个步骤,各步骤衔接紧密,形成完整的协同闭环,具体执行逻辑:

-1. 共同目标解析与任务拆解:

  • 由主导智能体或多智能体协商接收用户共同目标,通过规划能力将复杂顶层目标,拆解为多个可独立执行、逻辑连贯的子任务;
  • 同时明确每个子任务的执行要求、约束条件、预期结果与时间节点,确保子任务无遗漏、可落地。

-2. 智能体角色分配与子任务匹配:

  • 根据子任务的专业类型、执行难度,结合各智能体的角色定位与能力优势,通过契约网协议等方式精准分配子任务;
  • 主导智能体发布子任务招标,各智能体根据自身能力投标,主导智能体综合评估后确定执行智能体,避免角色重叠、分工混乱。

-3. 智能体间信息交互与协同准备:

  • 子任务分配完成后,各智能体通过统一通信机制,同步子任务要求、领域知识库、历史执行经验等相关信息;
  • 各智能体调用自身记忆能力,检索同类任务经验,梳理执行思路,提前排查潜在问题,为子任务执行做好充分准备。

-4. 子任务协同执行与过程监控:

  • 各执行智能体调用自身核心能力推进子任务执行,执行过程中通过通信机制实时同步执行进度、中间结果与异常信息;
  • 主导智能体或反思智能体负责实时监控各智能体执行状态,及时协调解决执行延迟、结果偏差、信息冲突等问题,确保子任务有序衔接。

-5. 结果整合与复盘优化:

  • 所有子任务执行完成后,主导智能体将各智能体的执行结果汇总、整合,形成完整任务成果反馈给用户;
  • 随后,反思智能体组织各智能体进行协同复盘,梳理成功经验与问题不足,分析原因并制定优化方案,将复盘结果更新到各智能体的记忆库,提升后续协同效率与质量。

4. 多智能体协同的应用价值

        多智能体协同是智能体技术向复杂场景落地的核心支撑,对智能体与大模型架构的价值主要体现在三个方面,凸显其在技术落地与场景适配中的核心作用:

-1. 突破单个智能体的能力边界:

  • 单个智能体的专业范围与能力有限,无法独立完成跨领域、多环节的复杂任务,而多智能体协同可通过不同角色智能体的分工配合,整合各类专业能力;
  • 完成“企业数字化转型方案设计”、“复杂疾病辅助诊断”等高端复杂任务,拓展智能体的应用边界。

-2. 提升任务执行效率:

  • 通过分工协作充分发挥各智能体的专业优势,实现子任务并行执行,大幅缩短任务完成周期。
  • 例如,完成电商数据分析报告时,数据智能体负责数据收集与清洗,分析智能体同步进行数据建模与分析,撰写智能体提前梳理报告框架,相比单个智能体串行执行,效率提升显著。

-3. 提升任务执行的灵活性:

  • 若某个智能体出现故障或执行失败,可快速调配其他智能体接替工作,避免整个任务中断;
  • 面对动态变化的任务需求与外部环境,多智能体可通过协商调整分工与执行策略,快速适配变化,确保任务顺利推进。

七、总结

        总的来说,智能体就是给大模型装上了大脑、手脚和记忆,规划能力帮着拆解任务,记忆能力让它越用越聪明,工具调用能对接外部资源,反思能力能纠错优化,多智能体协同还能组队干活,比单纯的大模型实用太多了;其次,反思能力的闭环不是一次性完成的,而是贯穿智能体的整个生命周期:

  • 反思的持续性:每完成一个任务,智能体都会通过复盘更新记忆、优化执行策略,形成“执行-反思-优化-再执行”的持续迭代闭环;
  • 经验的积累性:随着执行任务的增多,智能体的记忆库中会不断积累成功经验和失败教训,为后续任务提供更丰富的参考依据;
  • 能力的成长性:依托持续的反思与迭代,智能体的执行效率、结果准确性会逐步提升,真正实现越用越聪明的效果,这也是智能体区别于普通大模型的核心优势之一。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。