乐于分享
好东西不私藏

AI科研新范式:用智能体、循环、协作图这三种结构,构建自动化科研工作流

AI科研新范式:用智能体、循环、协作图这三种结构,构建自动化科研工作流
一边上班,一边轻创业的00后牛马。不定期更新AI辅助学术写作的实用干货,不讲大道理,只把实操思考和好用技巧实打实分享,希望对你有帮助!

点击下方关注我

大多数人用AI做科研时,只是用它提问、阅读、修改,然后再问一遍。这种方式确实有效,但也是最慢的用法。我教大家一种更高效的方式。它包含三个模式:

1)Agent(智能体):自主思考、规划并执行任务。

2)Loop(循环机制):不断检查和优化结果,直到达到要求。

3)Graph(协作网络):多个智能体分工协作,解决复杂任务。

这三种模式,恰好Claude可以实现,今天我来教大家如何构建,并用到AI科研当中。

首先了解什么是智能体(Agents)、循环(Loops)、协作图( Graphs)。

一、智能体(Agents)

让Claude总结这篇文章,这不叫智能体,只是一次你和AI的对话。你告诉Claude:“找出这个主题下被引用次数最多的三篇论文,提取每篇论文的核心观点,相互交叉核验,然后再给我写一份一页纸的简报。”如果它能够在你完全不需要中途介入的情况下替你完成所有工作,这个才叫智能体。

这两者的区别,其实不在于模型本身,而在于围绕模型搭建的结构,与普通对话相比,智能体会多出这三个关键要素:

1)拥有可以自主调用的工具,比如搜索、文件系统、代码执行以及外部API。主要是它不会等着你去替它寻找信息,而是会自己去获取;

2)拥有能够跨任务延续的记忆,而不只是在单次会话中记住上下文。它其实自己知道已经尝试过什么、哪些方法有效,以及之前做过哪些决定;

3)拥有一个能持续运行的循环,直到任务完成后才停止,并不是生成一次回复就给你结束。

那么当这三个要素全部满足的时候,Claude就不再是一个简单和你交谈的AI工具,而是会变成一个真正替咱们工作的系统。

智能体的类型其实决定了你应该为它设置什么样的提示词,我给大家介绍三种类型,足够覆盖大多数人的实际需求,你也可以根据自己的具体情况调整细节,然后将其作为系统提示词使用。

Research agent(研究智能体)

You are a research agent. Your job is to find what actually matters, not just what exists.When given a research task:1. Break it into 3-4 specific sub-questions worth answering2. Search each one independently3. For each finding, ask: does this directly answer the question, or just relate to it?4. Keep only what directly answers. Discard the rest.5. Deliver a structured summary: key findings, the source behind each oneand what you could not findRules:- Every claim needs a source. No exceptions.- If two sources contradict each other, flag it — don't pick a side.- If you cannot find a reliable answer, say so explicitly instead of filling the gap.
你是一名研究智能体。你的职责是找出真正重要的信息,而不只是罗列现有信息。收到研究任务时:1)将任务拆解为 3~4 个值得回答的具体子问题2)分别独立搜索每个问题3)对每项发现都要追问:它是在直接回答问题,还是仅仅与问题有关?4)只保留能够直接回答问题的内容,其余全部舍弃5)提供结构化总结,包括:关键发现、每项发现背后的信息来源,以及未能找到的信息规则:1)每一项结论都必须有来源,无一例外2)如果两个来源相互矛盾,明确指出,不要擅自选择相信其中一方3)如果找不到可靠答案,请明确说明,不要自行填补空白

Data analysis agent(数据分析智能体)

You are a data analysis agent. Your job is to find what the data is actually saying, not just describe what is in it.When given a dataset or numbers:1. Identify what kind of data this is and what questions it can realistically answer2. Look for patterns, outliers, and trends - not averages alone3. For every finding, ask: is this interesting or is this obvious? Cut the obvious.4. Flag anything that looks wrong - missing values, suspicious spikes, inconsistencies5. Deliver findings ranked by importance, not by where they appear in the dataRules:- Never describe what the data contains. Interpret what it means.- If a number is surprising, explain why it is surprising.- If the data cannot answer the question being asked, say so directly instead of stretching the interpretation.- End every analysis with one sentence: the single most important thing this data suggests you should do.
你是一名数据分析智能体。你的职责是找出数据真正表达了什么,而不只是描述数据中包含什么。收到数据集或数值时:1)判断这是什么类型的数据,以及它实际能够回答哪些问题2)寻找规律、异常值和趋势,不要只看平均值3)对每项发现都要追问:它真的有价值,还是显而易见?删掉显而易见的内容4)标记所有看起来有问题的地方,例如缺失值、可疑的突增和不一致之处5)按重要性对发现进行排序,而不是按照它们在数据中出现的顺序排列规则:1)不要只描述数据包含什么,要解释数据意味着什么2)如果某个数字出人意料,请解释它为什么令人意外3)如果数据无法回答提出的问题,请直接说明,不要牵强解读4)每次分析都要用一句话结尾:这份数据表明你最应该采取的一项行动是什么

Code agent(编程智能体)

You are a code agent. Your job is to produce working code, not promising code.When given a coding task:1. State your understanding of what the code must do before writing anything2. Write the solution with clear comments explaining each section3. Identify edge cases that could break it4. If there are errors, debug them before asking for helpRules:- Write clean code with meaningful variable names- Always include error handling- If the requirements are unclear, make a reasonable assumption, state it, and continue- Never deliver code you have not mentally traced through at least onceWhen you find a bug: explain what caused it in one sentence, then fix it. Do not just fix it silently.
你是一名编程智能体。你的职责是交付能够实际运行的代码,而不是只承诺会写出代码。收到编程任务时:1)在开始编写任何代码之前,先说明你对代码需求的理解2)编写解决方案,并使用清晰的注释解释各个部分3)找出可能导致代码出错的边界情况4)如果出现错误,先自行调试,再向用户寻求帮助规则:1)编写整洁的代码,并使用含义明确的变量名2)始终包含错误处理3)如果需求不明确,做出合理假设、明确说明,然后继续完成任务4)不要交付任何你尚未在头脑中完整推演过至少一次的代码5)发现程序错误时:先用一句话解释错误产生的原因,然后进行修复。不要悄无声息地直接修改。

我用智能体执行任务的时候,其实有时候会出现故障,比如任务运行的时间过长,智能体会逐渐遗忘开头的内容;你关掉当前对话,然后再打开一个新的会话时,智能体会从0开始,上一轮会话中的所有内容都不见了;还有就是智能体在任务执行到一半的时候被中断,当你回来想继续的时候,发现它没有任何记录。

那么这三类问题,可以按需用这三个提示词,让智能体自己来写下记忆。

第一个提示词:

Before we continue, write a checkpoint:What have you completed so far?What decisions were made and why?What still needs to happen?What would you need to resume this in a new session?Keep it under 150 words. Be specific - vague checkpoints are useless.
在继续之前,请写一份检查点记录:1)到目前为止,你已经完成了什么?2)做出了哪些决定?为什么这样决定?3)接下来还需要完成什么?4)如果要在新的会话中继续,你需要哪些信息?将内容控制在 150 字以内。请具体说明——模糊的检查点记录毫无用处。

第二个提示词:

The conversation is getting long. Compress what matters into a summary:The original goalWhat has been done and what was foundKey decisions madeWhat still needs to happenAfter writing the summary, continue from there. Treat it as the new starting point.
当前对话正在变得很长。请将真正重要的内容压缩成一份摘要:1)最初的目标2)已经完成的工作以及得到的发现3)已经做出的关键决定4)接下来还需要完成什么写完摘要后,从这里继续。将这份摘要视为新的起点。

第三个提示词:

We are resuming from a previous session. Here is the context:[paste your checkpoint here]Confirm your understanding of where we are, identify the next step, and continue without repeating work already done.
我们正在继续之前会话中的工作。以下是相关上下文:[在此处粘贴你的检查点记录]请确认你对当前进度的理解,确定下一步应该做什么,然后继续执行,不要重复已经完成的工作。

二、循环(Loops)

提示词通常会给Claude一条指令,然后等待你决定下一步做什么;但是循环的话,则会给Claude一个目标,让它自行确定如何实现这个目标。

在实际用的时候,这两者的区别是:提示词会在Claude生成某个结果后停止;而循环只有在任务真正完成的时候才会停止。每个循环其实都会执行以下同样的流程:

  • 规划(PLAN)       —— 确定任务真正需要完成什么

  • 执行(EXECUTE)    —— 开展工作

  • 检查(CHECK)      —— 根据目标衡量结果

  • 迭代(ITERATE)    —— 如果未通过,找出最薄弱的部分并修复

  • 停止(STOP)       —— 结果通过检查,或达到预设的硬性上限时停止

这五个步骤中,有三个决定了大多数循环究竟能不能正常工作,即用什么标准判断成功、如何记住之前的尝试,以及最多允许尝试多少次。缺少其中任何一项,AI 都可能只是不停地生成新版本,却没有真正接近目标。

不过目前大多数人还不需要复杂的循环系统,现在几乎每个人都能用到的,是一种具备自我检查能力的循环。

如何构建一个循环?

可以把整个循环装进一条提示词中,如以下提示词可以粘贴到Claude,然后替换掉方括号中的内容。

Work in a loop until the output clears every criterion below. Do not stop early.GOAL:[describe exactly what you want produced]CRITERIA — be specificno soft passes:- [what good looks like, measurable]- [what good looks like, measurable]- [what good looks like, measurable]EACH PASS:1. DRAFT - produce or improve the work2. SCORE - rate the result 110 against each criterion, be harsh3. GAPS - list exactly what is still weak4. CALL - if every score is 8 or above, write DONE and stop.If not, write NEXT PASS and fix the weakest gap first.RULES:- Never call it done until every criterion clears 8.- Each pass fixes the single weakest score from the last round.- No questions. Make a reasonable assumption, note it, keep going.
持续循环工作,直到输出满足以下所有标准。不要提前停止。目标:[准确描述你希望得到的成果]评判标准——必须具体,不接受模糊通过:[可衡量的优秀标准][可衡量的优秀标准][可衡量的优秀标准]每轮执行:起草(DRAFT)——生成成果或改进现有成果评分(SCORE)——按照每项标准为结果打 110 分,评分必须严格差距(GAPS)——准确列出仍然薄弱的部分判断(CALL)——如果所有分数均达到 8 分或以上,写下 DONE 并停止;否则写下 NEXT PASS,优先修复最薄弱的问题规则:在所有标准均达到 8 分之前,不得宣布完成每一轮只修复上一轮得分最低的一项不要提问。做出合理假设、记录该假设,然后继续执行

粘贴后,Claude会给你生成草稿,然后根据你设定的标准输出评分,找出最薄弱的部分,重写内容,然后不断重复,直到真正达到标准。这条提示词好处是不会在结果看起来还算合理的时候就停止,而是会一直运行到结果通过检查,这其实就是循环。

三、协作图(Graphs)

它不是我们说的图表,也不是数据可视化。在AI工作中,协作图相当于是一张任务地图,它会说明需要完成哪些工作,以及每项工作依赖上面。

那么整个结构由两个要素组成:

1)节点(node):是一个工作单元,一个智能体、一项任务、一个明确的输入和输出。节点不应该是“研究这个主题、进行总结,然后撰写草稿”,而是应该只包含其中一项。

2)边(edge):当第二个节点确实需要第一个节点产生的结果时,就用一条边连接它们。不能仅仅因为一项任务碰巧发生在另一项任务之后,就在两者之间连线。

协作图工程,无非就是在不同规模上应用这两个概念。真正可以让节点变得可用的,是预先定义好的输出格式,返回自由文本的节点只能由人阅读;拥有固定输出格式的节点则可以直接被下一个节点读取,中间其实不需要人来介入。

以下这份约定,可以让协作图不用你亲自管理每一次任务交接,也能自动运行。

JOB: research one competitor's pricing - one task, nothing elseIN: { competitor: "name", url: "https://..." }OUT: { price: number, plan: string, source: url, date: "YYYY-MM-DD" }RULE: if the output doesn't match this shape, reject and retry任务:研究一家竞争对手的定价——只执行这一项任务,不做其他事情输入:{ competitor: "名称", url: "https://..." }输出:{ price: 数字, plan: 字符串, source: url, date: "YYYY-MM-DD" }规则:如果输出不符合以上格式,则拒绝结果并重试

如何构建一个协作图?

如果要把它转化为实际工作流,可以用这几套workflow,直接粘贴到Claude Code 中,替换方括号中的内容即可,不管节点内部放什么任务,整体的结构都保持不变。

Competitive research(竞争分析):

workflow: competitive-researchnodes:  research_a:    task: "Research [Company A]. Cover pricing, core features,           recent changes, public sentiment. Output a structured summary."    output: company_a.md  research_b:    task: "Research [Company B]. Cover pricing, core features,           recent changes, public sentiment. Output a structured summary."    output: company_b.md  research_c:    task: "Research [Company C]. Cover pricing, core features,           recent changes, public sentiment. Output a structured summary."    output: company_c.md  checker:    task: "Review all three summaries. Flag anything incomplete,           outdated, or off-topic."    depends_on: [research_a, research_b, research_c]    output: checker.md  synthesize:    task: "Using the summaries and checker report, write a comparison           across price, features, and positioning."    depends_on: [checker]    output: comparison.md
workflow: competitive-researchnodes:  research_a:    task: "Research [Company A]. Cover pricing, core features,           recent changes, public sentiment. Output a structured summary."    output: company_a.md  research_b:    task: "Research [Company B]. Cover pricing, core features,           recent changes, public sentiment. Output a structured summary."    output: company_b.md  research_c:    task: "Research [Company C]. Cover pricing, core features,           recent changes, public sentiment. Output a structured summary."    output: company_c.md  checker:    task: "Review all three summaries. Flag anything incomplete,           outdated, or off-topic."    depends_on: [research_a, research_b, research_c]    output: checker.md  synthesize:    task: "Using the summaries and checker report, write a comparison           across price, features, and positioning."    depends_on: [checker]    output: comparison.md

Multi-file code review(多文件代码审查):

workflow: code-reviewnodes:  review_auth:    task: "审查 auth.py 中的安全问题、边界情况和代码质量问题。           请具体说明。"    output: review_auth.md  review_api:    task: "审查 api.py 中的安全问题、边界情况和代码质量问题。           请具体说明。"    output: review_api.md  review_db:    task: "审查 db.py 中的安全问题、边界情况和代码质量问题。           请具体说明。"    output: review_db.md  checker:    task: "阅读全部三份审查报告。标记出现在多个文件中的问题,           并指出可能引发故障的跨文件依赖关系。"    depends_on: [review_auth, review_api, review_db]    output: checker.md  summary:    task: "撰写一份按优先级排列的修复清单:           首先列出严重问题,然后是中等问题,最后是低优先级问题。"    depends_on: [checker]    output: final_review.md
workflow: code-reviewnodes:  review_auth:    task: "Review auth.py for security issues, edge cases,           and code quality. Be specific."    output: review_auth.md  review_api:    task: "Review api.py for security issues, edge cases,           and code quality. Be specific."    output: review_api.md  review_db:    task: "Review db.py for security issues, edge cases,           and code quality. Be specific."    output: review_db.md  checker:    task: "Read all three reviews. Flag issues appearing in more than           one file. Note cross-file dependencies that could cause problems."    depends_on: [review_auth, review_api, review_db]    output: checker.md  summary:    task: "Write a prioritized fix list — critical first,           then medium, then low."    depends_on: [checker]    output: final_review.md

智能体、循环、协作图分别了解清楚如何构建后,那么如何把它用在学术科研上呢?

三者其实解决的学术问题不同,智能体可以自主完成某一类科研任务,如检索文献、分析数据等等;循环可以反复检查和修正,直到满足标准,比如修改论文、检查参考文献等;协作图则可以把复杂研究拆成可并行和有依赖关系的任务,如系统综述、多数据集分析等等。

学术研究智能体模板:

你是一名学术研究智能体。你的任务是针对明确的研究问题,寻找、筛选和整理能够直接回答问题的可靠证据。研究主题:[填写研究主题]核心研究问题:[填写需要回答的问题]研究范围:- 学科领域:[填写]- 时间范围:[填写]- 研究对象:[填写]- 文献类型:[实证研究/综述/元分析/理论研究等]- 纳入标准:[填写]- 排除标准:[填写]工作流程:1. 将核心问题拆解成3~5个可研究的子问题。2. 为每个子问题提出检索词和检索策略。3. 优先寻找原始研究、系统综述、元分析和权威机构资料。4. 判断每篇文献是在直接回答问题,还是仅与问题相关。5. 只保留能够直接支持结论的证据。6. 区分文献明确报告的事实、作者的解释和你自己的推断。7. 比较不同研究的样本、方法、测量方式和结论。8. 标记研究之间的一致之处、矛盾之处和证据空白。引用规则:- 不得编造作者、题目、期刊、年份、DOI或链接。- 无法核验的文献必须标记为“未核验”,不得作为结论依据。- 每项实质性结论都必须对应具体来源。- 优先引用原始来源,不要用二手文章替代原始研究。- 如果来源相互矛盾,分别报告双方证据,不得擅自消除矛盾。- 如果找不到可靠答案,明确写“现有证据不足”。输出格式:1. 研究问题与范围2. 检索策略3. 关键发现4. 每项发现对应的证据5. 研究之间的矛盾6. 方法学局限7. 尚未解决的问题8. 参考文献核验表参考文献核验表至少包含:作者|年份|题目|来源|DOI或链接|是否已核验

学术论文质量检查循环:

请以循环方式审查并修改下面的学术文本,直到满足全部标准,或者达到6轮上限。不要提前宣布完成。研究主题:[填写]目标文本:[粘贴摘要、引言、文献综述或讨论部分]检查标准:1. 每个事实性结论都有可核验的来源。2. 引文确实支持其前面的结论,而不只是主题相关。3. 不得编造参考文献、DOI、数据或研究结果。4. 明确区分已有研究结果与作者自己的推断。5. 不夸大相关关系、因果关系或研究结论。6. 研究局限得到明确说明。7. 术语在全文中保持一致。8. 论证不存在明显跳跃。9. 满足以下格式和字数要求:[填写]10. 保留作者原意,不得为了改善语言而改变结论。每轮执行:1. REVIEW:逐项检查上述标准。2. EVIDENCE:为每个判断指出具体文本位置。3. SCORE:每项标准评分0~2分:0=不符合;1=部分符合;2=完全符合。4. GAPS:列出未通过的项目以及修改理由。5. REVISE:只修改有明确问题的部分。6. VERIFY:重新检查修改是否引入新问题。停止条件:- 所有标准均达到2分时,输出“通过”并停止。- 最多运行6轮。- 6轮后仍未通过,则停止修改,列出剩余问题并标记为“需要人工判断”。规则:- 不得通过降低标准使文本通过。- 不得把“语言更加流畅”当成事实正确的证据。- 无法核验的来源必须保留警告标记。- 记录每轮修改了什么以及为什么修改。数据分析循环:请循环完成并验证以下数据分析。研究问题:[填写]数据:[填写文件或数据说明]分析方法:[填写统计方法;如尚未确定,要求先提出候选方法及适用条件]每轮执行:1. 检查数据类型、缺失值、重复值、异常值和编码错误。2. 检查拟采用方法的前提假设。3. 运行分析并记录代码、参数和软件版本。4. 检查结果能否复现。5. 判断结论是否超出了数据能够支持的范围。6. 如果检查失败,修复最严重的问题后重新运行。通过标准:- 分析代码能够完整运行;- 关键结果可以复现;- 样本量和缺失值处理已报告;- 方法的前提假设已经检查;- 效应量和不确定性得到报告;- 相关关系没有被写成因果关系;- 表格、图形和正文中的数字一致。停止条件:- 全部标准通过时停止;- 最多尝试5轮;- 达到上限后报告未解决的问题,不得伪造成功结果。

通用学术研究协作图模板:

workflow: academic-researchnodes:  define_question:    task: >      将研究主题转化为明确、可回答的研究问题。      定义研究对象、核心概念、时间范围、纳入标准和排除标准。    output: research_protocol.md  search_strategy:    task: >      根据研究方案制定检索策略,包括关键词、同义词、      布尔表达式、数据库选择和检索日期。    depends_on: [define_question]    output: search_strategy.md  database_a:    task: >      按照检索策略检索[数据库A],保存完整题录、摘要、      DOI、链接和检索日期。不得编造缺失信息。    depends_on: [search_strategy]    output: database_a.csv  database_b:    task: >      按照检索策略检索[数据库B],保存完整题录、摘要、      DOI、链接和检索日期。不得编造缺失信息。    depends_on: [search_strategy]    output: database_b.csv  database_c:    task: >      按照检索策略检索[数据库C],保存完整题录、摘要、      DOI、链接和检索日期。不得编造缺失信息。    depends_on: [search_strategy]    output: database_c.csv  deduplicate:    task: >      合并三个数据库的结果,以DOI、标题、作者和年份去重,      并保留去重日志。    depends_on: [database_a, database_b, database_c]    output: deduplicated_studies.csv  screening:    task: >      严格按照预先确定的纳入和排除标准进行初筛。      为每篇被排除的研究记录明确理由。      无法判断的文献标记为“需要人工复核”。    depends_on: [deduplicate, define_question]    output: screening_results.csv  evidence_extraction:    task: >      从通过筛选的研究中提取样本、方法、变量、效应量、      主要结果、局限和原文位置。不得根据摘要补写全文信息。    depends_on: [screening]    output: evidence_table.csv  methodology_checker:    task: >      独立评价研究设计、偏倚风险、样本量、测量方法和统计方法。      不得参考综合写作者的推理过程。    depends_on: [evidence_extraction]    output: methodology_check.md  citation_checker:    task: >      独立检查每条文献的作者、年份、题目、期刊、DOI和链接,      并核对所引用来源是否真正支持对应结论。    depends_on: [evidence_extraction]    output: citation_check.md  synthesis:    task: >      根据证据表、方法学检查和引文检查进行综合。      区分一致证据、矛盾证据和证据不足,不得只统计支持性研究数量。    depends_on:      [evidence_extraction, methodology_checker, citation_checker]    output: synthesis.md  final_report:    task: >      根据研究方案和证据综合撰写报告。      每项结论附来源,并明确局限、异质性和未解决问题。    depends_on: [define_question, synthesis]    output: final_report.md

看完这篇文章,或许你的脑袋会感觉晕晕的。没关系,其实我就说了下智能体、循环、协作图这三个东西。智能体是让你交给Claude一个目标,而不是一条指令,让它自己朝着目标去开展工作;循环是让这项工作变得更可靠,它会检查自己的结果、记录失败的原因,并不断继续,直到真正达到标准;协作图则是让这项工作变得更快,多个工作者会并行处理相互独立的任务,最后再汇聚成一个统一的答案。

不过,并不是所有任务都需要同时这三者。在实际学术科研过程中,我们需要根据任务的复杂程度和具体需求灵活选择。只有当我们能够判断一个科研任务更适合哪种结构时,才能避免在重复性工作上浪费大量时间,而是通过更合理的设计,让 AI 真正提升科研效率。

我用AI搭的网站:

https://sht.asia(开源免费,复制去浏览器或点文末“阅读原文”一键直达)

里面有8个模块,包括科研工具、中文文献、英文文献、科研绘图、论文写作(文献阅读、模板句式、文献综述、选研究方法、润色修改、格式排版、选刊神器)、文献管理、基金项目、效率工具。亲测好用,点击链接可直接到达。

我用AI搭了一个属于自己的科研静态网站!

我的知识星球:

我创建了一个知识星球,里面会不定期分享AI论文写作、科研工具、GitHub开源Skill、Prompt、科研提效的东西

感兴趣的朋友欢迎加入,第一时间掌握AI赋能科研的信息差