diff --git a/README.md b/README.md index e747d46..16a3dcc 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,16 @@ --- +## 🏛️ 系统架构与全流程总览 + +### 1. 四层总体解耦系统架构图 +![系统四层总体解耦架构图](docs/01_system_architecture.png) + +### 2. 自进化科研发现闭环全流程图 +![自进化科研发现闭环全流程图](docs/02_workflow_pipeline.png) + +--- + ## 📁 目录结构 ```text diff --git a/XH-202619-AI_Scientist工程实践方案.md b/XH-202619-AI_Scientist工程实践方案.md index e4e3ef9..4b955a6 100644 --- a/XH-202619-AI_Scientist工程实践方案.md +++ b/XH-202619-AI_Scientist工程实践方案.md @@ -62,6 +62,8 @@ 本系统采用**四层分离架构**,分别为表现层、智能体核心层、工具与向量层、国产大模型基座层: +![系统四层总体解耦架构图](docs/01_system_architecture.png) + ```mermaid graph TD subgraph L1["一、表现层"] @@ -206,6 +208,8 @@ yield token_chunk # 逐 Token 流式推送至前端暗黑终端与对话视窗 ### 5.2 全自动发现流执行过程 +![自进化科研发现闭环全流程图](docs/02_workflow_pipeline.png) + 引擎自动执行以下阶段,每阶段均以 Generator 事件流实时推送至前端: | 阶段 | 引擎操作 | 产出 | diff --git a/docs/01_system_architecture.png b/docs/01_system_architecture.png new file mode 100644 index 0000000..ee4effc Binary files /dev/null and b/docs/01_system_architecture.png differ diff --git a/docs/02_workflow_pipeline.png b/docs/02_workflow_pipeline.png new file mode 100644 index 0000000..bffec4c Binary files /dev/null and b/docs/02_workflow_pipeline.png differ diff --git a/docs/4-2_架构与流程图解.md b/docs/4-2_架构与流程图解.md new file mode 100644 index 0000000..58cbc06 --- /dev/null +++ b/docs/4-2_架构与流程图解.md @@ -0,0 +1,113 @@ +# 4-2 架构与流程图解 + +> **所属项目**:XH-202619 基于国产开源大模型的 AI Scientist 的研发与应用 +> **方案定位**:以多智能体分工协同与子智能体技能(Skill)解耦为框架,以阿里通义千问(Qwen)大模型为国产开源大脑,构建面向前沿科学研究的“自进化科研发现超级智能体”工程闭环。 + +--- + +## 一、系统四层总体解耦架构图及图解 + +### 1.1 系统架构总览图 (System Architecture Diagram) + +![系统四层总体解耦架构图](01_system_architecture.png) + +*(高清图表保存路径:`docs/01_system_architecture.png`,替换原拥挤图:`docs/architecture_diagram.png`)* + +--- + +### 1.2 四层架构组件与职能图解说明 + +系统自顶向下严格采用**四层高内聚、低耦合的模块化设计**,各层职责分明、数据流向清晰: + +#### 1. 第一层:交互表现层 (Presentation Layer) +- **双模式交互工作台**: + - **人在回路协同模式**:提供 4 步渐进式卡片解锁流程(问题输入 ➔ 假说生成 ➔ 对抗审查 ➔ 报告导出)。支持人类专家在各阶段随时介入修改假设、注入先验指导意见。 + - **24/7 全自动无人值守发现流**:面向长时间自主运行场景,后台自动完成多轮“检索-生成-审稿-修改”闭环。 +- **暗黑极客流式控制台 (Terminal Console)**:嵌入式实时终端,逐行渲染多智能体状态机底层日志、阶段耗时与思维链轨迹,配备打字机光标与 ANSI 高亮。 +- **大模型流式对话视窗 (Dialogue Stream Box)**:以双向气泡流形式,直观展现假说生成智能体与 Reviewer #2 审稿智能体之间的多轮流式对抗对话。 +- **五维审查打分看板 (Metrics & Decision Dashboard)**:动态渲染 50 分制量化指标条、各维度评分雷达以及最终学术判定 Badge(ACCEPT / REVISE / REJECT)。 + +#### 2. 第二层:智能体核心层 (Autonomous Multi-Agent Core Layer) +- **引擎主调度控制器 (`AIScientistEngine`)**:统筹管理整个科研发现生命周期的状态转移,驱动 Generator 事件流实时向前端推送,并调控自进化闭环学习循环(Learning Loop)。 +- **四大专业解耦子智能体 (Skills)**: + - `LiteratureMiningSkill`(文献挖掘智能体):解析科研问题深层语义,提取精准英文双引号学术短语,并发调度 arXiv 检索。 + - `HypothesisGeneratorSkill`(假说推导智能体):基于真实文献证据,采用“归纳-演绎”双轨逻辑推理,单次生成 3 组候选假说,并在迭代中融合专家反馈。 + - `HypothesisCriticSkill`(对抗审稿智能体):化身“Reviewer #2 魔鬼审稿人”,执行 5 维度 50 分制量化审查,并强制执行物理时间线锚定(消除外部最新成果的虚构误判)。 + - `ResearchPlanWriterSkill`(报告编纂智能体):依据最终通过审查的最佳科学假设,自动编撰严格包含 10 个标准学术规范章节的完整研究计划报告。 + +#### 3. 第三层:工具与知识增强层 (Tools & Augmentation Layer) +- **arXiv 真实文献检索工具 (`ArxivTool`)**:直连 arXiv 官方 XML API,实时检索最新论文元数据(Title、Abstract、Date、真实 DOI 唯一识别码),覆盖 AI、天文、量子、生物等跨学科领域。 +- **通义 1024 维 Dense Vector Hybrid RAG 引擎 (`SimpleRAGTool`)**:基于 NumPy 矩阵高速余弦相似度计算,结合 7:3 稠密向量与稀疏关键词混合重排融合算法($S_{hybrid} = 0.7 \times S_{dense} + 0.3 \times S_{sparse}$),确保假说生成严格溯源至真实学术成果,从根源上消除大模型逻辑幻觉。 +- **NetworkX 知识图谱与 Mermaid 转换引擎 (`KnowledgeGraphTool`)**:大模型驱动实体关系抽取 (NER/RE),提炼 `(Subject, Predicate, Object)` 科学三元组建立 DiGraph 有向图,自动导出高质量 Mermaid 拓扑代码,直观呈现证据链。 + +#### 4. 第四层:国产大模型基座层 (Foundation Model Layer) +- **阿里云百炼统一网关 (`LLMClient`)**:基于 OpenAI SDK 兼容协议,具备标准 API 调用封装与原生 HTTP REST 优雅降级兜底机制。 +- **阿里通义千问开源大模型矩阵(支持前端动态热切换)**: + - **`qwen3.7-max`**:负责深层复杂逻辑演绎、理论严谨性论证与终审对抗审查。 + - **`qwen3.7-plus`**:负责规范化学术文本撰写、实验方案周密设计与学科文献综合分析。 + - **`qwen3.8-flash` / `qwen3.6-flash`**:具备 100 万 Token 上下文窗口与毫秒级流式响应,负责摘要三元组提取与快速原型交互。 + - **`text-embedding-v3`**:通义官方配套向量模型,提供 1024 维高保真稠密语义嵌入。 + +--- + +## 二、自进化科研发现闭环全流程图及图解 + +### 2.1 端到端闭环流程图 (End-to-End Workflow Diagram) + +![自进化科研发现闭环全流程图](02_workflow_pipeline.png) + +*(高清图表保存路径:`docs/02_workflow_pipeline.png`)* + +--- + +### 2.2 五大关键阶段执行流程与自进化控制机制 + +#### 阶段 1:科学问题输入与环境配置 (Stage 01: Problem Input) +- **输入数据**:自然语言科学难题 Query(例如:如何突破大模型长程推理中的逻辑幻觉问题)。 +- **执行操作**: + 1. 解析问题的科研领域与所属学科(如计算机科学、天体物理、量子物理、生物信息); + 2. 配置对抗审查通过门槛分数(默认 35 分,满分 50 分); + 3. 配置最大自进化迭代轮数(1-10 轮,默认 3 轮); + 4. 选定本次推演所采用的通义千问底座大模型。 +- **产出结果**:标准化的科研问题配置对象与推演上下文环境。 + +#### 阶段 2:文献深度挖掘与混合向量索引 (Stage 02: Literature Mining & Hybrid RAG) +- **调度组件**:`LiteratureMiningSkill` + `ArxivTool` + `SimpleRAGTool` +- **执行操作**: + 1. 智能抽取中英文精准学术关键词; + 2. 调用 arXiv API 检索最新真实学术文献; + 3. 解析提取标题、摘要、作者及可点击验证的真实 DOI 链接; + 4. 调用通义 `text-embedding-v3` 计算 1024 维高维向量嵌入; + 5. 采用 7:3 稠密-稀疏混合打分重排,提取 Top-$K$ 最相关真实文献段落。 +- **产出结果**:真实文献元数据池 + Top-$K$ 高相关学术证据切片。 + +#### 阶段 3:知识图谱构建与拓扑验证 (Stage 03: Knowledge Graph Extraction) +- **调度组件**:`KnowledgeGraphTool` + Qwen NER/RE 提示工程 +- **执行操作**: + 1. 利用大模型对文献摘要执行实体识别与关系抽取; + 2. 提取结构化三元组 `(Subject, Predicate, Object, Evidence)`; + 3. 写入 NetworkX 构建有向图拓扑网络; + 4. 遍历边集并自动导出为标准的 Mermaid `graph TD` 证据链路代码。 +- **产出结果**:学科知识拓扑图谱 + 可直接在前端和报告中渲染的 Mermaid 证据链路。 + +#### 阶段 4:假说推导与对抗审稿闭环 (Stage 04: Hypothesis Generation & Review Loop) +- **核心协同**:`HypothesisGeneratorSkill` ⇋ 对抗 ⇋ `HypothesisCriticSkill` +- **执行操作**: + 1. **假说生成**:结合真实文献上下文,采用归纳-演绎双轨推理,流式推导 3 组候选假说(含假设陈述、理论机制、验证路径、可证伪条件); + 2. **物理时间线锚定**:注入系统当前物理时间,强制模型对齐现实,消除截断幻觉; + 3. **Reviewer #2 严苛量化审稿**:从逻辑自洽性、文献支撑度、可证伪性、新颖性、实验可行性 5 个维度进行量化评分(单项满分 10 分,总分 50 分); + 4. **自动裁决与自进化跳转**: + - **通过分支 (ACCEPT)**:总分 $\ge$ 门槛(默认 35 分),选定为“最佳科学假说”,直通阶段 5; + - **修回/驳回自进化分支 (REVISE/REJECT)**:总分未达标且当前轮数 $t < N$ 时,系统自动捕获审稿人批注,将其作为惩罚性约束反馈注入 Prompt,触发下一轮假说自我纠偏(轮数 $t = t + 1$); + - **超时分支 (TIMEOUT)**:达到最大轮数限制时,自动在历史各轮假说中选出综合得分最高者推进。 +- **产出结果**:经过同行对抗性严格检验的“最佳科学假说”与量化审查意见报告。 + +#### 阶段 5:标准研究计划报告编纂与动态导出 (Stage 05: Research Plan Compilation) +- **调度组件**:`ResearchPlanWriterSkill`(搭载 `qwen3.7-plus`) +- **执行操作**: + 1. 深度整合最终通过的最佳假设、理论机制与审稿批注; + 2. 嵌入阶段 3 提炼的 Mermaid 知识证据链路图; + 3. 自动生成方法论架构流程图与 baseline 实验对照设计; + 4. 注入真实参考文献及可点击跳转的 arXiv DOI 链接; + 5. 严格按照 10 个标准学术规范章节编撰输出完整研究计划。 +- **产出结果**:《科学假设与研究计划报告》完整 Markdown 终稿,并支持前端一键下载与本地归档。 diff --git a/docs/architecture_diagram.png b/docs/architecture_diagram.png index 4f47eeb..ee4effc 100644 Binary files a/docs/architecture_diagram.png and b/docs/architecture_diagram.png differ diff --git a/scripts/render_architecture_diagrams.py b/scripts/render_architecture_diagrams.py new file mode 100644 index 0000000..a4bfac1 --- /dev/null +++ b/scripts/render_architecture_diagrams.py @@ -0,0 +1,993 @@ +import os +from playwright.sync_api import sync_playwright + +HTML_ARCH = """ + + + + + + + +
+

AI Scientist 自进化科研发现引擎 · 四层总体解耦系统架构

+

System Architecture: Presentation · Autonomous Multi-Agent Core · Augmentation Tools · Foundation Models + 100% 国产百炼 Qwen 开源矩阵 + Reviewer #2 对抗审稿 + 1024维 Dense Vector RAG +

+
+ +
+ + +
+
+
Layer 1
+
一、交互表现层
+
Streamlit Web 端与可视化人机协同交互工作台
+
+
+
+
+ 🖥️ 双模式交互工作台 +
+
人在回路协同模式(4步渐进式卡片解锁与人类导师先验输入) + 24/7 全自动无人值守发现流
+
+ Wizard 进度导航 + 导师介入注入机制 + 参数动态调节 +
+
+ +
+
+ ⚡ 暗黑极客流式终端 +
+
嵌入式 Terminal 终端控制台,实时渲染多智能体状态机底层日志、阶段耗时与思维链轨迹
+
+ 实时打字光标 + ANSI 语法高亮 + 低延迟流式吞吐 +
+
+ +
+
+ 💬 大模型流式对话视窗 +
+
直观呈现科研假说推导者与 Reviewer #2 魔鬼审稿人之间的多轮学术思辨对话气泡流
+
+ 双角色对话气泡 + 实时 Token 渲染 + 历史推演回溯 +
+
+ +
+
+ 📊 五维审查打分看板 +
+
Reviewer #2 50分制量化打分雷达图、各单项指标 Metric 仪表盘与最终学术裁决 Badge
+
+ ACCEPT / REVISE / REJECT + 5 维度量化条 + 批注折叠卡片 +
+
+
+
+ +
+
+ ▼ + 用户交互指令 / 状态事件流 Generator 实时双向通信 + ▼ +
+
+ + +
+
+
Layer 2
+
二、智能体核心层
+
自进化超级多智能体分工协同与状态机调度中枢
+
+
+
+
+ 🧠 引擎主调度控制器 +
+
AIScientistEngine
统筹 5 大阶段生命周期状态机,管理自进化闭环学习循环 (Learning Loop) 与轮次自纠偏
+
+ 阶段状态机控制 + 1-10 轮自循环 +
+
+ +
+
+ 🔍 1. 文献挖掘智能体 +
+
LiteratureMiningSkill
提取双引号学术专有名词,调度 arXiv API 并触发 1024 维向量化索引构建
+
+ 英文术语映射 + 多领域分类 +
+
+ +
+
+ 💡 2. 假说推导智能体 +
+
HypothesisGeneratorSkill
基于 RAG 文献证据进行“归纳-演绎”双轨推理,多轮自进化中融合导师反馈与审稿批评
+
+ 3 组候选假说 + 可证伪性约束 +
+
+ +
+
+ ⚖️ 3. 对抗审稿智能体 +
+
HypothesisCriticSkill
化身“Reviewer #2 魔鬼审稿人”,实施 5 维 50 分制严苛量化审查与物理时间线锚定
+
+ 物理时间线对齐 + 结构化批注回传 +
+
+ +
+
+ 📝 4. 报告编纂智能体 +
+
ResearchPlanWriterSkill
自动化编撰严格包含 10 个标准学术规范章节的 Markdown 综合研究计划与证据链路图
+
+ 10 标准字段规范 + 真实 DOI 索引 +
+
+
+
+ +
+
+ ▼ + 智能体工具调用 / 知识检索重排 / 拓扑图谱构建请求 + ▼ +
+
+ + +
+
+
Layer 3
+
三、工具与向量层
+
学术工具库、高维向量 RAG 与知识图谱构建引擎
+
+
+
+
+ 📚 arXiv 真实文献检索工具 +
+
ArxivTool:直接调用 arXiv 官方 XML API,自动获取最新论文之标题、摘要、作者及真实 DOI 唯一识别码,覆盖 AI、天文、量子与生物学跨学科领域
+
+ 学术专有名词提取 + 真实 DOI 追溯 + 跨学科多分类支持 +
+
+ +
+
+ 🎯 通义 1024 维 Dense Vector Hybrid RAG 引擎 +
+
SimpleRAGTool:基于 NumPy 矩阵高速余弦相似度计算,结合 7:3 稠密向量与稀疏关键词重排融合公式 (S_hybrid = 0.7*S_dense + 0.3*S_sparse),彻底根除大模型事实性幻觉
+
+ 1024 维稠密表征 + Cosine 矩阵加速 + Top-K 证据段落重排 +
+
+ +
+
+ 🕸️ NetworkX 知识图谱与 Mermaid 转换引擎 +
+
KnowledgeGraphTool:大模型驱动 NER/RE 实体关系抽取,提炼 (Subject, Predicate, Object) 科学三元组建立 DiGraph 有向图,自动导出高质量 Mermaid 证据链路可视化代码
+
+ 科学三元组抽取 + NetworkX 有向图 + Mermaid 代码原生导出 +
+
+
+
+ +
+
+ ▼ + 标准 OpenAI SDK 兼容接口 / 阿里云百炼 MaaS 平台推理请求 + ▼ +
+
+ + +
+
+
Layer 4
+
四、大模型基座层
+
阿里云百炼 MaaS 平台 · 通义千问开源大模型矩阵
+
+
+
+
+ ☁️ 阿里云百炼统一网关 +
+
LLMClient (MaaS Gateway)
兼容 OpenAI SDK 标准协议,内置异常熔断重试与原生 HTTP REST 优雅降级机制
+
+ OpenAI 协议兼容 + REST API 回退 +
+
+ +
+
+ 🧠 qwen3.7-max +
+
深度复杂逻辑推理基座
负责假说推导中的演绎证明、假说严谨性论证及终审 Reviewer #2 对抗审查
+
+ 千亿级高深推理 + 超强数学逻辑 +
+
+ +
+
+ 📑 qwen3.7-plus +
+
平衡探索与报告编撰基座
擅长规范化学术文本撰写、实验方案周密设计与学科文献综合分析
+
+ 学术论文级写作 + 10字段严谨报告 +
+
+ +
+
+ ⚡ qwen3.8-flash / 3.6-flash +
+
极速响应与实体抽取基座
毫秒级流式响应,负责摘要 NER/RE 科学三元组抽取与快速原型流式生成
+
+ 100万 Token 窗口 + 提速 +104% +
+
+ +
+
+ 📐 text-embedding-v3 +
+
官方配套高维语义向量基座
为学术文献提供 1024 维的高保真稠密语义嵌入,支持精准语义距离度量
+
+ 1024 维高维向量 + 多语言学术增强 +
+
+
+
+ +
+ + + + + +""" + +HTML_PIPELINE = """ + + + + + + + +
+

AI Scientist 自进化科研发现闭环全流程图

+

End-to-End Autonomous Scientific Discovery Pipeline & Self-Evolution Control Loop + 【五大关键阶段清晰平铺展开 · 无缝衔接与对抗迭代】 +

+
+ +
+ + +
+
Stage 01
+
🎯 科学问题输入
+ +
+ +
+ 自然语言科研难题 Query(如:大模型长程推理幻觉突破机制、拓扑量子物态发现) +
+
+ +
+ +
+ 1 + 解析问题深层科研语义与学科分类 +
+
+ 2 + 设置审查通过门槛(默认 35 分) +
+
+ 3 + 配置最大自进化迭代轮数(1-10 轮) +
+
+ 4 + 选择底座大模型(Qwen 系列热切换) +
+
+ +
+ +
+ 标准化科研问题配置对象与环境上下文 +
+
+
+ +
➔
+ + +
+
Stage 02
+
📚 文献深度挖掘
+ +
+ +
+ LiteratureMiningSkill + ArxivTool +
+
+ +
+ +
+ 1 + 基于智能映射提取双引号英文学术关键词 +
+
+ 2 + 实时向 arXiv API 发起多篇真实前沿论文检索 +
+
+ 3 + 提取论文真实 Title、Abstract、Date、DOI +
+
+ 4 + 调用 text-embedding-v3 生成 1024 维向量 +
+
+ 5 + 执行 7:3 稠密-稀疏混合重排算法 (Hybrid RAG) +
+
+ +
+ +
+ 真实文献元数据池 + Top-K 真实学术证据切片 +
+
+
+ +
➔
+ + +
+
Stage 03
+
🕸️ 知识图谱构建
+ +
+ +
+ KnowledgeGraphTool + Qwen NER/RE +
+
+ +
+ +
+ 1 + 调用 Qwen 结构化抽取文献实体与关联谓词 +
+
+ 2 + 提炼 (Subject, Predicate, Object, Evidence) +
+
+ 3 + 注入 NetworkX 构建科研概念 DiGraph 有向图 +
+
+ 4 + 遍历边集计算拓扑特征并剔除虚假连接 +
+
+ 5 + 一键导出为标准的 Mermaid 语法拓扑代码 +
+
+ +
+ +
+ 学科知识拓扑图谱 + Mermaid 可视化证据链代码 +
+
+
+ +
➔
+ + +
+
Stage 04 · 核心进化闭环
+
⚖️ 假说推导与对抗审稿
+ +
+ +
+ HypothesisGeneratorSkill + ⇋ 对抗 ⇋ + HypothesisCriticSkill +
+
+ +
+ +
+ 1 + 假说生成:结合真实文献上下文,流式推导 3 组科学假说 +
+
+ 2 + 物理时间线锚定:消除外部最新成果与知识库截断的幻觉 +
+
+ 3 + Reviewer #2 严苛审稿:从逻辑、文献、证伪、新颖、可行 5 维量化打分 (50分制) +
+
+ 4 + 综合判定:得分 ≥ 35 (ACCEPT) / 25-34 (REVISE) / <25 (REJECT) +
+
+ + +
+
+ 🔄 闭环学习循环 (Self-Evolution Loop) + 核心自进化 +
+
+ 若判定为 REVISE/REJECT 且未达最大轮数:系统自动捕获审稿人批注,注入生成 Prompt 作为惩罚性约束,触发下一轮假说自我纠偏(轮数 t = t + 1)。 +
+
+ +
+ +
+ 通过最终严苛审查的“最佳科学假说”与量化审稿报告 +
+
+
+ +
➔
+ + +
+
Stage 05
+
📝 报告自动编纂
+ +
+ +
+ ResearchPlanWriterSkill (qwen3.7-plus) +
+
+ +
+ +
+ 1 + 组装最终通过的最佳科学假设与审稿依据 +
+
+ 2 + 嵌入阶段 3 抽取的 Mermaid 证据链路可视化图谱 +
+
+ 3 + 自动推演方法论架构图与验证实验基线对比 +
+
+ 4 + 注入真实 arXiv DOI 参考文献列表(确保可回溯) +
+
+ 5 + 严格编纂 10 个标准学术规范章节完整报告 +
+
+ +
+ +
+ 《科学假设与研究计划报告》Markdown 终稿与一键下载 +
+
+
+ +
+ + + + + +""" + +def generate_images(): + output_dir = "docs" + os.makedirs(output_dir, exist_ok=True) + + with sync_playwright() as p: + browser = p.chromium.launch() + + # 1. 渲染系统四层总体解耦架构图 (16:9 宽屏,2400x1450) + page1 = browser.new_page(viewport={"width": 2400, "height": 1450}) + page1.set_content(HTML_ARCH) + path1 = os.path.join(output_dir, "01_system_architecture.png") + page1.screenshot(path=path1, full_page=True) + print(f"Rendered: {path1}") + + # 同时替换原有的 architecture_diagram.png (不再拥挤,字迹极大、排版极度舒展) + path_main = os.path.join(output_dir, "architecture_diagram.png") + page1.screenshot(path=path_main, full_page=True) + print(f"Rendered (replaced): {path_main}") + page1.close() + + # 2. 渲染全流程自进化科研发现闭环流程图 (16:9 宽屏,2400x1350) + page2 = browser.new_page(viewport={"width": 2400, "height": 1350}) + page2.set_content(HTML_PIPELINE) + path2 = os.path.join(output_dir, "02_workflow_pipeline.png") + page2.screenshot(path=path2, full_page=True) + print(f"Rendered: {path2}") + page2.close() + + browser.close() + +if __name__ == "__main__": + generate_images()