DEV Community

Cover image for The AI Agent Ecosystem in PHP - From Simple OpenAI Calls to Multi-Agent Platforms
Samuel Akopyan
Samuel Akopyan

Posted on

The AI Agent Ecosystem in PHP - From Simple OpenAI Calls to Multi-Agent Platforms

Over the last two years, an entire industry has emerged around AI development within the PHP ecosystem.

Where integrating an LLM once looked like a few lines of code calling the OpenAI API, developers today are building full-fledged agent systems: with memory, tools, workflows, observability, and even teams of specialized agents.

Usually, when people talk about AI development, they talk about Python first. And for good reason. The ecosystem is packed with interesting projects: LangChain, LangGraph, CrewAI, AutoGen - the bulk of the excitement has lived there for quite some time.
But in parallel, an interesting story has been unfolding in PHP as well.

And that makes me genuinely happy.

Just a couple of years ago, PHP developers had to assemble everything manually on top of provider SDKs. Today, however, there is already a complete ecosystem of tools at different abstraction levels - from model clients all the way to platforms for managing multi-agent systems.

Let's take a look at what this landscape looks like today.


From a Single Model Request to a Full-Fledged Agent

Historically, everything started the same way.
Almost every AI project looked something like this:

$response = $client->chat()->create([
    'model' => 'gpt-5',
    'messages' => [
        [
            'role' => 'user',
            'content' => 'Analyze the customer request'
        ]
    ]
]);
Enter fullscreen mode Exit fullscreen mode

For a prototype, this is more than enough.

But as soon as the system starts delivering real business value, additional requirements emerge:

  • Support for multiple models
  • Ability to switch providers quickly
  • Structured output
  • External tool calling
  • Memory management
  • Context management
  • Request tracing
  • Multi-step processing orchestration

At some point, you realize that the code surrounding the LLM is taking up more space than the business logic itself.

That is exactly why specialized AI libraries began to appear in PHP.
If we simplify things a bit, the modern ecosystem can be divided into three layers:

  • AI SDKs
  • Agent Frameworks
  • Agent Platforms

Each successive layer takes responsibility for more infrastructure work.


The modern AI development ecosystem in PHP can roughly be divided into three levels. SDKs solve model interaction problems, frameworks help build agents, and platforms manage the entire agent infrastructure.


Level One: AI SDKs

This is the foundation.

AI SDKs solve one problem: making it convenient to interact with models.

They do not attempt to manage agents or orchestrate workflows. Their responsibility ends with sending a request and receiving a response.

OpenAI PHP

Repository: https://github.com/openai-php/client
Status: Active

The official OpenAI client for PHP.

In essence, it is the most direct way to work with the OpenAI platform without additional abstractions - a low-level SDK.

It provides access to:

  • Responses API
  • Chat Completions
  • Embeddings
  • Audio API
  • Image Generation
  • Fine-Tuning
  • Files API

A typical example is as straightforward as it gets:

$response = $client->responses()->create([
    'model' => 'gpt-5',
    'input' => 'Create a short summary of the customer request'
]);

echo $response->outputText;
Enter fullscreen mode Exit fullscreen mode

The advantage of this approach is obvious: complete control.

The downside is equally obvious.

As soon as you need to support multiple models or providers, you have to build all necessary abstractions yourself.


Prism

Repository: https://github.com/prism-php/prism
Status: Active

While OpenAI PHP focuses on accessing a single platform, Prism was created with a different goal in mind: providing a unified interface for multiple providers.

This is a multi-provider AI SDK.

The idea is simple: business logic should not depend on a specific model.

Today you use GPT, tomorrow Claude, next month Gemini - the application should not notice the difference.

Example:

Prism::text()
    ->using('openai', 'gpt-5')
    ->withPrompt('Hello')
    ->generate();
Enter fullscreen mode Exit fullscreen mode

Switching models is literally a one-line change:

Prism::text()
    ->using('anthropic', 'claude')
    ->withPrompt('Hello')
    ->generate();
Enter fullscreen mode Exit fullscreen mode

Prism becomes especially useful thanks to additional capabilities.

Structured Output

Instead of parsing free-form text, you can define the expected output structure in advance.

For example:

class SentimentResult
{
    public string $sentiment;
    public int $score;
}
Enter fullscreen mode Exit fullscreen mode

The model will then return data in a strictly defined format.

For production systems, this is far more reliable than applying regular expressions to generated text.

Tools

Prism supports tool calling.

In other words, the model can decide for itself when it needs to query a CRM, database, or external API.

This is effectively where the transition from "chatbots" to "agents" begins.

Embeddings

Virtually every modern RAG project ends up using embeddings sooner or later.

Prism allows you to generate them through a unified interface regardless of the chosen provider.


Laravel AI

Repository: https://github.com/laravel/ai
Status: Active

Perhaps the most interesting player to emerge in recent months.

Laravel AI is trying to do for artificial intelligence what Laravel did for databases, queues, and infrastructure.

The main idea here is not model support.

The main idea is making AI a natural part of a Laravel application.

The code feels immediately familiar:

$response = AI::chat()
    ->model('gpt-5')
    ->prompt('Create a short summary of the customer request')
    ->send();
Enter fullscreen mode Exit fullscreen mode

But the real value goes deeper.

AI integrates automatically with:

  • Queues
  • Events
  • The service container
  • Logging
  • Configuration
  • The scheduler

As a result, an LLM starts to feel like just another infrastructure dependency - roughly on the same level as Redis or PostgreSQL.


Level Two: Agent Frameworks

And this is where things start getting really interesting.

Because a model request is not yet an agent.

Imagine a customer support system.

A message arrives:

I've already contacted you three times about my refund. Nobody is responding.

What happens next?

In practice, the system usually needs to:

  • Determine sentiment
  • Assess urgency
  • Retrieve customer information
  • Check support history
  • Prepare a response
  • Save the result
  • Log all actions

You can write dozens of services manually.

Or you can use an agent framework.


In real systems, agents rarely work alone. Usually, a coordinator emerges that distributes tasks among specialized agents and then combines their results into a single response.


Neuron AI

Repository: https://github.com/neuron-core/neuron-ai
Status: Active

Today, this is one of the most mature agent frameworks in PHP.

The approach is fundamentally different.

Instead of describing a request, the developer describes an agent:

$agent = Agent::make()
    ->name('SupportAgent')
    ->instructions('You are a customer support specialist');
Enter fullscreen mode Exit fullscreen mode

The agent then receives a task:

$result = $agent->run(
    'Analyze the customer email'
);
Enter fullscreen mode Exit fullscreen mode

At first glance, it looks simple.

But under the hood, an entire infrastructure appears:

  • Memory
  • Workflows
  • Tools
  • RAG
  • Multi-agent systems
  • Observability
  • and much more

Philosophically, the project is remarkably similar to LangGraph from the Python world.

Why Memory Became Critical

A traditional LLM operates like this:

Request → Response
An agent works differently:
Request
  ↓
Memory
  ↓
Tools
  ↓
LLM
  ↓
Result
Enter fullscreen mode Exit fullscreen mode

Memory allows the agent to consider previous actions and accumulated context.

Without it, long-running business processes are impossible.

Multi-Agent Systems

Another trend of recent months is the move away from universal agents.

More and more teams are adopting specialized roles:

Coordinator
   |
   +-- CRM Agent
   |
   +-- Sentiment Agent
   |
   +-- Reply Agent
Enter fullscreen mode Exit fullscreen mode

The approach closely resembles the structure of a real team.

Each agent is responsible for its own domain.


LarAgent

Repository: https://github.com/maestroerror/laragent
Status: Active

If Neuron AI aims to be a universal agent framework, LarAgent is focused primarily on Laravel developers.

You can immediately feel Laravel's familiar philosophy:

class SupportAgent extends Agent
{
    protected string $instructions =
        'You are a support specialist';
}
Enter fullscreen mode Exit fullscreen mode

Minimal infrastructure code and maximum Laravel integration.

For many teams, this may be the fastest way to start working with agents.


PapiAI

Repository: https://github.com/papi-ai/papi-core
Status: Active

A relatively young project that emphasizes strong typing and provider independence.

Architecturally, PapiAI feels like an attempt to bring modern PHP development practices into the AI world.

Its primary focus areas include:

  • Types
  • Contracts
  • Middleware
  • Tools
  • Structured responses

It's fascinating to watch AI tooling gradually inherit the architectural principles of traditional PHP frameworks.


Atlas

Repository: https://github.com/atlas-php/atlas
Status: Active

Another representative of the new generation of agent solutions.

The project is being built with modern requirements in mind:

  • Voice interfaces
  • Multimodality
  • Agents
  • Tools
  • Tracing
  • Monitoring

Atlas cannot yet be called a mature market player, but it clearly demonstrates the direction in which the ecosystem is moving.


Level Three: Agent Platforms

At a certain scale, a new problem emerges.

The challenge is no longer building an agent.

The challenge becomes managing dozens of agents.

Questions begin to arise:

  • Who handles task routing?
  • How do we track response quality?
  • How do we test changes?
  • How do we manage memory?
  • How do we understand the root causes of failures?

This is where Agent Platforms come in.


PromptlyAgent

Repository: https://github.com/promptlyagentai/promptlyagent
Status: Active

This project focuses on building complex agent ecosystems.

Its primary emphasis is on:

  • Visual orchestration
  • Multi-agent workflows
  • Tool integration
  • Agent management

In essence, it represents a shift from programming individual components to managing an entire AI infrastructure.


Vizra ADK

Repository: https://github.com/vizra-ai/vizra-adk
Status: Active

Another interesting project from the Laravel ecosystem.

It covers nearly the entire agent lifecycle:

  • Development
  • Testing
  • Memory
  • Workflows
  • Observability
  • Sub-agent interaction

Looking at industry trends, solutions like this are gradually becoming the next level of abstraction.


Where the Market Is Heading

Interestingly, PHP is now following almost exactly the same path that Python followed a few years ago.

The evolution looks like this:


Virtually every AI project goes through a similar evolution. It starts with a simple model call, then adds tools and structured output, and eventually grows into a network of interacting agents.

Everyone starts with a simple model request.

Prism::text()
    ->using('anthropic', 'claude')
    ->withPrompt('Привет')
    ->generate();
Enter fullscreen mode Exit fullscreen mode

Then come tools.

Then memory.

Then workflows.

After that, specialized agents become inevitable.

And eventually comes the realization that all of this infrastructure needs to be managed somehow.

That is why orchestration and agent management platforms are currently evolving faster than SDKs themselves.


Conclusion

A few years ago, conversations about AI in PHP typically ended with discussions about which HTTP client to use for calling OpenAI.

Today, the situation looks completely different.

The ecosystem already contains solutions for virtually every level of complexity:

  • OpenAI PHP and Prism for model interaction
  • Laravel AI for deep AI integration within Laravel applications
  • Neuron AI, LarAgent, PapiAI, and Atlas for building agents
  • PromptlyAgent and Vizra ADK for managing complex agent systems

And it seems this is only the beginning.

If developers once designed APIs, services, and queues, in the coming years they will increasingly be designing agents, their memory, their tools, and the ways they interact with one another.

It is already becoming clear that a single model call is gradually turning into the new function, while an agent is becoming the new service.

That is why understanding the capabilities of the PHP AI ecosystem is becoming an essential skill for any backend engineer planning to build the next generation of AI products.

Are you ready for these changes?

If you're interested in AI in PHP, you can dive deeper into the topic through my free book: "AI for PHP Developers: Intuitively and Practically."

Top comments (0)