The slide deck says one makes content and the other takes action. The sharper line is a single word: loop. Agentic AI is a generative model placed inside a feedback loop with tools and a goal — and that loop is where the value and the failure both live.
They get pitched as three ways to extend an agent. They aren't interchangeable — a tool is an action, a Skill writes knowledge into the context window, and a subagent keeps work out of it.
Both embed a query and pull matching text into the prompt, so they look like the same trick. The difference is who writes the index — and that single fact moves the hard problem from retrieval to write discipline.
They share a name, a history, and a lot of code — but by 2026 'AutoGen' splintered into three projects, and the one you pip install decides whose roadmap you inherit.
Greedy decoding should give the same answer every time. It doesn't — and the usual 'floating-point' excuse is wrong. The real culprit is what else is in the batch with you.
For the normalized embeddings most models now emit, all three metrics rank results identically. The decisions that actually change your recall are the two nobody frames as a choice.
The reason a voice agent feels rude is almost never its voice. It's that the agent confused "the user stopped making noise" with "the user is finished" — two different questions a silence timer cannot tell apart.
Three libraries everyone compares as if you get to choose. You don't — your model already chose for you. The real question is what that choice costs, and who pays it.
The official MCP Registry isn't an app store — it's a canonical metadata feed built to prove who owns a server name, and it leaves search and curation to everyone downstream.
Three of these knobs do the same job — truncate the unreliable tail of the next-token distribution. The differences are smaller, and more contested, than the tutorials admit. And if you build agents, you probably want almost none of it.
The SSE-vs-WebSockets debate misses the real problem. An agent doesn't emit a token stream — it emits typed events. Design the envelope first; the transport falls out.
Writing a spec before the agent writes code is the loudest idea in AI coding right now. The pitch isn't better code — it's making intent a durable artifact that survives the context window. Three tools bet on that at three different altitudes.
If your agent has a fixed set of tools and intents, you probably don't need a model to pick between them. An embedding lookup is faster, cheaper, and the same input lands the same way every time.
Stretching a model past its trained context length isn't a memory problem — it's a positional-encoding generalization problem. The methods that work all interpolate instead of extrapolate, and the good ones interpolate unevenly.
Every lab gives you a dial for how hard a model reasons before it answers — through three incompatible interfaces. The surprise is that turning it up isn't always better.
They share a word and almost nothing else. One discounts your bill, one reuses GPU memory, one can hand back the wrong answer — and teams keep enabling the one they didn't mean.
The topology you pick for your agents is really one decision in disguise — who holds the state and the control — and that single choice sets your token bill, your latency, and whether you can ever debug the thing.
Three ways to put more than one workload on one accelerator — and a reason most LLM serving shouldn't use any of them. Choose by failure domain, not utilization.
The worst MCP attacks aren't bugs in a server's code — they're features of a trust model that drops every tool's description into one undifferentiated context. Here's the threat map, and the defenses that actually hold.
They all promise an app from a prompt. They differ on the question none of them advertises: when you outgrow the tool, do you get to take the code with you?
An agent that runs for a hundred turns will blow past any context window. The fix is three different mechanisms — and the order you reach for them is the opposite of most people's instinct.
An agent needs two identities at once — proof it is itself, and proof of whose authority it's borrowing right now — and the dangerous failures all live at the seam between them.
Three open-source tools dominate LLM red teaming — but they aren't rivals. One scans a model, one is a framework for building attacks, one is a CI gate. Pick by layer.
Stop choosing between them. FlashAttention is the compute kernel, PagedAttention is the memory layout, FlashInfer is the engine — a modern stack runs all three at once.
Diffusion language models generate every token at once instead of left-to-right, which sounds like a guaranteed speedup. The early open models were slower than the autoregressive baseline anyway — and the reason they finally got fast is the opposite of what the pitch implied.
Static batching wastes the GPU because LLM outputs are variable-length — short replies idle while the batch waits for the longest. Continuous batching schedules at every token step instead. The catch is that the same trick that wins throughput can spike latency.
A million-token window is not a million usable tokens. Models degrade non-uniformly as input grows — sometimes performing worse than with no documents at all. The lever for agents isn't a bigger window; it's a cleaner one.
Everyone argues about which model to use. The under-discussed variable is how the agent writes its changes to disk — and that edit format is often the real bottleneck.
Every vendor leads with its bug-catch rate. But code review is the one place in the AI stack where precision beats recall — a reviewer you learn to ignore catches nothing.
MCP wired agents to tools and A2A wired them to each other. The last hop — the agent talking to a human's screen — was still hand-rolled in every app. AG-UI is the standard for it.