Agents — a loop, not a wiring
An "AI agent" is an LLM placed inside a scaffolding loop — observe, think, act, observe again. Every framework you have heard of (LangChain, LangGraph, CrewAI, AutoGen, OpenAI Agents SDK, Claude Agent SDK) is a loop with state management around standard LLM calls. Each iteration is one normal model invocation with a carefully constructed prompt. The model has no awareness it is "in an agent" — it just sees a chat conversation.
The agent loop in pseudocode
If you can implement an agent in 30 lines of orchestration code, the agent is not an architecture. It is plumbing. The model is unchanged.
Long context is not a new architecture
Extending context length from 4K to 128K to 1M+ tokens involves:
- RoPE frequency scaling (NTK-aware scaling, dynamic NTK, YaRN) — adjusting the rotary position encoding to extrapolate beyond the trained window.
- Continued training on long sequences with the new RoPE configuration.
- Better attention implementations for the longer KV-cache.
None of this is a new architecture. The backbone Transformer is unchanged; what changes is the position encoding and the training data length.
Effective context ≠ advertised context
A 1M-token context window does not mean the model uses 1M tokens well. Research like the "Needle in a Haystack" test and various MECW (Maximum Effective Context Window) evaluations show many models degrade significantly long before reaching their advertised limit. The advertised number is a capacity, not a capability.
The general lesson
Anything that wraps a fixed model with extra software — agents, RAG, long context tricks, guardrails, system prompts — is product or training, not architecture. The architectural skeleton is what is encoded in the weights file. Everything else is application code.