Skip to content
This repository was archived by the owner on Mar 19, 2026. It is now read-only.
This repository was archived by the owner on Mar 19, 2026. It is now read-only.

Confusion and Conflation between Prefect Flow / Task and Controlflow Flow / Task #353

@mdrideout

Description

@mdrideout

Enhancement Description

Hey all, loving the library so far. However, I am encountering some use-case confusion. Hopefully this makes sense.

I have 2 types of AI flow use cases and feel torn between prefect core and control flow libraries.

I have directed graph style flows incorporating llms for logic, and AI Agent flows. I find it muddy figuring out whether controlflow can handle both cases, or if I need prefect for for the former, and controlflow for the later.

In my experimentation, it feels like controlflow really wants to abstract more to the llm for agentic and multi-agent flows... and doesn't really give directed graph capabilities.

I have some situations that are more appropriate for AI Agent flows. I have other situations that are more appropriate for directed graph style flows (that also incorporate LLM tasks).

I find the difference between the prefect core library flow and task decorators / functions, and the controlflow library flow and task decorators / defintions to be confusing to differentiate in documentation, and to implement when both are needed.

LLM code assistants also get totally confused and conflate both libraries, even when providing the docs as context.

Use Case

  1. directed graph workflow that uses an LLM to extract structured data from natural language, and uses conditional logic to execute on a very precise set of conditions, branching flows, etc. before saving the data. Task steps may require llm reasoning and conditional handling of llm outputs. Steps may trigger events.

  2. agent workflows that are doing more general goal-oriented reasoning for natural language responses and do not require as precise and regulated flows.

Proposed Implementation

Greater differentiation between prefect core and controlflow flow and task implementations. 

Ability to or examples of controlflow tasks with dependencies that don't abstract so much to the LLM.

Documentation examples demonstrating:
1. controlflow flows that do not use agents
2. Dynamic flows where a task is able to determine the next task based on certain conditions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementEnhance an existing feature

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions