SERIES Part 1 Part 2 Part 3 Part 4 Part 5 Part 6 Part 7 Part 8 Part 9 Part 10
AMD Field AI Enthusiast · by Pradeep Nallimelli · Part 7 of 10+ · June 2026

What is agentic AI.
End-to-end, on one R9700.

The first six parts measured the card. Parts 7 through 9 measure the workload. An agentic AI workflow — built for demonstration purposes — has been live on this single Radeon AI PRO R9700 for four days, serving steady traffic from a small panel of agents. The point is not the agents themselves: anyone can swap in their own. The point is the loop, and where each step of the loop runs on a single EPYC + Radeon node. Here is what an agentic workload actually is, broken into five phases.

Workload5
Phases: Sense, Synthesize, Verify, Decide, Act
Live requests49,288
Successful inference calls in ~4 days, 0 errors, 0 aborts
GPU footprint1
One Radeon AI PRO R9700 (32 GB, gfx1201) handles all model inference
SERVING STACK

Why vLLM for this workload.

Parts 1 through 6 measured the R9700 across three serving stacks — vLLM, llama.cpp (Vulkan and HIP), and SGLang. For an agentic workload, the choice is vLLM, and the reason is structural: this is a multi-agent system. Traffic does not arrive as one user typing one message. It arrives as many agents firing at the same model at the same time — classifier ticks, verifier loops, synthesis batches, Q&A from frontends — all generating simultaneous requests across overlapping batches. vLLM's continuous batching folds those concurrent requests into one rolling forward pass, so the GPU stays at duty cycle even when twenty agents are mid-flight.

Why not single-stream~50 tok/s
One agent, one request at a time. Wastes the card the moment a second agent wakes up.
Why vLLM~450–480 tok/s
Observed aggregate decode at 23–24 concurrent agents on this R9700. Nearly 10× the single-stream rate — the multi-agent unlock.
Mechanismcontinuous batching
vLLM's scheduler packs in-flight requests into one rolling forward pass. New requests join mid-batch; finished ones leave; the GPU never drains.
Multi-agent = multi-stream by default. A demonstration agentic pipeline that is constantly running generates simultaneous traffic by design. A serving stack that cannot batch concurrent requests turns one busy GPU into one bottlenecked GPU. vLLM is what makes a mainstream professional PCIe card like the R9700 economical for real concurrent local agentic workloads.
DEFINITION

Agentic AI is not a chatbot.

A chatbot answers when asked. An agent decides when to ask itself, what to look at, what to write, and what to do next — on a loop, against real data, without a human prompt in the middle.

Chatbot1:1
One human prompt, one model reply. Stateless across calls.
RAG1:N
One prompt, N retrieved docs, one synthesized reply. Still human-triggered.
Agentic AIN:N
N timers, N inboxes, N tools. Continuous loop of observe, decide, act, remember.
agentic AI node24x7
One physical box, agents always on, model always warm, single-writer state.
THE FIVE PHASES

Sense, Synthesize, Verify, Decide, Act.

Every agentic workload reduces to these five phases. The shape of your hardware bill comes from how you map them.

Agentic workflow phases — mapped to demonstration components

Source: live process inventory on an internal lab host (2026-06-03). Bar shows distinct components per phase in the production deployment.
PhaseWhat it doesRuns on
1. SenseIngest email, Teams chats, shared documents and files, meeting recordings, Salesforce changesCPU (EPYC) + I/O
2. SynthesizeEmbed, summarize, extract entities, write structured rows into the brainR9700 (LLM) + CPU (embeddings)
3. VerifyFact-check every claim, score veracity, requeue weak rows for re-synthesisR9700 + AMD Enterprise gateway (public oracle)
4. DecideRoute user/agent questions to the right tool, plan multi-step actionsR9700 (LLM tool-calling)
5. ActSend Telegram alert, write SF note, draft email, update Excel tracker, post Teams replyCPU + external APIs
WORKLOAD SHAPE

What a 4-day window looks like.

Four days of production traffic from a small panel of users, fed by 8,892 indexed meeting recordings and a continuous email/shared documents stream.

Inference calls49,288
vLLM request_success_total. Finish reasons: 44,111 stop · 5,177 length · 0 error · 0 abort.
Prompt tokens35.24 M
~715 tokens per call on average. The brain feeds the model long context.
Generated tokens8.73 M
~177 tokens per call. Most replies are short structured JSON or a one-paragraph synthesis.
Mean TTFT368 ms
vLLM time_to_first_token_seconds_sum / _count. Continuous batching keeps this flat under load.
Prefill / decode ratio is 4 to 1. Agentic workloads are prefill-heavy because the brain gives the model a lot of context per call. That is the opposite of a chatbot, where decode dominates. It is the reason single-stream tok/s is the wrong KPI for this box.
PROMPT VS DECODE

Agentic AI is prefill-heavy.

35.24 million prompt tokens against 8.73 million generated. The model spends most of its silicon reading, not writing. That changes which numbers from Parts 1 through 6 matter most.

Cumulative tokens by phase — 4-day production window

Source: vLLM /metrics on R9700 (qwen3-moe model). Window: ~96 hours of agentic traffic. Container vllm-qwen3-moe, rocm/vllm-dev:rocm7.2.1_navi.

From Part 4: this card does 3,491 prompt tok/s on llama.cpp HIP. From Part 2: vLLM holds 381 tok/s aggregate decode at N=16. In live telemetry under 23–24 concurrent agents, aggregate decode has been observed climbing to ~450–480 tok/s — nearly 10× the ~50 tok/s single-stream rate. That scaling is the whole point: one mainstream professional PCIe card serving many agents at once, not one user at a time.

REFERENCE WORKFLOW, MAPPED

One model. Many agents. One box.

Ten background agents, four live ingestors, three frontends, two databases. One LLM endpoint. One physical machine.

ComponentTypeCadence
EmailClassifierAgentBackgroundEvery 10 min
DigestAgentBackgroundDaily 9:00am
WeeklyDigestAgentBackgroundWeekly Mon 8:00am
ActivityTrackerAgentBackgroundFri 9:00am + 4:00pm
ReminderAgentBackgroundHourly
SFSyncAgentBackgroundEvery 30 min
ProactiveAlertAgentBackgroundEvery 15 min
CompetitiveG2AgentBackgroundEvery 14 days
verify_worker loopContinuous24 in flight at all times
kb_synth loopContinuousSingle writer to the synthesis store
meeting_ingest (speech preprocessor)IngestorBounded slice per cycle
doc_fs_ingestIngestor12 parallel workers
ingest_email / ingest_teams / ingest_netIngestorContinuous
telegram_bot · teams_claude_bridge · server.py · Gradio app.pyFrontendAlways on
WHY ONE CARD WORKS

Continuous batching is the unlock.

Twenty plus components throwing requests at the model. vLLM's continuous batching folds them into a single rolling forward pass. The R9700 sees one busy queue, never twenty idle ones.

vLLM iterations2.51 M
iteration_tokens_total_count: each iteration is one batched forward pass across all in-flight requests.
Tokens per iteration17.5
iteration_tokens_total_sum / _count. Small batches because requests stagger in, but no idle gaps.
GPU duty cycle~100%
rocm-smi 'GPU use': pinned at 100% any time an agent batch is in flight. Never observed under 92% during active hours.
VRAM stable29.7 GB
Of 32 GB. No OOM, no crashes, 4-day uptime. Memory headroom proves the MoE choice from Part 2 was right.
WHY THIS HARDWARE, FOR THIS WORKLOAD

R9700 plus Genoa is the agentic value play.

Agentic AI is not the same problem as serving a chatbot. The right card is not the biggest card — it is the card that holds a quantized MoE with 32k context, runs continuous batching at full duty cycle, and stays on your desk. The right CPU is not the most cores — it is the one with enough CCDs to give each agent class its own isolated home.

R9700, 32 GB$1 GPU
One workstation card holds the model, KV cache for 49k requests, prefix cache for the brain, and 32k context. No second card. No second box.
Continuous batching20+ in 1
Twenty agents and three frontends fold into one vLLM rolling forward pass. Aggregate decode scales from ~50 tok/s single-stream up to ~450–480 tok/s at 23–24 concurrent agents on this one R9700.
Privacy boundaryLocal
Customer-bucket data never leaves the card. One router switch decides local vs gateway. Public clouds cannot offer this.
Genoa-class EPYC12 CCDs
Each agent class lives on its own CCD with sticky L3. the synthesis worker, the speech preprocessor, and four ingester classes never fight for cache.
CPU does the restend-to-end
Ingestion, embeddings, BM25, scheduling, FUSE, speech preprocessing, document sync — everything that is not the model itself runs on the EPYC. The 87% capacity beyond steady-state is reserved for the bursts that keep the GPU fed.
Memory bandwidth755 GB
12-channel DDR5 keeps embedding, JSON parse, and SQLite WAL out of the way of inference. Memory is not the bottleneck on either side of PCIe.
The card you can buy is the card the workload was designed for. Parts 1-6 measured what a 32 GB RDNA4 part can do. This workload uses every dimension of that headroom and still has the privacy story a agentic AI node needs.
UP NEXT

Where the work actually runs.

Part 8 takes the five-phase map and pins each phase to silicon. Where the EPYC CPU does its job. Where the R9700 does its job. Why this split is what makes a agentic AI node buildable today.

Part 8R9700
Does the synthesis. The model is the writer.
Part 8EPYC
Runs the agents. The CPU is the conductor.
Part 949K
Requests, 0 errors. The verdict in production telemetry.