- 人工智能
- 大模型
- AI Agent
- 自主智能体
- 深度研究
- Agent 工作流
- 科研
- AI 评测
【免费下载链接】AI-Researcher
[NeurIPS2025] "AI-Researcher: Autonomous Scientific Innovation" -- A production-ready version: https://novix.science/chat
导读:本文以 create_innovation_graph_instruction_step3.md 为核心,系统讲解 AI-Researcher 仓库中"创新图谱(Innovation Graph)"构建流水线的第三步——证据收集(Evidence Collection)。你将掌握该步骤提示词的结构化 JSON 输出约定、
foundation/component/inspiration三类影响力标签的判定方法,以及它如何与前后步骤(引用统计、上下文分析、影响评分、最终筛选)协同工作,并通过 1_create_inno_graph.py 的源码级解读了解实际调用链与容错机制。
一、创新图谱流水线全景:Step 3 所处的位置
AI-Researcher([NeurIPS2025] "AI-Researcher: Autonomous Scientific Innovation")的 benchmark 数据集构建脚本存放在benchmark_collection/目录下。该目录用于把论文列表加工成"创新图谱"数据集:为每篇目标论文识别其最具影响力的参考文献,并标注这些引用对该论文产生了何种影响。
依据 readme.md,整个流程分三步使用:
- 在
papers_to_search文件中准备论文标题或关键词清单; - 运行 0_crawl_paper.py 抓取论文及元数据(调用 arXiv API,并通过 Semantic Scholar / Crossref 补全 venue 与引用数);
- 运行 1_create_inno_graph.py 生成最终的创新数据集,产出
innovation_graph/innovation_graph_final.json。
其中,1_create_inno_graph.py对每篇论文执行**一个总指令(overall)加五个分步指令(step1~step5)再加两个任务指令(task1、task2)**的 LLM 分析流程,全部提示词文件位于 benchmark_collection/prompts/:
| 文件 | 作用 |
|---|---|
| create_innovation_graph_instruction_overall.md | 总指令:定义三类影响力判据(方法学基础 / 关键组件 / 概念启发) |
| create_innovation_graph_instruction_step1.md | Step 1:引用模式分析(统计引用频次、位置、跨章节引用,至少列出 15 篇高频引用论文) |
| create_innovation_graph_instruction_step2.md | Step 2:上下文分析(分析每篇高频引用论文的讨论方式、影响指标、方法类引用) |
| create_innovation_graph_instruction_step3.md | Step 3:证据收集(本文章节核心) |
| create_innovation_graph_instruction_step4.md | Step 4:影响评分(引用频次 30% + 位置重要性 25% + 讨论深度 25% + 直接影响 20%) |
| create_innovation_graph_instruction_step5.md | Step 5:最终筛选(按评分选出 top 15~25 篇最具影响力论文并给出论证) |
| create_innovation_task_instruction_task1.md | Task 1:撰写面向复现的详细技术实现指令 |
| create_innovation_task_instruction_task2.md | Task 2:撰写研究动机与目标指令(不含技术细节) |
Step 3 的定位:Step 1 解决"哪些论文被频繁引用",Step 2 解决"这些论文是如何被讨论的",而Step 3 回答"目标论文从这些引用中具体借用了什么、做了哪些改造、证据何在"——它是从"统计相关性"走向"因果影响力"的关键一跃,为 Step 4 的加权评分和 Step 5 的最终排序提供实质性的论据支撑。
二、Step 3 提示词原文解读:证据收集的三问三字段
create_innovation_graph_instruction_step3.md的原文非常精炼,其指令结构如下:
[STEP 3: Evidence Collection] For each significant citation, identify: - Concepts/methods borrowed - How they were modified/improved - Evidence of influence Output format: { "evidence": [ { "reference": "the exact paper title in references", "borrowed": ["elements used"], "changes": ["modifications made"], "evidence": ["supporting quotes"], "type": "foundation/component/inspiration" } ] }2.1 输入侧:对每条"显著引用"做三问
指令要求对**每一条 significant citation(显著引用)**执行三项识别:
- Concepts/methods borrowed(借用的概念/方法):该参考文献为目标论文提供了哪些具体要素?可能是一个网络架构、一种损失函数、一个数据处理技巧、一个理论框架,或一个评价协议。
- How they were modified/improved(如何被改造/改进):目标论文没有照搬,而是做了哪些调整?例如把 GNN 消息传递改造成异构图感知的形式、把通用对比学习目标适配为推荐任务的意图建模、引入归一化或残差连接以稳定训练等。
- Evidence of influence(影响力的证据):必须有原文可引用的支撑句(supporting quotes)。例如论文中出现 "based on"、"extends"、"following the design of"、"inspired by" 等表述,或直接引用某公式编号、某节标题说明其来源。
这里的第三问非常关键:它强制 LLM 从"我认为有影响"的主观判断,落到"论文原文这样说过"的可验证证据上,从而显著抑制幻觉与泛泛而谈。
2.2 输出侧:evidence数组的五字段 Schema
| 字段 | 类型 | 含义与填写要求 |
|---|---|---|
reference | string | 参考文献中精确的论文标题原文。注意必须与论文末尾 References 列表中的写法完全一致(含大小写、标点),这是后续 Step 4/Step 5 与自引用过滤(filter_self_references)做字符串匹配的前提 |
borrowed | string[] | 从该引用中借用的要素清单,每一项对应一个可辨识的技术点 |
changes | string[] | 目标论文对上述要素所做的修改/改进清单,与borrowed尽量一一对应 |
evidence | string[] | 支撑上述判断的原文引用句(supporting quotes),是最重要的防幻觉机制 |
type | string | 影响力类型,取值限定为foundation/component/inspiration三选一 |
2.3type三值如何与总指令的三条判据对齐
type的三个枚举值并非随意设计,它们与 create_innovation_graph_instruction_overall.md 定义的三条影响力判据严格对应:
| 总指令判据 | 含义 | Step 3 的type | 典型特征 |
|---|---|---|---|
| Methodological Foundation(方法学基础) | 提供了核心方法 | foundation | 目标论文的骨干方法源自该文献,常被整篇引用为"基础框架",如 BPR 作为隐式反馈的排序损失基础 |
| Critical Components(关键组件) | 具体技术被整合 | component | 某特定模块/技术被直接采用或嵌入,如 HGT 的异构图自注意力被引入作为消息传递组件 |
| Conceptual Inspiration(概念启发) | 塑造了研究方向 | inspiration | 提供了思想层面的启发,不一定直接出现在实现里,但决定了问题建模与探索方向 |
从 benchmark_collection/innovation_graph/innovation_graph_final.json 的真实产出可以看到这种分类的落地形态(以 "Heterogeneous Graph Contrastive Learning for Recommendation" 为例):GNN 序列推荐论文被判为methodological(方法学基础,贡献"用 GNN 编码异构关系"的骨干思路)、HGT 被判为component(其自注意力与消息传递机制被用于构造目标模型架构)、KGAT 被判为conceptual(对比学习原则形成了表征增强的概念框架)。这正是 Step 3 判据在最终数据集中的反映。
三、源码级实现:Step 3 在流水线中如何被调用
理解了提示词本身之后,我们来看它在 1_create_inno_graph.py 中是如何被组装、执行与容错的。
3.1 提示词文件的加载
load_instructions()函数(1_create_inno_graph.py)硬编码了 8 个提示词文件的相对路径,其中 step3 对应prompts/create_innovation_graph_instruction_step3.md,并通过load_instruction()读取为纯文本:
instruction_files = [ ("overall", "prompts/create_innovation_graph_instruction_overall.md"), ("step1", "prompts/create_innovation_graph_instruction_step1.md"), ("step2", "prompts/create_innovation_graph_instruction_step2.md"), ("step3", "prompts/create_innovation_graph_instruction_step3.md"), ... ]提示词文件缺失时不会中断流水线,而是记录 warning 并把对应指令置为空字符串——这意味着你的 Step 3 提示词文件必须存在于上述相对路径,否则该步将静默跳过。
3.2 单步执行process_step:Step 3 的实际调用链
每篇论文都会依次执行 step1~step5,单步逻辑集中在process_step()(1_create_inno_graph.py),其关键行为包括:
- Prompt 组装:
f"{overall_instruction}\n\n{step_instruction}\n\nPaper Metadata:\n{metadata_str}\n\nPaper Content:\n{pdf_text}",即总指令 + 本步指令 + 论文元数据(JSON)+ 论文全文文本。值得注意的是,Step 3 的输入还包含 PDF 全文,而不是只依赖 Step 1/2 的结果; - 跨步上下文链:
if previous_results and step_num > 1会把 step1、step2 的结果(citation_map与context_analysis)追加为Results from previous steps。这使 Step 3 能"站在 Step 1 筛出的高频引用、Step 2 判定的讨论深度之上"进行聚焦的证据收集,形成严格的信息漏斗; - 长度截断:
truncate_text(prompt, max_tokens=128000)将提示词截断到 128K token 以内,避免超长论文撑爆上下文窗口; - 系统提示词:要求模型"expert in analyzing research papers"并明确当前执行的是 Step 3、必须以指令规定的精确 JSON 格式输出;
- 温度设定:
temperature=0.7,在确定性与多样性之间取平衡,允许模型对证据表述略有差异但不至于完全随机; - JSON 围栏剥离:若响应以
```json或```开头、以```结尾,代码会剥掉这些围栏再交给json.loads——这兼容了 LLM 常见的 Markdown 代码块输出习惯,是提示词工程落地的实用细节; - 日志审计:通过
log_output()把每步的完整 prompt 与响应写入innovation_graph/logs/llm_output_<时间戳>.log,便于事后核对 Step 3 的输入输出质量。
3.3 重试与断点机制
在 1_create_inno_graph.py 的主循环中,每个 step 最多重试 3 次,失败时按(attempt + 1) * 5秒递增等待;任何一步连续失败都会导致该论文整体返回None,其标题被记入checkpoints/processed_papers.json的failed_papers列表,支持断点续跑。这意味着只要 Step 3 的提示词或解析有问题,整篇论文的处理都会失败——它是流水线中的高价值、高脆弱环节。
3.4 Step 3 产出的去向
从 1_create_inno_graph.py 看,最终结果只保留step5的top_papers、目标论文标题与元数据,以及 task1/task2 的输出;step1~step4 的中间结果(包括 Step 3 的evidence数组)不会进入最终 JSON,它们的作用是为后续步骤提供决策上下文。这解释了为什么"证据"必须足够扎实:它直接喂养了 Step 4 的加权评分(depth与influence分量)和 Step 5 的justification/usage写作,最终沉淀为innovation_graph/innovation_graph_final.json中每条source_papers的论证依据。
四、Step 3 提示词的工程要点与质量保障实践
结合提示词设计本身与流水线代码,以下实践值得在复用时遵守:
- 证据必须可引用:
evidence字段要求 "supporting quotes",这是 Step 3 区别于前两步的核心。若模型给出的是无出处的泛化论断(如 "this paper is widely used"),应视为不合格输出并要求补充原文片段。实践中可以在提示词里追加"每个 evidence 必须带引号并注明出处章节"的强约束。 - 引用标题必须精确:
reference用于跨步匹配与自引用过滤(1_create_inno_graph.py 中的filter_self_references以lower().strip()后精确相等来判断自引用)。标题写错会导致 Step 4/5 无法关联到 Step 1/2 的统计结果,甚至把自引用误判为外部引用。 borrowed与changes应成对出现:借用与改造是一体两面。建议在提示词中要求数组内条目一一对齐("changes[i] 是对 borrowed[i] 的改造"),这能显著提升输出的结构化程度,也便于后续步骤逐条评分。type严格枚举:只允许foundation/component/inspiration三值。可在输出格式注释中补充判定口诀:主干方法→foundation,嵌入组件→component,方向启发→inspiration。- 善用跨步上下文:Step 3 的输入已经包含了 Step 1 的
citation_map和 Step 2 的context_analysis。提示词中应明确要求"只对前两步确认的高频/高深度引用做证据收集",避免模型把低相关引用也拉进来稀释证据密度。 - 兼容代码块输出:由于下游用
json.loads严格解析,可接受模型以```json代码块包裹输出(代码会自动剥离),但字段名必须与 Schema 完全一致,不可多字段、漏字段。 - 为容错预留空间:
1_create_inno_graph.py对 JSON 解析失败仅记日志并返回None,不会二次修复。若你的 LLM 服务输出不稳定,建议在提示词末尾追加"只输出 JSON,不要任何解释文字",并把temperature适当调低。
五、从提示词到数据集:Step 3 的最终价值
Step 3 是整个创新图谱流水线中"证据密度"最高的环节。没有它,Step 4 的influence(直接影响)评分分量将无据可依,Step 5 的justification/usage将退化为模型想象。而有了 Step 3 的borrowed/changes/evidence/type四元组,最终产出的innovation_graph_final.json中每一条source_papers都能追溯到"借用了什么、改进了什么、原文如何佐证、属于哪一类影响",这正是 AI-Researcher 论文分析能力可审计、可复现、可被 Agent 检索引用的关键所在。
读者若想动手复现整条链路:准备好论文清单 → 运行python 0_crawl_paper.py抓取 PDF → 运行python 1_create_inno_graph.py生成图谱,最终结果落在benchmark_collection/innovation_graph/innovation_graph_final.json;如需调整证据收集的严格程度,直接编辑benchmark_collection/prompts/create_innovation_graph_instruction_step3.md即可,其余步骤的提示词(step1/step2/step4/step5 与 task1/task2)可对照 benchmark_collection/prompts/ 目录一并研读。
- 人工智能
- 大模型
- AI Agent
- 自主智能体
- 深度研究
- Agent 工作流
- 科研
- AI 评测
【免费下载链接】AI-Researcher
[NeurIPS2025] "AI-Researcher: Autonomous Scientific Innovation" -- A production-ready version: https://novix.science/chat
相关推荐
GetQzonehistory:5分钟完整备份QQ空间历史说说 + Excel/网页/Markdown导出全指南
GetQzonehistory:5分钟完整备份QQ空间历史说说 + Excel/网页/Markdown导出全指南 某天你翻手机里的QQ空间,想找回一条几年前的说
网页爬虫数据分析Windows 11安全加固脚本:一键配置系统安全策略的终极指南
Windows 11安全加固脚本:一键配置系统安全策略的终极指南 Windows 11安全加固脚本是每个注重隐私和安全性的Windows用户必备的工具。这个开源
文档教程知识库如何彻底解决BT下载速度慢:78个公共Tracker快速配置完整指南
如何彻底解决BT下载速度慢:78个公共Tracker快速配置完整指南 还在为BT下载速度慢而烦恼吗?每次下载热门资源却只能获得蜗牛般的速度?今天我要为你介绍一个
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考