基于 Dify 的科研查新智能体搭建技术心得四、知识库构建核心环节知识库是查新质量的底座——召回到的文献越相关下游对比越准确。Dify 的知识库构建分为「上传文档 → 分段与清洗 → 向量化索引」三步。4.1 支持的文件格式与上传限制Dify 知识库支持直接上传文档并自动完成文本分割。兼容格式包括但不限于 等。上传限制需注意单次批量上传最多 5 个文件单个文件大小上限 15 MB累计上传文件总数不超过 20 个。当论文资料规模超过上述限制时可编写 Python 脚本调用 Dify 知识库 API 实现批量上传与定时增量更新避免手动反复操作。4.2 文本分段与清洗Dify 提供图形化的「分段设置」面板核心参数如下参数含义说明分段标识符文档按何种符号切分可按标题、换行或自定义分隔符分段最大长度单段字符上限默认推荐 1024 字符分段重叠长度相邻段重叠字符数默认推荐 50 字符缓解截断导致语义割裂在知识库创建向导中先选择并拖入论文文件随后进入「分段与清洗」步骤按上表配置参数开启预设的文本预处理规则如去除多余空白、去重等即可一键完成索引。分段参数的经验取舍分段过长会稀释单段语义、降低检索精度过短则容易切断完整论点。1024 / 50 是兼顾中文论文段落密度的通用起点。若资料多为长综述可适当调大最大长度若术语密集可增大重叠长度以保留上下文。4.3 嵌入模型与检索策略分段完成后Dify 会调用嵌入Embedding模型将文本转为向量并建立索引。可在知识库中配置嵌入模型如 BGE-M3、text-embedding 等决定语义召回质量检索方式向量检索 / 全文检索 / 混合检索召回设置top_k返回条数与相似度阈值score_threshold过滤掉弱相关片段控制送入智能体二的上下文体量。五、Idea 对比查新多智能体协同流水线这是整套智能体的核心。我们将查新拆成「解析检索」与「对比生成」两个阶段中间用代码节点驱动迭代检索。5.1 阶段一智能体一 —— 核心要素解析与检索扩展智能体一的定位是「某一领域的科研助手」职责是把研究者用自然语言写出的 Idea翻译成可直接用于文献检索的英文短语。以网络安全领域为例它需精通漏洞检测、LLM 安全、对抗攻击等细分方向角色可按领域随时替换。完整 Prompt如下你是一名网络安全领域的科研助手精通漏洞检测、修复、LLM安全、对抗攻击、智能体等方向。用户将提出一个研究想法idea请完成以下任务1. 仔细阅读用户的idea描述。2. 提取其中核心的技术实体、方法、数据集、评估指标、攻击方式等关键要素。3. 将这些要素转化为3~5条独立的英文检索短语每条短语应直接对应潜在相关文献的标题或摘要关键词。4. 检索短语要求- 使用英文简洁具体例如“LLM adversarial attack detection”而非“detecting attacks in large language models”。- 每个短语应是一个名词短语长度不超过10个单词。- 覆盖idea的不同侧面如“漏洞类型”、“修复策略”、“数据集名称”、“LLM安全机制”等。5. 以JSON数组格式输出{idea_phrase: [phrase1, phrase2, ...]}用户输入请开始你的分析与任务执行。Prompt设计要点解析角色锚定明确 LLM 扮演「科研助手」引导其以专业、严谨的态度处理学术概念而非泛泛闲聊任务细化要求提取「技术实体、方法、数据集、评估指标、攻击方式」等要素避免模型走马观花、泛泛而读检索短语生成规范强制输出 3–5 条独立的英文名词短语且覆盖 Idea 的不同侧面。该设计直接服务于下游 RAG 的多角度召回确保检索的全面性与准确性结构化输出规定 JSON 数组格式便于代码节点自动化解析并迭代调用检索。5.2 代码执行节点JSON 解析与迭代检索智能体一返回后系统进入代码执行节点Dify 中的「代码节点」或「迭代节点」解析用 Python 解析返回的 JSON提取idea_phrase字段数组驱动检索将每条短语作为查询逐一在已向量化的论文知识库中检索相关片段聚合把多个维度召回的文献片段合并为一个context集合。迭代检索的价值在于「广撒网、深聚合」——单条短语可能只命中某一侧面多条短语的并集才能覆盖 Idea 的技术全貌为后续深度分析奠定资料基础。在 Dify 中可用「迭代Iteration」节点对idea_phrase数组循环每次调用「知识库检索」节点再经代码节点拼接上下文。5.3 阶段二智能体二 —— 深度对比分析生成当所有相关论文片段收集完毕系统调用第二个 LLM赋予其「资深研究员」身份要求基于召回文献对用户的 Idea 进行全面的对比查新并输出结构化报告。完整 Prompt如下你是一名网络安全领域的资深研究员正在协助同行进行文献查新与研究对比。用户提交了一个研究想法idea并已从本地文献库中召回了若干高度相关的英文论文片段见下方“参考文献片段”【任务要求】请基于提供的参考文献片段对用户的想法进行对比查新分析输出一份结构化报告。报告必须包含以下五个部分每部分需结合具体文献进行说明并引用文献编号如[1][2]1. 新颖性评估- 该idea的核心创新点是什么- 与召回文献相比哪些方面是已有工作未涉及的- 若有部分重叠请明确指出重叠内容并区分差异。2. 相似工作对比- 列出与idea最相似的2~3篇文献简要概述其方法/结论。- 逐一对比相似文献与idea在目标、技术路线、实验设置等方面的异同。3. 潜在优势与不足- 基于现有文献推断该idea可能带来的改进如性能提升、攻击成功率、泛化性等。- 指出现有文献已解决的问题以及该idea可能面临的挑战或未覆盖的风险。4. 研究可行性建议- 根据已有方法推荐可借鉴的基线模型、数据集或评估指标。- 建议可进一步阅读的文献方向即使当前未召回可基于领域知识推测。5. 总结结论- 一句话概括该idea相对于现有工作的价值。【格式要求】- 使用Markdown格式标题层级清晰。- 引用文献时标注编号如“[1]”并在报告末尾列出对应的参考文献来源标题、作者、年份如有。- 语言风格客观、严谨、学术化。【用户idea和研究领域】{query}【参考文献片段】{context}请开始分析Prompt设计要点解析角色升级将 LLM 设定为「资深研究员」暗示其应具备归纳、批判与前瞻能力使生成内容具有学术深度结构化约束强制报告包含「新颖性评估 / 相似工作对比 / 潜在优势与不足 / 研究可行性建议 / 总结结论」五部分每部分都要结合具体文献并引用编号。该模板不仅规范格式更引导模型从多维度系统思考避免遗漏关键分析点忠实于资料明确要求「基于提供的参考文献片段」分析并标注编号确保结论的可追溯性与可信度抑制模型凭空臆造格式要求采用 Markdown、文献编号、学术化语言使输出可直接用于研究笔记或论文写作。最终智能体二生成一份完整的 Markdown 查新报告研究者可直接阅读、复制或存档极大提升文献调研的效率与质量。六、与 Coze 方案的对比与取舍在探索阶段作者也尝试过基于 Coze扣子搭建查新智能体两种方式各有优劣维度Dify本文方案Coze搭建方式可视化工作流 代码节点逻辑可控自然语言交互即可生成完整项目上手更快数据可控性支持本地/私有化部署数据不出域依赖云端平台成本本地模型推理近乎零边际成本与平台交互消耗积分在线调试也产生 LLM token 费用定制深度可精细控制分段、检索、Prompt 与代码逻辑受平台能力边界约束Coze 实现相对简单只需用自然语言与其交互就能跑通项目但有两个现实问题一是与 Coze 交互本身需要消耗积分二是在线调试会持续产生 token 费用。对于高频、内部、数据敏感的查新需求Dify 的本地化与可控性优势更明显若只是偶发、轻量的体验型查新Coze 的零门槛值得考虑。七、实践经验与优化建议检索短语质量决定召回上限。智能体一的输出是整个流水线的「命门」短语越具体、覆盖越全面召回越准。可在 Prompt 中要求模型先列要素再生成短语或加入「自我校验」步骤。分段参数要适配语料。中文论文段落密度与英文不同1024 / 50 仅是起点建议按召回效果回调节点长度与重叠长度。中英映射问题。若知识库以中文论文为主而检索短语是英文可考虑在智能体一中同时生成中英文短语或选用对双语友好的嵌入模型提升跨语言召回。控制上下文成本。召回片段过多会撑爆上下文并提高费用用top_k与相似度阈值做「精召回」只把高相关片段送入智能体二。报告模板可领域化。五段式模板可按学科微调如增加「实验可复现性」「数据集偏差」等章节让结论更贴合领域关切。知识库要持续维护。文献在更新定期增量入库、清理低质文档才能保持查新结论的时效性。八、总结与展望本文介绍的 Dify 科研查新智能体通过「科研助手解析检索 代码节点迭代召回 资深研究员对比生成」的多智能体流水线把研究者从繁重的文献检索与对比成文工作中解放出来。其价值不在「替代人类判断」而在「把人从重复劳动中抽身把精力留给真正的创新决策」。可进一步扩展的方向包括多知识库融合同时接入期刊库、专利库、会议库给出更立体的新颖性判断引文网络补全基于召回文献自动扩展参考文献缓解知识库覆盖不足查新委托单自动化结合模板自动生成规范化的查新委托书跟踪式查新对重点 Idea 设定定时任务监测新发表文献是否构成重叠。随着本地模型能力持续提升这类「低代码平台 本地推理 RAG」的组合有望成为科研工作者的标准情报助手。
