Migration Guide v1.0

Migrate to the new Agent* prefix naming convention

Overview

PraisonAI v1.0 introduces a consistent Agent\* prefix naming convention for core orchestration classes. This makes the API more intuitive and agent-centric.

Diagram

New Names (v1.0+)

Old Names

AgentManager

Workflow

AgentAppProtocol

AgentTeam

AgentFlow

AgentOSProtocol

What Changed

Quick Reference

Old NameNew NamePurpose
AgentManagerAgentTeamMulti-agent orchestration
AgentsAgentTeamMulti-agent orchestration
WorkflowAgentFlowStep-based workflows
PipelineAgentFlowStep-based workflows
AgentAppProtocolAgentOSProtocolDeployment protocol
AgentAppConfigAgentOSConfigDeployment config

Migration Examples

Python

AgentTeam (Before)
from praisonaiagents import Agent, Agents

agent1 = Agent(name="researcher", instructions="Research topics")
agent2 = Agent(name="writer", instructions="Write content")

team = Agents(agents=[agent1, agent2])
result = team.start()
AgentTeam (After – Recommended)
from praisonaiagents import Agent, AgentTeam

agent1 = Agent(name="researcher", instructions="Research topics")
agent2 = Agent(name="writer", instructions="Write content")

team = AgentTeam(agents=[agent1, agent2])
result = team.start()

TypeScript

AgentTeam (Before)
import { Agent, Agents } from 'praisonai';

const researcher = new Agent({ instructions: "Research topics" });
const writer = new Agent({ instructions: "Write content" });

const team = new Agents([researcher, writer]);
await team.start();
AgentTeam (After – Recommended)
import { Agent, AgentTeam } from 'praisonai';

const researcher = new Agent({ instructions: "Research topics" });
const writer = new Agent({ instructions: "Write content" });

const team = new AgentTeam([researcher, writer]);
await team.start();

AgentFlow

Python (Before)
from praisonaiagents import Workflow

flow = Workflow(steps=[...])
result = flow.start()
Python (After – Recommended)
from praisonaiagents import AgentFlow

flow = AgentFlow(steps=[...])
result = flow.start()
TypeScript (Before)
import { Workflow } from 'praisonai';

const flow = new Workflow('my-workflow');
await flow.run(input);
TypeScript (After – Recommended)
import { AgentFlow } from 'praisonai';

const flow = new AgentFlow('my-workflow');
await flow.run(input);

No Breaking Changes

python
# Both work identically
from praisonaiagents import AgentManager  # ✓ Still works (silent alias)
from praisonaiagents import AgentTeam     # ✓ New recommended name

# They are the same class
assert AgentManager is AgentTeam  # True

Why the Change?

Consistency

All orchestration classes now follow the Agent* prefix pattern, making the API more predictable.

Clarity
  • AgentTeam clearly indicates a team of agents
  • AgentFlow clearly indicates a flow/workflow of agent steps
  • AgentOS clearly indicates an operating system for agents
Agent-Centric

The naming reinforces that PraisonAI is an agent-first framework where everything revolves around agents.

Recommended Actions

  1. No Immediate Action Required

    Your existing code will continue to work without any changes.

  2. Update New Code

    Use the new names (AgentTeam, AgentFlow, AgentOSProtocol) in new projects.

  3. Gradual Migration

    When updating existing code, switch to the new names for consistency.

Class Hierarchy

Diagram

Silent Aliases

AgentManager → AgentTeam

Agents → AgentTeam

Workflow → AgentFlow

Pipeline → AgentFlow

Core Classes

Agent

AgentTeam

AgentFlow

Need Help?