当前位置: 首页 > news >正文

RAG 2.0 落地实战:从「检索增强」到「知识推理」的工程跃迁

如果说 RAG 的 1.0 版本是"向量相似度检索 + 大模型生成",那 2026 年的 2.0 版本已经明确指向了另一个方向——从"像不像"到"对不对",从"模块"到"循环",从"补丁"到"认知结构"。

写在前面:你的 RAG 还在 1.0 吗?

先问个灵魂拷问——你团队里的 RAG 系统,现在是不是还长这样?

用户问题 → 文本切块 → Embedding → 向量库检索 → 拼接上下文 → 大模型生成

如果答案是肯定的,别慌,你并不孤独。根据 SegmentFault 在 2026 年初发布的《RAG 技术落地现状调研》,超过 65% 的生产环境 RAG 系统仍然停留在这种经典的向量检索流水线上。这套架构在 2023-2024 年是行业标准,但到了 2026 年,它正在暴露出三个致命缺陷:

问题具体表现影响程度
语义天花板向量相似度只能判断"像不像",无法捕捉实体间的关系和逻辑链条🔴 致命
中间信息丢失长上下文塞入后,大模型倾向于忽略中间位置的片段(Lost in the Middle)🟠 严重
无法支撑 Agent单次问答式检索,不支持多步骤推理和多轮工具调用🟠 严重

更扎心的是,随着 GPT-5.5、Claude Opus 4.7 等模型的上下文窗口突破百万 token,传统 RAG 的"补充知识"价值正在被稀释。当模型能一口气读完一整本书时,你辛辛苦苦搭建的向量库检索管道,还有多少存在感?

答案不是 RAG 死了,而是RAG 正在经历一场深刻的架构跃迁。2026 年的行业共识已经非常清晰:下一代 AI 应用的基础架构由三大技术支柱构成——GraphRAG、Agentic RAG、Memory-Augmented AI

接下来我们逐一拆解。


一、GraphRAG:从"相似度匹配"到"关系推理"

1.1 核心思路:把文档变成图谱

GraphRAG 的核心思想可以用一句话概括:

不存文本切片,存实体关系;不做相似度搜索,做路径推理。

传统 RAG 的数据流是这样的:

# 传统 RAG 的经典流程from langchain.embeddings import OpenAIEmbeddingsfrom langchain.vectorstores import Chromafrom langchain.chains import RetrievalQAfrom langchain.chat_models import ChatOpenAI# 1. 文档切块documents = text_splitter.split_documents(raw_docs)# 2. 向量化embeddings = OpenAIEmbeddings(model="text-embedding-3-small")vectorstore = Chroma.from_documents(documents, embeddings)# 3. 相似度检索 + 生成qa_chain = RetrievalQA.from_chain_type( llm=ChatOpenAI(model="gpt-4o"), chain_type="stuff", retriever=vectorstore.as_retriever(search_kwargs={"k": 5}))answer = qa_chain.run("张三负责的项目有哪些合规风险?")

这段代码看起来人畜无害,但它在处理下面这类问题时会直接翻车:

“张三负责的项目在 2026 Q1 存在哪些合规风险?”

为什么?因为答案分散在多个文档里,需要跨文档推理

  • 文档A:张三 → 负责项目X
  • 文档B:项目X → 涉及监管事件C
  • 文档C:事件C → 属于合规风险D类

传统向量检索找到的是"和张三最像的段落",而不是这条关系链

GraphRAG 的做法完全不同:

# GraphRAG 核心概念示意(基于 Neo4j)from neo4j import GraphDatabasedriver = GraphDatabase.driver("bolt://localhost:7687")def build_knowledge_graph(documents: list[dict]): """ 将文档集合构建为知识图谱 实体抽取 + 关系识别 → 图数据库存储 """ with driver.session() as session: for doc in documents: # Step 1: LLM 抽取实体和关系 entities_relations = extract_entities_with_llm(doc["text"]) # Step 2: 写入图数据库 for er in entities_relations: session.run(""" MERGE (a:Entity {name: $head, type: $head_type}) MERGE (b:Entity {name: $tail, type: $tail_type}) MERGE (a)-[:$relation {source: $doc_id}]->(b) """, head=er["head"], tail=er["tail"], relation=er["relation"], head_type=er["head_type"], tail_type=er["tail_type"], doc_id=doc["id"])def graph_rag_query(question: str) -> str: """ 基于图谱的多跳查询 先用 LLM 将自然语言转成图查询模式,再执行 """ with driver.session() as session: # 将用户问题转化为 Cypher 查询意图 query_intent = translate_to_graph_pattern(question) result = session.run(query_intent.cypher) paths = [record.data() for record in result] # 将检索到的路径送入 LLM 生成最终答案 return generate_answer_from_paths(paths, question)

1.2 GraphRAG vs 传统 RAG:关键差异对比

维度传统 RAG (1.0)GraphRAG (2.0)
数据存储向量库(稠密向量)图数据库(节点+边)
检索逻辑余弦相似度多跳路径遍历
回答能力单跳事实查找跨文档复杂推理
可解释性低(只知道"这几段最相关")高(完整的关系链路)
构建成本高(2-3倍于传统方案)
适用场景FAQ、手册问答风险分析、供应链追溯、法律交叉引用

微软在 2024 年开源了 GraphRAG 方案后,2026 年已发展出完整的工程生态。实测数据显示,**在多实体关系推理场景下,GraphRAG 的准确率可达 85%-92%**,而传统 RAG 通常只有 45%-60%。

1.3 工程落地的关键决策点

但 GraphRAG 不是银弹。在做技术选型前,请先回答这三个问题:

  1. 你的业务是否涉及多跳推理?如果只是单跳问答(比如"这个API的参数是什么?"),传统 RAG + 混合检索足够了,上 GraphRAG 是杀鸡用牛刀。
  2. 你有维护图谱的资源吗?知识图谱的构建和维护成本是传统方案的 2-3 倍,需要持续的实体对齐和关系更新。
  3. 是否需要可审计的推理链?金融、医疗、法律等强合规领域,每个决策背后都需要明确的事实来源链——这正是 GraphRAG 的杀手锏。

选型速查表

你的场景推荐方案
产品手册/FAQ 检索传统 RAG + BM25 混合检索 + ReRank
企业知识库/内部文档传统 RAG + 查询改写 + 上下文压缩
风险传导/合规审计GraphRAG(Neo4j + LLM)
供应链/产业链分析GraphRAG + 时序图谱
通用智能客服Agentic RAG(见下章)

二、Agentic RAG:让检索走进推理循环

2.1 架构级变化:RAG 从「模块」变成「循环」

如果说 GraphRAG 解决的是**“检索什么"的问题,那 Agentic RAG 解决的就是"什么时候检索、怎么检索、检索几次”**的问题。

传统 RAG 的架构是一个线性管道

用户提问 → [检索] → [拼接上下文] → [LLM生成] → 返回答案 ↑ ↓ 只执行一次 结束

Agentic RAG 把它改成了一个推理循环

用户提问 → [思考] → [决定:需要检索] → [执行检索] → [再思考] → [决定:信息不够,换个方式查] → [再次检索] → [再思考] → [决定:可以回答了] → [生成答案] → 返回

这不仅是流程的变化,更是架构定位的根本转变:RAG 不再是一个独立的外挂模块,而是 Agent 推理循环中的一个内置能力。

2.2 一个真实的 Agentic RAG 实现

来看一段基于 LangGraph 的实际实现:

from typing import TypedDict, Annotated, Literalfrom langgraph.graph import StateGraph, ENDfrom langgraph.checkpoint.memory import MemorySaverfrom langchain_core.messages import HumanMessage, SystemMessage# 定义 Agent 状态class RagAgentState(TypedDict): question: str retrieved_docs: list[str] reasoning_history: list[str] final_answer: str retrieval_round: int# 节点1:思考与决策def think_node(state: RagAgentState) -> dict: """Agent 判断当前信息是否足够回答问题""" prompt = f""" 用户问题:{state['question']} 已检索到的文档:{state.get('retrieved_docs', [])} 已完成的推理轮次:{state.get('retrieval_round', 0)} 请判断: 1. 当前信息是否足以回答用户问题? 2. 如果不够,下一步应该用什么策略检索?(关键词扩展/换数据库/调用工具) 3. 输出 JSON 格式决策。 """ response = llm.invoke([SystemMessage(content="你是检索决策专家")], [HumanMessage(content=prompt)]) return {"reasoning_history": state.get("reasoning_history", []) + [response.content]}# 节点2:执行检索def retrieve_node(state: RagAgentState) -> dict: """根据决策执行不同检索策略""" last_reasoning = state["reasoning_history"][-1] if"vector_search"in last_reasoning: docs = vectorstore.similarity_search(state["question"], k=5) elif"graph_query"in last_reasoning: docs = graph_db.query(state["question"]) elif"keyword_search"in last_reasoning: docs = bm25_searcher.search(state["question"]) else: docs = [] return { "retrieved_docs": state.get("retrieved_docs", []) + [d.page_content for d in docs], "retrieval_round": state.get("retrieval_round", 0) + 1 }# 节点3:生成答案def answer_node(state: RagAgentState) -> dict: """基于所有检索结果生成最终答案""" context = "\n\n".join(state["retrieved_docs"]) answer = llm.invoke(f"基于以下资料回答问题。\n\n资料:{context}\n\n问题:{state['question']}") return {"final_answer": answer.content}# 路由函数:决定下一步走哪个分支def should_continue(state: RagAgentState) -> Literal["retrieve", "answer", "end"]: round_num = state.get("retrieval_round", 0) max_rounds = 3# 最多检索3轮,防止无限循环 if round_num >= max_rounds: return"answer" last_thought = state["reasoning_history"][-1] if state.get("reasoning_history") else"" if"sufficient"in last_thought or"can_answer"in last_thought: return"answer" return"retrieve"# 构建 Agent 图workflow = StateGraph(RagAgentState)workflow.add_node("think", think_node)workflow.add_node("retrieve", retrieve_node)workflow.add_node("answer", answer_node)workflow.set_entry_point("think")workflow.add_conditional_edges("think", should_continue, { "retrieve": "retrieve", "answer": "answer"})workflow.add_edge("retrieve", "think") # 检索完回到思考workflow.add_edge("answer", END)agent = workflow.compile(checkpointer=MemorySaver())

这段代码的核心价值在于三点:

  1. 自主决策:Agent 自己判断要不要继续检索,不需要人工设定固定的 k 值或阈值
  2. 多源融合:同一轮对话中可以混合使用向量检索、图查询、关键词搜索等多种策略
  3. 天然防幻觉:每一步推理都有据可循,检索历史全程可追溯

2.3 Agentic RAG 的性能考量

当然,天下没有免费的午餐。Agentic RAG 的多轮检索意味着更高的延迟和成本:

指标传统 RAGAgentic RAG (平均)优化目标
平均检索轮次12-3≤2
P95 延迟1.5-3s5-12s<8s
Token 消耗~2000/次~5000-8000/次<6000/次

优化手段包括:

  • 语义缓存:高频相似问题命中缓存后直接返回,跳过整个检索循环
  • 小模型路由:用轻量模型做检索决策,只在生成阶段调用大模型
  • 并行检索:在"不确定该用哪种检索方式"时,同时发起多种检索请求,取并集

三、Memory-Augmented AI:让 AI 拥有长期记忆

3.1 从无状态到有状态:认知结构的质变

这是 2026 年最重要、也最容易被忽视的一个方向。

传统 RAG 是无状态的——每次请求都是独立的,检索→生成→遗忘,下一次再来同样的问题,一切重头开始。但在真实业务中,用户期望 AI 能记住之前的交互:

“上次你帮我查的那个风险分析报告,现在有新的进展了吗?”

没有记忆系统的 RAG 对此束手无策。而 Memory-Augmented AI 引入了三层记忆架构:

记忆层级存储内容保持时间典型实现
工作记忆当前对话上下文当前会话Context Window / Slide Window
短期记忆近期交互摘要数天~数周Summary Store / Vector Memory
长期记忆用户画像、偏好、知识积累永久Knowledge Graph / Structured DB

3.2 一个轻量级记忆系统实现

from dataclasses import dataclass, fieldfrom datetime import datetimefrom typing import Optionalimport jsonimport hashlib@dataclassclass MemoryEntry: """单条记忆条目""" content: str timestamp: datetime memory_type: str # "fact" | "preference" | "interaction_summary" importance: float # 0.0 - 1.0 source_conversation: str embedding: Optional[list[float]] = Noneclass LongTermMemory: """ 轻量级长期记忆系统 支持记忆写入、检索、衰减和总结 """ def __init__(self, vector_store, llm): self.store = vector_store # 用于语义检索的记忆存储 self.llm = llm # 用于记忆总结 self.decay_rate = 0.01 # 每天的重要性衰减率 def write_memory(self, entry: MemoryEntry): """写入一条新记忆""" # 计算记忆的唯一标识(去重用) memory_key = hashlib.md5(entry.content.encode()).hexdigest() # 存入向量数据库(支持语义检索) self.store.add_texts( texts=[entry.content], metadatas=[{ "type": entry.memory_type, "importance": entry.importance, "timestamp": entry.timestamp.isoformat(), "source": entry.source_conversation, "key": memory_key }] ) def recall(self, query: str, top_k: int = 5) -> list[MemoryEntry]: """根据当前查询检索相关记忆""" results = self.store.similarity_search(query, k=top_k * 2) # 多取一些用于过滤 memories = [] days_since_creation = [] for doc in results: ts = datetime.fromisoformat(doc.metadata["timestamp"]) days_passed = (datetime.now() - ts).days # 应用时间衰减 current_importance = doc.metadata["importance"] * ( (1 - self.decay_rate) ** days_passed ) if current_importance > 0.1: # 过滤掉几乎遗忘的记忆 memories.append(MemoryEntry( content=doc.page_content, timestamp=ts, memory_type=doc.metadata["type"], importance=current_importance, source_conversation=doc.metadata["source"] )) # 按衰减后的重要性排序 memories.sort(key=lambda m: m.importance, reverse=True) return memories[:top_k] def consolidate_memories(self, user_id: str): """ 定期记忆整合 将多条碎片化记忆总结为更抽象的高层记忆 """ recent_memories = self.recall( f"user {user_id} recent interactions", top_k=20 ) if len(recent_memories) < 3: return# 记忆太少,无需整合 consolidation_prompt = f""" 以下是关于同一用户的 {len(recent_memories)} 条记忆碎片, 请将其整合为 2-3 条更高层的抽象记忆。 记忆碎片: {[m.content for m in recent_memories]} 输出格式:JSON 数组,每条包含 content 和 inferred_type 字段。 """ response = self.llm.invoke(consolidation_prompt) consolidated = json.loads(response.content) for item in consolidated: self.write_memory(MemoryEntry( content=item["content"], timestamp=datetime.now(), memory_type=item.get("inferred_type", "fact"), importance=0.9, # 整合后的记忆重要性较高 source_conversation=f"consolidation_{user_id}" ))

3.3 为什么这很重要?

因为**RAG 从"外部知识补丁"变成了"AI 认知结构的一部分"**。

想象一下这个场景:

你的企业助手在第一次帮某个团队排查了一个 K8s OOM 问题后,记住了"这个团队的 Java 服务喜欢用 G1 GC 且堆内存设置偏保守"。三个月后同一个团队来问新的内存问题时,助手直接给出了针对性的建议,而不是从头开始泛泛而谈。

这不是科幻,这是 2026 年已经在头部公司落地的东西。


四、工程化落地:从 Demo 到生产的四层优化管线

聊完了三个技术支柱,我们来谈最现实的问题——怎么落地?

根据 2026 年行业实践总结出的检索精度四层优化管线

层级动作关键细节收益
L1 文档预处理语义感知切块 + OCR + 去噪PDF 用 PyMuPDF/Unstructured,表格用 Camelot消除垃圾输入
L2 检索策略混合检索(向量+BM25)+ ReRank交叉编码器二次排序,top-5 准确率提升 10-15 个百分点检召率↑
L3 查询改写多义词消歧 + 问题扩展可用小模型完成,不必非得 GPT-4o相关性↑
L4 反馈闭环用户反馈 → 反哺排序模型90% 的团队不做这一层,但它是长期拉开差距的关键持续优化

同时,一个生产级 RAG 系统还需要RAGOps 运维框架的五维度建设:

# RAGOps 五维运维框架data_pipeline: # 数据管道etl:自动化ETL+增量向量化+变更感知重新索引freshness:数据新鲜度监控(SLA<24h)model_management: # 模型管理registry:模型注册中心+版本管理deployment:灰度发布+A/B测试quality:检索效果回归测试套件infrastructure: # 基础设施vector_store:分布式向量库(Milvus/Qdrant)+多级缓存load_balancing:检索服务负载均衡observability: # 可观测性tracing:全链路Trace(Query→Retrieval→Generation)dashboard:检索质量实时Dashboardalerting:异常自动告警(延迟飙升/召回率下降)cost_control: # 成本管控token_tracking:实时Token用量仪表板routing:分级路由(简单→DeepSeek-V3,复杂→GPT-4o)cache:语义缓存命中率>40%目标

Embedding 模型选型参考

这是落地中最常被问的问题之一,给一个实用的选型表:

场景推荐模型维度说明
通用中文场景BGE-M3(BAAI)1024MTEB 中文榜首,免费开源
多语言混合OpenAI text-embedding-3-large3072支持短截断至 256 维
成本敏感OpenAI text-embedding-3-small512价格是大版的 1/10
私有部署M3E / BGE-large-zh768可本地 GPU 部署,零 API 成本

核心原则:Embedding 模型和生成模型不要绑死。通过统一的接口层解耦两者,方便独立迭代升级。


五、个人开发者的机会在哪里?

最后说说和我们程序员最切身相关的话题——在这个变革中,个人开发者和小团队的机会在哪?

根据行业观察,我总结了三个值得投入的方向:

方向一:GraphRAG 工具化

将复杂的知识图谱构建过程封装为低代码/CLI 工具,让不具备图数据库经验的团队也能快速搭建 GraphRAG 系统。类似graphrag-cli这种工具在 GitHub 上 Star 增长极快,但距离"开箱即用"还有很大差距。

适合谁:熟悉 Neo4j + LLM 的全栈开发者

方向二:Agent 记忆框架

目前市面上面向 Agent 的开源记忆框架还很初级(LangMem、MemGPT 都处于早期阶段),谁能做出一个轻量、高性能、支持持久化的通用记忆框架,谁就可能成为下一个 LangChain 级别的项目

适合谁:对系统设计和数据结构有感觉的后端开发者

方向三:低成本私有部署 RAG

大厂的 RAG 方案动辄几十万起步,中小团队根本用不起。做一个"一键部署"的开源 RAG 套件(Docker Compose 一键启动,包含向量库+Embedding+ReRank+Web UI),市场空间巨大。

适合谁:DevOps 能力强的全栈工程师


总结

让我们用一张演进时间线来收尾:

2023年 → 向量库 + 检索 + 生成(经典 RAG 1.0)2024年 → ReRank + 混合检索 + 查询改写(RAG 1.5 优化期)2026年 → GraphRAG + Agentic RAG + Memory System(RAG 2.0 时代)2028年? → 记忆 + 推理 + 行动 + 学习 全融合(RAG 成为 AI 基础能力层)

RAG 2.0 三大技术支柱

2026 年的核心变化不是"RAG 更强了",而是 **“AI 系统正在超越 RAG”**。RAG 正从一个独立的架构模式,逐渐演化为 AI 系统的基础能力层——就像今天的数据库访问一样,重要但不再是值得单独讨论的"架构"。

对于程序员来说,这意味着三件事:

  1. 学 GraphRAG:理解知识图谱的基本原理和 Neo4j/Cypher 操作
  2. 学 Agent 架构:掌握 LangGraph、CrewAI 等 Agent 编排框架
  3. 关注 Memory 系统:这是当前最大的蓝海,提前布局有先发优势

RAG 不会死,它只是在进化。从"外挂补丁"到"认知结构",这条路才刚刚开始。

学AI大模型的正确顺序,千万不要搞错了

🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!

有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!

就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋

📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇

学习路线:

✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经

以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!

我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

http://www.jsqmd.com/news/909908/

相关文章:

  • 基于LM386的DIY吉他耳机放大器:从电路原理到制作调试全解析
  • 别再傻傻分不清!Playwright启动Chrome、Edge和Firefox的保姆级代码指南(附channel参数详解)
  • 企业 AI 代理安全治理与社会工程攻击防御研究
  • 2026蛟河市本地人必选的公共卫生检测专业机构TOP5推荐!美容院、足疗店、酒店宾馆卫生检测、许可证办理,正规CMA资质检测公司排名推荐 (2026年5月商铺卫生办证最新深度调研方案) - 一休咨询
  • AI写专著全攻略:掌握AI工具,20万字专著写作流程全揭秘!
  • 携程任我行礼品卡怎么回收更靠谱?很多人开始这样处理闲置卡券 - 圆圆收
  • AI专著写作必备!这些工具让你轻松搞定20万字专著,效率飙升!
  • 企智栾生 ETA(3.3 认知算法层:ETA 的思维内核 3.4 基础架构:算力与弹性)【浙江联保网络 卢伟舜】
  • 从零组装Adeept六足机器人:树莓派控制与舵机调试全攻略
  • Tessent DFT实战:用Graybox技术搞定大型SoC设计的ATPG内存爆炸难题
  • 2026 年防腐材料厂家口碑推荐榜:防腐板、防腐瓦、防腐檩条厂家选择指南,产能、工艺、品控三维度权威解析 - 海棠依旧大
  • 终极Windows风扇控制指南:用FanControl告别高温与噪音烦恼
  • IP地理定位入门:从原理到实战,掌握网络位置查询技术
  • 大语言模型在超导研究中的能力评估与实战应用指南
  • 终极GTA5安全防护指南:如何用YimMenu打造无懈可击的游戏体验
  • 太原古法金变现怎么选?福运来黄金回收领衔上门回收 - 黄金回收
  • 三招告别臃肿:G-Helper让你的华硕笔记本重获新生
  • 石家庄黄金上门回收选哪家?福运来黄金回收透明高效口碑佳 - 黄金回收
  • 行业内性价比高的保温隔热涂料厂商口碑 - GrowthUME
  • HCSR04+超声波传感器:3.3V/5V电平兼容设计详解与树莓派Pico实战
  • 用CD4033与CD4060构建101位古戈尔秒计数器:纯硬件计数器的极致探索
  • 2026淮北市本地人必选的公共卫生检测专业机构TOP5推荐!美容院、足疗店、酒店宾馆卫生检测、许可证办理,正规CMA资质检测公司排名推荐 (2026年5月商铺卫生办证最新深度调研方案) - 一休咨询
  • 探索AI专著写作新趋势,用好AI生成20万字专属学术专著!
  • 国内工业洗地机头部品牌排名发布 核心参数实测曝光 - 奔跑123
  • 2026哈尔滨搬家公司测评:5家主流机构实力对比 - 幸福生活序曲
  • 太原闲置黄金快速变现,福运来黄金回收免费上门回收备受好评 - 黄金回收
  • Fooocus AI绘画终极指南:从零基础到创作大师的完整教程
  • 北京黄金上门回收,福运来黄金回收透明靠谱首选 - 黄金回收
  • ESP32打造GIF动画时钟:从硬件选型到LittleFS文件系统应用
  • 告别盲目洗稿!2026年降知网AIGC率全指南:深度横评4款工具+手动干预,90%硬核降至10% - 降AI实验室