Skip to main content

Command Palette

Search for a command to run...

Building Sequential AI Agents with Vercel AI SDK (Multi-Step LLM Workflows)

Published
4 min read
Building Sequential AI Agents with Vercel AI SDK (Multi-Step LLM Workflows)
G
Backend engineer building ShiftMailer, an AI-powered email tool. Sharing lessons from shipping AI agents and scalable systems. Follow for real-world AI, product, and engineering insights—no fluff.

Most AI agents today are just a single prompt and a single response.

That approach works—until you need structure, reliability, or production-grade workflows.

In this post, we’ll explore sequential AI agents, how they differ from normal AI agents, and how you can build a multi-step AI workflow using the Vercel AI SDK.

What Is an AI Agent?

An AI agent is a system that:

  1. Takes an input (user query, event, or data)

  2. Uses an LLM to reason or generate output

  3. Optionally calls tools, APIs, or functions

  4. Returns a result or performs an action

In many applications, this entire process happens in one step.

Example:

User asks: “Write a product update email”
→ LLM generates the email in a single response

This works well for simple tasks—but it starts breaking down as complexity grows.

Normal AI Agent (Single-Step Agent)

A normal AI agent typically follows this flow:

Input → LLM → Output

Characteristics

  • Single prompt

  • Single LLM call

  • Minimal or no intermediate state

  • Fast and cheap

Example Use Cases

  • Chatbots

  • Text rewriting

  • Summarization

  • Simple content generation

Limitations

  • Hard to enforce structure

  • No explicit reasoning steps

  • Poor control over multi-stage workflows

  • Difficult to debug or extend

When tasks require planning, validation, transformation, or multiple roles, a single-step agent becomes fragile.

What Is a Sequential AI Agent?

A sequential AI agent breaks a task into multiple ordered steps, where:

  • Each step has a clear responsibility

  • Output of one step becomes input for the next

  • Context accumulates across steps

Input
  ↓
Step 1 (Planner Agent)
  ↓
Step 2 (Executor Agent)
  ↓
Step 3 (Refiner / Validator Agent)
  ↓
Final Output

Source : https://www.cybage.com/blog/building-intelligent-ai-systems-understanding-agentic-ai-and-design-patterns

Instead of asking the model to do everything at once, we guide it through a pipeline.

Normal Agent vs Sequential Agent

AspectNormal AgentSequential Agent
LLM CallsOneMultiple
StructureImplicitExplicit
ControlLowHigh
DebuggabilityHardEasy
CostLowerHigher
ScalabilityLimitedHigh

Sequential agents trade simplicity for control and reliability.

When Are Sequential AI Agents Beneficial?

Sequential agents are ideal when:

1. Tasks Have Clear Phases

Example:

  • Planning

  • Writing

  • Reviewing

  • Formatting

2. Output Must Follow Strict Structure

  • Emails

  • Reports

  • JSON schemas

  • Code generation

3. Different “Roles” Are Needed

  • Product marketer

  • Engineer

  • Editor

4. You Want Deterministic Pipelines

  • SaaS features

  • Automations

  • Multi-tenant systems

This is why sequential agents work extremely well for:

  • Product update emails

  • CRM workflows

  • Content pipelines

  • Data extraction and transformation

Designing a Sequential Agent (Conceptually)

Let’s say we want to build a content generation agent.

Step 1: Planner Agent

Responsibility:

  • Analyze the input

  • Break it into structured sections

Output:

{
  "sections": ["Introduction", "Key Points", "Conclusion"]
}

Step 2: Writer Agent

Responsibility:

  • Generate content for each section

Input:

  • Original user input

  • Planner output

Step 3: Refiner Agent

Responsibility:

  • Improve tone

  • Fix grammar

  • Enforce constraints

Each step is predictable and replaceable.

Implementing a Sequential AI Agent with Vercel AI SDK

Step 1: Create the Planner Agent

import { generateText } from "ai";
import { openai } from "@ai-sdk/openai";

export async function plannerAgent(input: string) {
  const result = await generateText({
    model: openai("gpt-4.1"),
    prompt: `Analyze the input and create a structured plan.\n\nInput: ${input}`,
  });

  return result.text;
}

Step 2: Create the Writer Agent

export async function writerAgent(plan: string, input: string) {
  const result = await generateText({
    model: openai("gpt-4.1"),
    prompt: `Using the following plan, write detailed content.\n\nPlan:\n${plan}\n\nInput:\n${input}`,
  });

  return result.text;
}

Step 3: Create the Refiner Agent

export async function refinerAgent(content: string) {
  const result = await generateText({
    model: openai("gpt-4.1"),
    prompt: `Refine the following content for clarity and tone.\n\n${content}`,
  });

  return result.text;
}

Step 4: Orchestrate the Sequential Flow

export async function sequentialAgent(input: string) {
  const plan = await plannerAgent(input);
  const draft = await writerAgent(plan, input);
  const finalOutput = await refinerAgent(draft);

  return finalOutput;
}

This orchestration is the heart of a sequential agent.

Benefits of This Approach

  • Clear separation of responsibilities

  • Easier debugging (inspect each step)

  • Reusable agents

  • Better output consistency

  • Safer production usage

This is especially useful when building AI-powered SaaS features, not demos.

Final Thoughts

Sequential AI agents represent a shift from “ask the model to do everything” to “designing AI workflows.”

With the Vercel AI SDK, building these workflows feels natural and maintainable.

If you’re building:

  • AI-first products

  • Content pipelines

  • Internal tooling

…sequential agents will give you control, clarity, and confidence.

If you’re interested, the next step could be:

  • Adding validation agents

  • Parallel agents

  • Streaming intermediate steps

  • Persisting agent state

That’s where AI engineering starts to feel like real software engineering 🚀