研究流水線團隊

PR Ready

三代理團隊,負責研究主題、分析發現並撰寫報告。

5 個節點 · 5 條連接pr ready
crewaimulti-agentresearchllm
視覺化
提供研究主題human

使用者提供主題與期望深度(概覽/深度探討)。

sequential研究員代理
研究員代理agent

搜尋網路、閱讀論文並收集原始來源資料。

sequential分析師代理
分析師代理agent

將原始來源整合為結構化洞察與關鍵發現。

sequential撰稿員代理
撰稿員代理agent

產出附有引用的精煉 Markdown 報告。

sequential審閱報告
審閱報告human

使用者審閱最終報告,如有需要可要求修訂。

conditional撰稿員代理
ex-crewai-research-pipeline.osop.yaml
# CrewAI Research Pipeline — OSOP Portable Workflow
#
# A three-agent research crew: Researcher gathers sources, Analyst extracts
# insights, Writer produces a polished report. Demonstrates how CrewAI crews
# map 1:1 to OSOP nodes, making the workflow portable across any runtime.
#
# Run with CrewAI:  crewai run research_crew.py
# Validate with OSOP: osop validate crewai-research-pipeline.osop.yaml

osop_version: "1.0"
id: "crewai-research-pipeline"
name:"研究流水線團隊"
description:"三代理團隊,負責研究主題、分析發現並撰寫報告。"
version: "1.0.0"
tags: [crewai, multi-agent, research, llm]

nodes:
  - id: "user_topic"
    type: "human"
    name: "提供研究主題"
    description: "使用者提供主題與期望深度(概覽/深度探討)。"

  - id: "researcher"
    type: "agent"
    subtype: "llm"
    name: "研究員代理"
    description: "搜尋網路、閱讀論文並收集原始來源資料。"
    config:
      role: "Senior Research Analyst"
      tools: [web_search, arxiv_search, url_reader]
      max_iterations: 5

  - id: "analyst"
    type: "agent"
    subtype: "llm"
    name: "分析師代理"
    description: "將原始來源整合為結構化洞察與關鍵發現。"
    config:
      role: "Data Analyst"
      tools: [text_summarizer]
      max_iterations: 3

  - id: "writer"
    type: "agent"
    subtype: "llm"
    name: "撰稿員代理"
    description: "產出附有引用的精煉 Markdown 報告。"
    config:
      role: "Technical Writer"
      tools: [markdown_formatter]
      max_iterations: 3

  - id: "human_review"
    type: "human"
    subtype: "review"
    name: "審閱報告"
    description: "使用者審閱最終報告,如有需要可要求修訂。"

edges:
  - from: "user_topic"
    to: "researcher"
    mode: "sequential"
  - from: "researcher"
    to: "analyst"
    mode: "sequential"
  - from: "analyst"
    to: "writer"
    mode: "sequential"
  - from: "writer"
    to: "human_review"
    mode: "sequential"
  - from: "human_review"
    to: "writer"
    mode: "conditional"
    when: "revision_requested"
    label: "Revisions needed"