尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

ACE-GraphRAG:智能体协同构建层次化知识图谱,实现复杂推理问答

ACE-GraphRAG:智能体协同构建层次化知识图谱,实现复杂推理问答 1. 项目概述从RAG到GraphRAG再到ACE-GraphRAG的演进之路最近在折腾大模型应用落地的朋友估计没少跟RAG检索增强生成打交道。这技术确实解决了大模型“一本正经胡说八道”和知识更新不及时的痛点成了企业知识库、智能客服的标配。但做深了就会发现传统RAG有个天花板它把文档切成一块块的“豆腐干”文本块然后靠向量相似度去召回。这种方式处理简单的、事实性的问答还行一旦问题涉及到复杂的逻辑推理、多跳问答或者需要整合文档中分散在不同段落、甚至不同文档里的信息时就显得力不从心了。召回回来的“豆腐干”们彼此孤立模型很难理解它们之间的深层关联。于是GraphRAG图检索增强生成的概念开始进入视野。它的核心思想很直观与其把知识切成孤立的片段不如构建一个知识图谱。把文档里的实体比如人物、地点、概念和它们之间的关系比如“属于”、“导致”、“合作”抽取出来形成一个结构化的网络。当用户提问时系统可以在这个知识图谱上进行推理沿着关系路径找到相关的实体簇从而更精准地召回具有逻辑关联的信息块。这就像是把一堆散乱的乐高积木按照说明书拼成了一个个有意义的模型组件检索时直接找组件而不是在一大堆单块积木里大海捞针。然而GraphRAG的落地门槛不低。构建一个高质量的知识图谱本身就是个专业活涉及到实体识别、关系抽取、图谱构建与维护等一系列复杂工序。更关键的是这个图谱是“静态”的——它基于预先定义好的schema模式和抽取规则。当面对一个全新的、领域特定的文档集时如何设计一个最贴合该领域知识结构的图谱schema如何确保抽取的关系能准确反映文档中的复杂语义这些问题往往需要大量的人工干预和领域专家知识。这正是“ACE-GraphRAG: Agentic Context Engineering for Hierarchical GraphRAG”这个项目试图破局的关键。它引入了一个非常有意思的概念Agentic Context Engineering智能体驱动的上下文工程。简单说它不再要求人类工程师事先定义好一切而是把构建和优化GraphRAG上下文即知识图谱结构的任务交给一个或多个具备特定能力的AI智能体Agent去协同完成。这些智能体能够自主分析文档集动态地发现实体、推断关系、构建层次化的图谱结构甚至能根据查询的反馈进行自我优化。“Hierarchical”层次化则是另一个亮点它意味着构建的图谱不是扁平的而是有层级的可能包含从宏观主题到微观细节、从抽象概念到具体实例的多级结构这使得知识组织和检索更加高效和精准。在我看来ACE-GraphRAG代表了一种范式转变从“人工设计静态图谱”转向“智能体动态构建与优化图谱”。它瞄准的是GraphRAG规模化、自动化落地的核心瓶颈试图让复杂的知识结构化过程变得更加智能和自适应。这对于处理海量、多源、动态更新的企业文档或者探索开放域、复杂推理的问答场景具有很大的吸引力。2. 核心架构拆解智能体如何协同构建层次化知识图谱理解ACE-GraphRAG关键在于拆解它的两个核心部分“Agentic Context Engineering”和“Hierarchical GraphRAG”。这并非简单的功能叠加而是一套环环相扣的自动化工作流。2.1 Agentic Context Engineering分工明确的智能体工作组这里的“智能体”不是单一模型而是一个各司其职的协同系统。我们可以将其想象成一个专门负责知识图谱构建的“项目组”每个成员智能体拥有独特的技能。1. 架构解析智能体这是工作流的起点。它的任务是对输入的原始文档集可能是PDF、Word、网页文本等进行宏观分析。它不急于抽取细节而是像一位编辑先浏览全书目录一样试图理解文档的整体组织方式、核心主题分布以及潜在的逻辑结构。例如面对一份产品技术白皮书它可能识别出“概述”、“技术原理”、“应用场景”、“规格参数”、“FAQ”等几个主要部分。这个智能体通常会利用大模型的总结、分类和结构识别能力为后续的细粒度处理划定边界和提供上下文。2. 实体与关系抽取智能体这是图谱构建的“主力工人”。在架构解析智能体提供的上下文指导下它开始深入每一部分文本执行信息抽取任务。这里通常采用“流水线”或“联合抽取”模型。实体识别识别文本中的关键对象如产品名、技术术语、人名、组织、日期、数值参数等。这些实体将成为图谱中的“节点”。关系抽取判断识别出的实体之间存在着何种语义关系。例如“技术A基于技术B”、“组件X是组件Y的一部分”、“事件M导致结果N”。这些关系构成图谱中的“边”。这个智能体的挑战在于准确性和一致性。它需要处理同义词“LLM”和“大语言模型”、指代消解“该产品”、“上述方法”以及隐含关系。3. 图谱构建与层次化组织智能体这是赋予GraphRAG“层次化”特性的关键角色。它接收抽取出来的原始实体和关系可能是一堆平铺的节点和边然后执行聚类、抽象和层级归纳。聚类将语义相似或属于同一类别的实体聚集在一起。例如将所有提到的“机器学习算法”如SVM、随机森林、神经网络归为一个簇。抽象为聚类生成一个高层级的抽象概念或类别节点。例如创建一个名为“机器学习算法”的父节点并与SVM、随机森林等子节点建立“属于”或“实例”关系。层级归纳递归地应用上述过程形成多级层次。例如“深度学习”可能是“机器学习”的一个子类而“卷积神经网络”又是“深度学习”的一个子类。这样图谱就从扁平的网状结构变成了一个树状与网状结合的多层结构。这种结构极大地优化了检索效率当查询“神经网络”时系统可以快速定位到“深度学习”下的相关子类而不是遍历所有实体。4. 查询分析与图谱遍历智能体当用户提问时这个智能体开始工作。它首先分析查询的意图将其解析为需要在图谱中查找的实体或关系模式。然后它像一位导航员在图谱上执行高效的遍历算法。得益于层次化结构它不必进行全图扫描而是可以自上而下定位先匹配高层级的概念再逐层向下钻取快速收敛到相关子树。多跳推理沿着关系边进行多步移动回答诸如“导致某产品延迟发布的主要原因是什么”这类需要连接多个事实的问题。子图检索将与查询最相关的节点及其紧密连接的邻居节点形成一个子图一起召回为生成阶段提供富含逻辑结构的上下文。5. 优化与反馈智能体闭环核心这是体现“工程”动态性的部分。该智能体监控整个系统的表现特别是最终生成答案的质量。如果答案不准确或信息不全它可以反向追溯问题源头是查询解析有误图谱遍历路径不对还是底层实体/关系抽取错了基于这些分析它可以生成调整指令例如“在‘可靠性’和‘组件A’之间增加一条‘影响’关系”或者“将‘术语B’归类到‘技术标准’节点下”。这些指令会被反馈给前面的智能体驱动图谱进行迭代优化形成一个自我完善的闭环。2.2 Hierarchical GraphRAG层次化图谱的结构优势这种由智能体构建出的层次化图谱相比传统扁平图谱或向量检索带来了根本性的优势1. 检索精度与召回率的平衡扁平向量检索容易受语义相似度局限可能召回大量相关但冗余或片面的信息。层次化图谱通过逻辑关系进行检索能更精准地定位到与查询意图匹配的知识子结构同时通过关系路径发现那些语义不直接相似但逻辑上高度相关的信息改善了召回率。2. 支持复杂推理与多跳问答这是GraphRAG的杀手锏。层次化结构为推理提供了清晰的路径。例如问答“公司去年在亚太区推出的旗舰产品遇到了哪些主要挑战”系统可以沿着“公司 - 产品线 - 旗舰产品 - 发布记录时间去年地区亚太- 市场反馈 - 挑战”这样一条路径进行推理和检索这是传统RAG难以做到的。3. 知识可解释性增强返回的答案可以附带其推理路径即检索到的子图直观地展示答案是如何从原始知识中推导出来的增强了可信度和可解释性这对于企业级应用至关重要。4. 动态可扩展性当有新文档加入时智能体可以将其分析后像插件一样整合到现有的层次化图谱中更新或新增节点与边而无需完全重建索引。层次结构也使得增量更新更加高效。注意智能体协同并非总是顺滑的。一个常见的问题是“误差累积”架构解析的偏差可能导致后续抽取范围错误抽取错误会直接污染图谱基础而层次归纳算法的不当可能扭曲知识本来的结构。因此设计稳健的智能体间通信协议和交叉验证机制是保证系统可靠性的关键。3. 实操构建一步步实现一个简易的ACE-GraphRAG原型理论说了这么多我们来动手搭建一个简化版的ACE-GraphRAG原型以便深入理解其工作流程。我们将使用Python生态中常见的工具链。3.1 环境准备与工具选型首先明确我们的技术栈选择及其理由语言模型LLM核心选择 OpenAI GPT-4 或 Anthropic Claude 的API。理由是它们目前在复杂指令遵循、文本分析和推理任务上表现最为稳定可靠是驱动多个智能体的“大脑”。本地模型如 Llama 3 也可行但对提示工程和计算资源要求更高。图谱数据库选用Neo4j。它是属性图模型的代表查询语言Cypher非常直观特别适合表达多跳查询和路径查找与GraphRAG的推理需求天然契合。云服务或Docker部署都很方便。开发框架使用LangChain或LlamaIndex。它们提供了智能体Agent、工具Tool、工作链Chain的高层抽象能极大地简化多智能体协同流程的编排。这里我们以LangChain为例。信息抽取对于生产环境可以考虑微调一个专门的NER和RE模型。但对于原型我们将利用大模型本身的能力通过精心设计的提示词Prompt让其完成抽取任务这被称为“零样本”或“少样本”抽取。安装核心库pip install langchain langchain-openai langchain-experimental neo4j python-dotenv确保你已准备好OpenAI API Key和Neo4j数据库的连接信息URI、用户名、密码。3.2 智能体工作流实现我们模拟一个场景分析几篇关于“电动汽车电池技术”的科技文章构建知识图谱并回答复杂问题。步骤1文档加载与预处理from langchain_community.document_loaders import WebBaseLoader, TextLoader from langchain_text_splitters import RecursiveCharacterTextSplitter # 假设我们从几个URL和本地文件加载文档 urls [https://example.com/ev-battery-article1, ...] loaders [WebBaseLoader(url) for url in urls] documents [] for loader in loaders: documents.extend(loader.load()) # 为了便于智能体处理进行适度分块。注意这里分块不是为了向量检索而是为了控制每次处理文本的长度。 text_splitter RecursiveCharacterTextSplitter(chunk_size2000, chunk_overlap200) texts text_splitter.split_documents(documents)步骤2定义智能体及其工具我们将为之前提到的几个核心智能体角色定义对应的函数或工具。架构解析智能体分析文档块输出潜在的主题、章节或关键话题列表。from langchain_openai import ChatOpenAI from langchain_core.prompts import ChatPromptTemplate from langchain_core.output_parsers import JsonOutputParser import json llm ChatOpenAI(modelgpt-4-turbo, temperature0.1) def analyze_structure(text_chunk): prompt ChatPromptTemplate.from_messages([ (system, 你是一个文档结构分析专家。请分析以下文本识别出它所讨论的宏观主题、子话题或潜在的知识模块。以JSON格式输出包含main_themes列表和potential_sections列表两个字段。), (human, 文本内容{text}) ]) chain prompt | llm | JsonOutputParser() result chain.invoke({text: text_chunk.page_content}) return result实体关系抽取智能体从文本中抽取实体和关系。def extract_entities_relations(text_chunk, context_themes): prompt ChatPromptTemplate.from_messages([ (system, 你是一个信息抽取专家。根据提供的上下文主题和文本抽取出所有重要的实体如技术、产品、材料、属性、组织、人物等以及它们之间的关系。 上下文主题{themes} 请以JSON格式输出包含一个entities列表每个实体有name和type字段和一个relations列表每个关系有head头实体名、relation关系类型、tail尾实体名字段。关系类型请使用简洁的动词短语如uses, improves, is_a_type_of, developed_by等。 ), (human, 文本内容{text}) ]) chain prompt | llm | JsonOutputParser() result chain.invoke({themes: context_themes, text: text_chunk.page_content}) return result图谱构建与层次化智能体这是一个更复杂的函数它需要整合多个抽取结果进行聚类和层级归纳。这里我们做一个简化版利用LLM对实体进行归类。def build_hierarchical_graph(extracted_data_list): # 整合所有抽取的实体和关系 all_entities {} all_relations [] for data in extracted_data_list: for entity in data.get(entities, []): all_entities[entity[name]] entity.get(type, Unknown) all_relations.extend(data.get(relations, [])) # 简化版层次化让LLM将实体分类到预定义或自动发现的高层类别中 entity_list_str , .join(all_entities.keys()) prompt ChatPromptTemplate.from_messages([ (system, 请将以下实体列表组织成一个简单的层次结构。请先识别出3-5个高层级类别例如电池技术、材料科学、制造商、性能指标然后将每个实体归入最合适的类别下。 实体列表{entities} 以JSON格式输出包含一个categories字段每个类别有name和members列表。 ), (human, 请执行分类。) ]) chain prompt | llm | JsonOutputParser() hierarchy chain.invoke({entities: entity_list_str}) # 将分类信息转化为待插入图谱的“属于”关系 hierarchical_relations [] for category in hierarchy.get(categories, []): for member in category.get(members, []): if member in all_entities: hierarchical_relations.append({ head: member, relation: belongs_to_category, tail: category[name] }) # 合并原始关系和层次关系 all_relations.extend(hierarchical_relations) return {entities: all_entities, relations: all_relations}步骤3构建并存储知识图谱到Neo4jfrom langchain_community.graphs import Neo4jGraph graph Neo4jGraph( urlbolt://localhost:7687, usernameneo4j, passwordyour_password ) def store_knowledge_graph(graph_data): entities graph_data[entities] relations graph_data[relations] # 清空现有图谱原型阶段生产环境应为增量更新 graph.query(MATCH (n) DETACH DELETE n) # 创建实体节点 for name, type_ in entities.items(): # 使用MERGE避免重复创建并设置标签和属性 query MERGE (e:Entity {name: $name}) SET e.type $type RETURN e graph.query(query, params{name: name, type: type_}) # 创建关系边 for rel in relations: query MATCH (a:Entity {name: $head}) MATCH (b:Entity {name: $tail}) MERGE (a)-[r:RELATION {type: $relation}]-(b) RETURN r graph.query(query, params{head: rel[head], tail: rel[tail], relation: rel[relation]}) print(f已存储 {len(entities)} 个实体和 {len(relations)} 条关系。)步骤4查询与检索智能体实现def query_graphrag(user_question): # 首先将自然语言问题转换为图谱查询模式Cypher语句 cypher_generation_prompt ChatPromptTemplate.from_messages([ (system, 你是一个Neo4j Cypher查询专家。根据以下知识图谱的节点标签Entity和关系类型RELATION.type将用户的问题翻译成一个有效的Cypher查询语句。 已知 - 节点标签Entity节点有属性name, type。 - 关系类型RELATION关系有属性type。 用户问题{question} 请只返回Cypher查询语句不要有其他解释。查询的目标是找到与问题最相关的实体节点及其直接相连的节点深度为1或2返回这些节点的name、type属性和它们之间的关系。 ), (human, 生成Cypher查询。) ]) cypher_chain cypher_generation_prompt | llm cypher_query cypher_chain.invoke({question: user_question}).content # 执行查询 try: result graph.query(cypher_query) except Exception as e: return f查询执行出错{e}生成的查询语句是{cypher_query} # 将查询结果格式化为文本上下文 context_text 知识图谱检索结果\n for record in result: # 根据查询返回的具体结构进行格式化这里假设返回路径或节点 context_text str(record) \n # 将检索到的上下文和原问题一起交给LLM生成最终答案 answer_prompt ChatPromptTemplate.from_messages([ (system, 你是一个问答助手。请基于以下检索到的结构化知识准确、简洁地回答用户的问题。如果知识不足以回答请如实说明。\n检索到的知识{context}), (human, 问题{question}) ]) answer_chain answer_prompt | llm final_answer answer_chain.invoke({context: context_text, question: user_question}) return final_answer.content步骤5串联工作流# 主工作流 def ace_graphrag_pipeline(documents): # 1. 架构解析示例对第一个大块进行分析 structure analyze_structure(documents[0]) print(架构解析结果, structure) # 2. 对每个文档块进行实体关系抽取可并行处理 all_extractions [] for doc in documents[:5]: # 原型阶段处理前5个块 extraction extract_entities_relations(doc, structure[main_themes]) all_extractions.append(extraction) # 3. 构建层次化图谱数据 graph_data build_hierarchical_graph(all_extractions) # 4. 存储到Neo4j store_knowledge_graph(graph_data) print(ACE-GraphRAG 知识图谱构建完成) # 运行管道 ace_graphrag_pipeline(texts) # 进行问答 question 固态电池相比锂离子电池在安全性方面有哪些改进 answer query_graphrag(question) print(f问题{question}\n答案{answer})这个原型清晰地展示了ACE-GraphRAG的核心流程智能体分工处理文档构建并存储层次化图谱最后通过图谱查询来增强问答。虽然简化了很多比如优化反馈闭环、更复杂的层次聚类算法但它已经具备了雏形。4. 关键挑战与优化策略在实际部署ACE-GraphRAG时会遇到一系列工程化和算法上的挑战。以下是我在实验和调研中总结的几个关键点及应对思路。4.1 智能体协作的稳定性与一致性挑战多个LLM驱动的智能体串联工作任何一个环节的“幻觉”或偏差都会被放大和传递。例如抽取智能体错误地识别了一个关系这个错误会被固化到图谱中进而影响所有后续查询。优化策略交叉验证与投票机制对于关键任务如关系抽取可以并行运行多个同质智能体使用不同提示词或模型然后对结果进行投票或取交集以提高准确性。置信度评分为智能体输出的每个结果如一个实体、一条关系附加一个置信度分数。低置信度的结果可以进入人工审核队列或者在图谱查询时被赋予更低的权重。严格的模式约束为每个智能体定义清晰、结构化的输出模式JSON Schema并使用LangChain的PydanticOutputParser等工具强制解析减少自由文本输出带来的不一致性。4.2 层次化图谱的构建质量挑战自动生成的层次结构可能不符合人类的认知逻辑或者过于琐碎或者过于笼统反而降低检索效率。优化策略混合初始化不要完全从零开始。可以提供一个轻量级的、领域相关的顶层本体Ontology作为种子。例如对于医疗领域顶层可以有“疾病”、“症状”、“药品”、“检查”等类别。智能体在此基础上进行细化和实例化比完全无监督聚类效果更好。动态层级调整引入“图谱优化智能体”定期分析查询日志。如果发现某些高层级节点下的子节点被频繁共同查询可以考虑保持或加强该层级如果某个层级很少被用到可以考虑将其合并或删除。让图谱结构根据使用反馈进行演化。基于嵌入的聚类辅助在让LLM进行语义归类的同时可以计算实体的文本嵌入如通过text-embedding-3-small使用聚类算法如HDBSCAN进行辅助划分为LLM提供数据驱动的参考。4.3 查询转换的准确性与效率挑战将自然语言问题精准地转换为Cypher查询语句NL2Cypher是难点。生成的查询可能语法错误、逻辑错误或者无法利用索引导致性能低下。优化策略Few-shot Prompting在提示词中提供多个高质量的“问题-Cypher查询”示例涵盖不同的查询模式如多跳查询、属性过滤、聚合查询让LLM有更明确的参考。查询分解与重写对于复杂问题先让一个智能体将其分解成多个简单的子问题分别生成子查询执行后再将结果整合。或者先生成一个初步查询由另一个智能体检查其合理性和效率并进行重写。向量索引作为备用路径并非所有查询都适合图谱检索。对于简单的、事实性的、关键词匹配类的问题可以保留传统的向量检索作为快速通道。系统可以有一个路由智能体根据问题的复杂度决定走GraphRAG路径还是Vector RAG路径形成混合检索系统。4.4 系统性能与成本挑战多个LLM调用、图谱遍历、实时查询生成可能导致延迟较高且API调用成本不菲。优化策略异步与批处理文档处理阶段的智能体调用可以完全异步和批处理进行尤其对于实体关系抽取这种可以独立处理文本块的任务。缓存策略对常见的查询模式及其生成的Cypher语句进行缓存。对图谱中稳定的部分如高层级结构、核心实体关系的查询结果也可以进行缓存。模型分层使用在不需要极强推理能力的环节如初步的文本清洗、简单的实体识别使用更小、更快的模型如GPT-3.5-Turbo甚至专用的本地小模型。只在核心的推理、归纳、查询生成环节使用大模型。图谱查询优化在Neo4j中为频繁查询的实体属性和关系类型建立索引精心设计Cypher查询以避免笛卡尔积等性能陷阱。实操心得在项目初期不要追求全自动的完美闭环。“人在环路”Human-in-the-loop是一个极其有价值的策略。尤其是在图谱构建和优化阶段设置一个管理界面让领域专家能够方便地审核、修正智能体抽取的实体关系调整层次结构。这不仅能立即提升图谱质量这些人工反馈数据更是训练和微调智能体的宝贵资源能加速系统向全自动化的演进。5. 典型应用场景与未来展望ACE-GraphRAG并非一个炫技的概念它在多个对知识深度和推理能力有要求的场景下能展现出传统RAG难以比拟的价值。5.1 复杂业务文档分析与决策支持场景投资机构需要分析某家科技公司的历年财报、技术白皮书、专利文件、行业研报以判断其技术壁垒和未来风险。传统RAG局限询问“该公司在固态电池领域的专利布局如何”可能召回一堆包含“固态电池”和“专利”字眼的片段但无法串联起专利之间的引用关系、技术演进路径以及核心发明人团队。ACE-GraphRAG优势智能体能从文档中抽取“公司”、“专利”、“技术领域”、“发明人”、“引用关系”、“申请时间”等实体和关系构建一个层次化的知识图谱例如技术领域 - 细分技术 - 具体专利。查询时系统能清晰地展示该公司在固态电池领域的专利集群、核心发明人网络以及技术发展时间线为投资决策提供深度洞察。5.2 跨文档、多跳知识问答场景企业内部有产品手册、客户案例库、技术问题日志等多个知识源。客服人员遇到一个复杂问题“客户A在使用我们V2.0版本产品时遇到的XX故障在最新的V3.1版本中是否已通过YY改进方案解决”传统RAG局限很难将“客户A”、“V2.0”、“XX故障”、“V3.1”、“YY改进”这些分散在不同文档中的信息点关联起来。ACE-GraphRAG优势图谱能建立“客户A - 报告 - 故障XX - 发生于 - 产品V2.0”以及“改进方案YY - 解决 - 类似故障 - 包含于 - 产品V3.1发布说明”这样的关联路径。通过图谱遍历系统能自动推理并给出肯定或否定的答案并附上证据链。5.3 动态知识库与持续学习场景一个前沿科技资讯站每天涌入大量新闻、博客、论文预印本。传统RAG局限向量库需要频繁全量或增量重建索引新知识与旧知识是割裂的无法自动建立联系。ACE-GraphRAG优势智能体可以持续监控新文档将其整合到现有图谱中。例如一篇关于“新型电解质材料Z”的论文可以被自动分析识别出材料Z并将其链接到图谱中已有的“固态电池”、“电解质”等节点下同时可能与“公司B的最新研究”建立关联。知识库像一个有生命的有机体一样生长、演化。5.4 未来发展方向从我个人的观察来看ACE-GraphRAG以及更广义的Agentic RAG有几个值得关注的方向多模态图谱不仅处理文本还能处理图像、表格、图表中的信息构建包含视觉实体和关系的多模态知识图谱。例如从产品结构图中抽取组件关系从曲线图中识别趋势并与文本描述关联。智能体专业化与微调针对特定领域如法律、生物医学微调专用的信息抽取智能体、图谱构建智能体大幅提升在垂直领域的准确性和效率。更加鲁棒的闭环优化如何设计更有效的奖励信号来驱动优化智能体如何量化图谱的“质量”并以此作为优化目标这涉及到更复杂的强化学习或课程学习机制。与工作流引擎深度集成将ACE-GraphRAG作为企业自动化工作流如RPA的“知识大脑”让流程中的决策点能够实时查询动态图谱实现基于深度知识的智能流程自动化。最后一点体会ACE-GraphRAG将RAG从“记忆检索”推向“知识推理”这无疑是迈向更智能信息系统的关键一步。它的实现复杂度确实更高但带来的能力提升是质变的。对于开发者而言起点不必追求大而全的原型可以从一个具体的、高价值的业务问题切入先实现一个最小可用的智能体协同流程再逐步迭代扩展。在这个过程中对领域知识的理解、对智能体行为的观察和调优其重要性丝毫不亚于算法和代码本身。
返回列表