Orchestrating Research Workflow with Prefect and CrewAI

Prompt detail, context, and execution controls for real reuse instead of one-off copying.

implementationCollaborative Technical Research Crew Public prompt

Operator-ready prompt for reuse, tuning, and workspace runs.

This item is set up for developers who want to inspect the original language, fork it into Workspace, and adapt the evidence model without losing the source prompt structure.

Best for

Implementation handoffs, eval setup, and prompt tuning where you need the original structure intact.

Reuse pattern

Inspect first, copy once, then fork into Workspace when you want variants, notes, and model settings attached to the same run.

Before first run

Swap domain facts, examples, and any hard-coded entities for your own context.

Tighten the evidence or verification requirement if this is headed toward production.

Decide which failure mode you want to evaluate first before you branch the prompt.

Operator lens

This prompt already carries implementation detail, tool context, and a final-output instruction. Keep that structure intact when you tune it, or your comparison runs get noisy fast.

Best practice: keep one pristine source version, then branch variants around evaluation criteria, evidence thresholds, and output format.
Inspect linked challenge context
Run Profile

Open this prompt inside Workspace when you want a live iteration loop.

Copy for quick reuse, or run it in Workspace to keep prompt variants, model settings, and prompt-history changes in one place.

Structured source with 54 active lines to adapt.

Already linked to a challenge workflow.

Sign in to keep private prompt variations.

View linked challenge

Prompt content

Original prompt text with formatting preserved for inspection and clean copy.

Source prompt
54 active lines
9 sections
No variables
1 code block
Raw prompt
Formatting preserved for direct reuse
Define a Prefect flow that orchestrates the entire CrewAI research process for a given technical topic. The flow should include:
1. A `Researcher` task to perform initial web searches and store key findings in ChromaDB.
2. An `Analyst` task to retrieve findings from ChromaDB, synthesize them, and store structured insights back into ChromaDB.
3. A `Technical Writer` task to retrieve all relevant structured insights from ChromaDB and generate a comprehensive markdown report. This task should correspond to the `ResearchReportGeneration` evaluation task.

```python
# ... (previous agent and tool definitions)

from crewai import Task
from prefect import flow, task

# Define Tasks
task_research_topic = Task(
    description=(
        "Conduct comprehensive web research on the topic: '{topic}'. "
        "Identify key historical milestones, major contributors, and technological advancements. "
        "Store all relevant findings in ChromaDB using the 'store_research' tool." 
    ),
    expected_output='A summary of key research findings stored in ChromaDB.',
    agent=researcher
)

task_analyze_findings = Task(
    description=(
        "Retrieve all research findings related to '{topic}' from ChromaDB. "
        "Synthesize the information, identify patterns, and structure it into an outline. "
        "Store the structured insights back into ChromaDB using the 'store_research' tool." 
    ),
    expected_output='A structured outline of insights related to the topic, stored in ChromaDB.',
    agent=analyst
)

task_write_report = Task(
    description=(
        "Retrieve all structured insights and research data related to '{topic}' from ChromaDB. "
        "Based on this, write a comprehensive, well-structured technical report in markdown format. "
        "The report should include sections like Introduction, Key Concepts, Historical Context, Current State, Future Outlook, and Conclusion." 
    ),
    expected_output='A final markdown-formatted technical research report.',
    agent=writer
)

@flow(name="Technical Research Flow")
def technical_research_flow(topic: str):
    # Instantiate the CrewAI crew with the topic as context
    tech_research_crew = Crew(
        agents=[researcher, analyst, writer],
        tasks=[task_research_topic, task_analyze_findings, task_write_report],
        verbose=True,
        process="sequential" # Or 'hierarchical' if using hierarchical agents
    )

    print(f"Starting research on: {topic}")
    crew_result = tech_research_crew.kickoff(inputs={'topic': topic})
    print(f"CrewAI research completed. Final report:\n{crew_result}")
    return crew_result

# To run this flow in Prefect:
# 1. Ensure Prefect server is running
# 2. python your_script.py
# 3. technical_research_flow("The future of AI ethics and external audits.")
```

Adaptation plan

Keep the source stable, then branch your edits in a predictable order so the next prompt run is easier to evaluate.

Keep stable

Hold the task contract and output shape stable so generated implementations remain comparable.

Tune next

Update libraries, interfaces, and environment assumptions to match the stack you actually run.

Verify after

Test failure handling, edge cases, and any code paths that depend on hidden context or secrets.

Safe workflow

Copy once for a pristine source snapshot, then move the prompt into Workspace when you want variants, run history, and side-by-side tuning without losing the original.

Prompt diagnostics

Quick signals for how structured this prompt already is and where adaptation work is likely to happen first.

Sections
9
Variables
0
Lists
3
Code blocks
1
Reuse posture

This prompt already mixes executable detail with instructions, so the safest path is to tune examples and interfaces before you rewrite the overall scaffold.

Linked challenge

Collaborative Technical Research Crew

Design and implement a multi-agent system using CrewAI to collaboratively research and synthesize complex technical topics, inspired by detailed historical accounts like RISC-V development or DeepMind documentaries. The crew will consist of specialized agents (e.g., Researcher, Analyst, Technical Writer) working together. They will leverage Gemini 2.5 Pro via Vertex AI for deep understanding and content generation, utilizing ChromaDB as a shared knowledge base for storing research findings and contextual embeddings. Prefect will orchestrate the end-to-end research workflow, managing task dependencies and ensuring robust execution of the multi-agent collaboration.

Agent Building
advanced
Prompt origin
Why open it

Use the challenge page to recover the original task boundaries before you tune the prompt. That keeps your variants grounded in the same evaluation target instead of drifting into a different problem.

Open challenge context