Sequential Workflow
Use named steps for sequential execution with clear tracking.
This example demonstrates Workflows using named Step objects for better tracking and organization. This pattern provides clear step identification and enhanced logging while maintaining simple sequential execution.
Pattern: Sequential Named Steps
When to use: Linear processes where you want clear step identification, better logging, and future platform support. Ideal when you have distinct phases that benefit from naming.
1from kern.agent import Agent2from kern.db.sqlite import SqliteDb3from kern.models.openai import OpenAIResponses4from kern.team import Team5from kern.tools.hackernews import HackerNewsTools6from kern.tools.yfinance import YFinanceTools7from kern.workflow.step import Step8from kern.workflow.workflow import Workflow910# Define agents11hackernews_agent = Agent(12 name="Hackernews Agent",13 model=OpenAIResponses(id="gpt-5.2"),14 tools=[HackerNewsTools()],15 role="Extract key insights and content from Hackernews posts",16)17finance_agent = Agent(18 name="Finance Agent",19 model=OpenAIResponses(id="gpt-5.2"),20 tools=[YFinanceTools()],21 role="Get stock prices and financial data",22)2324# Define research team for complex analysis25research_team = Team(26 name="Research Team",27 members=[hackernews_agent, finance_agent],28 instructions="Research tech topics and related stocks",29)3031content_planner = Agent(32 name="Content Planner",33 model=OpenAIResponses(id="gpt-5.2"),34 instructions=[35 "Plan a content schedule over 4 weeks for the provided topic and research content",36 "Ensure that I have posts for 3 posts per week",37 ],38)3940# Define steps41research_step = Step(42 name="Research Step",43 team=research_team,44)4546content_planning_step = Step(47 name="Content Planning Step",48 agent=content_planner,49)5051content_creation_workflow = Workflow(52 name="Content Creation Workflow",53 description="Automated content creation from blog posts to social media",54 db=SqliteDb(55 session_table="workflow_session",56 db_file="tmp/workflow.db",57 ),58 steps=[research_step, content_planning_step],59)6061# Create and use workflow62if __name__ == "__main__":63 content_creation_workflow.print_response(64 input="AI trends in 2024",65 markdown=True,66 )