Copy
Ask AI
"""
Workflow Using Steps
====================
Demonstrates how to compose a workflow from a `Steps` sequence with research, writing, and editing steps.
"""
import asyncio
from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.tools.websearch import WebSearchTools
from agno.workflow.step import Step
from agno.workflow.steps import Steps
from agno.workflow.workflow import Workflow
# ---------------------------------------------------------------------------
# Create Agents
# ---------------------------------------------------------------------------
researcher = Agent(
name="Research Agent",
model=OpenAIChat(id="gpt-4o-mini"),
tools=[WebSearchTools()],
instructions="Research the given topic and provide key facts and insights.",
)
writer = Agent(
name="Writing Agent",
model=OpenAIChat(id="gpt-4o"),
instructions="Write a comprehensive article based on the research provided. Make it engaging and well-structured.",
)
editor = Agent(
name="Editor Agent",
model=OpenAIChat(id="gpt-4o"),
instructions="Review and edit the article for clarity, grammar, and flow. Provide a polished final version.",
)
# ---------------------------------------------------------------------------
# Define Steps
# ---------------------------------------------------------------------------
research_step = Step(
name="research",
agent=researcher,
description="Research the topic and gather information",
)
writing_step = Step(
name="writing",
agent=writer,
description="Write an article based on the research",
)
editing_step = Step(
name="editing",
agent=editor,
description="Edit and polish the article",
)
article_creation_sequence = Steps(
name="article_creation",
description="Complete article creation workflow from research to final edit",
steps=[research_step, writing_step, editing_step],
)
# ---------------------------------------------------------------------------
# Create Workflow
# ---------------------------------------------------------------------------
article_workflow = Workflow(
name="Article Creation Workflow",
description="Automated article creation from research to publication",
steps=[article_creation_sequence],
)
# ---------------------------------------------------------------------------
# Run Workflow
# ---------------------------------------------------------------------------
if __name__ == "__main__":
# Sync
article_workflow.print_response(
input="Write an article about the benefits of renewable energy",
markdown=True,
)
# Async
asyncio.run(
article_workflow.aprint_response(
input="Write an article about the benefits of renewable energy",
markdown=True,
)
)
Run the Example
Copy
Ask AI
# Clone and setup repo
git clone https://github.com/agno-agi/agno.git
cd agno/cookbook/04_workflows/01_basic_workflows/01_sequence_of_steps
# Create and activate virtual environment
./scripts/demo_setup.sh
source .venvs/demo/bin/activate
python workflow_using_steps.py