When Anthropic published Building Effective Agents in late 2024, it did something rare for the industry: it gave engineers a shared vocabulary. Instead of another manifesto about artificial general intelligence, the guide offered six clear patterns for structuring LLM systems. A year and a half later, in 2026, the landscape looks radically different. Model Context Protocol has become a universal standard. Claude has gained new capabilities. Most organizations now have at least one agent running in production. Against that backdrop, it is fair to ask whether those six patterns still matter, or if they belong in the archive next to last year’s model weights.

I tested all six patterns against a local model in a side repository to find out. The answer is yes. They still hold up. But not because they are immutable laws. They hold up because the last eighteen months of production experience have validated the framework’s core logic.

What the Framework Actually Gave Us

The six patterns are worth remembering precisely: Prompt Chaining, Routing, Parallelization, Evaluator-Optimizer, Orchestrator-Workers, and Autonomous Agents. That last one is essentially a loop in which the model plans, acts, observes, and repeats until some condition is met.

Plenty of engineers were already chaining prompts or delegating tasks to worker threads before the guide appeared. What Anthropic provided was taxonomy. One person’s “agent” was another person’s “workflow,” and a third person’s “multi-step tool call.” The guide sorted the mess into buckets with clear boundaries. That made it possible to argue about trade-offs without talking past each other. In a field drowning in hype, crisp language is a kind of infrastructure.

The Industry Built On Top, Not Around

By 2026, these categories are baked into how teams design systems. Anthropic still teaches them in their Academy courses. Research papers and engineering blogs still use the same six buckets to describe new architectures. That kind of longevity is unusual for a discipline that refreshes its stack every quarter.

The reason is straightforward. The industry did not replace the framework. It built on top of it. New tools like MCP and the newer Agent Skills standards function as plumbing. They make it easier to connect a model to a database, expose a tool, or manage state. But they do not change the logic of when to use a router instead of an orchestrator. A better pipe does not rewrite the floor plan.

Production data in 2026 confirms this. The most common deployment pattern is still a single tool-use call paired with human review. The second most common is a multi-step workflow with exactly one handoff to a person. Both are direct descendants of Prompt Chaining and Routing. Full autonomous loops remain the exception, not the rule, in live systems.

Restraint Won the Market

The original guide’s best advice was also the advice most often ignored in 2024: use the simplest pattern that works. Do not deploy a full autonomous agent if a hardcoded path will get the job done.

The market has finally internalized this. Most agent pilots still fail, and they fail for the same predictable reason. Teams stack abstraction on abstraction until no one can trace the decision boundary. When the system drifts, debugging becomes archaeology. The companies that have succeeded in production are the ones that showed restraint. They defaulted to single-turn tool use. They added a routing layer only after the single prompt proved inconsistent. They treated autonomy as a liability to be justified, not a feature to be celebrated.

This is not an argument against ambition. It is an argument for composition. The patterns work best when you combine them deliberately rather than reflexively reaching for the most complex option on the menu.

Where the Seams Start to Leak

The framework is not a cure-all. There are hard limits that show up the moment you leave the prototype stage.

Для высокочастотных и малозатратных задач детерминированный код по-прежнему выигрывает. LLM не должна нормализовать столбец CSV, когда pandas может сделать это за миллисекунды без галлюцинаций. Избегайте автономных циклов, если не можете четко определить цель оценки. Без четкого условия остановки модель будет итерироваться до тех пор, пока не придумает причину для остановки. Для принятия критически важных решений, требующих внешней привязки к фактам, не полагайтесь исключительно на внутренние знания модели. И следите за узкими местами при извлечении данных. Любой паттерн, зависящий от векторного поиска или внешних API, может «задохнуться», если ваша база данных работает медленно или контекстное окно забито нерелевантными фрагментами.

Это не гипотетические пограничные случаи. Это ограничения, которые отделяют работающее демо от системы, способной пережить выходные.

Жесткая проверка и ошибочный провал

Я осознал практическую ценность этого фреймворка во время создания своего тестового репозитория. Я внедрял паттерн Evaluator-Optimizer. Мой эвалюатор изначально представлял собой жестко прописанное регулярное выражение, которое сканировало вывод модели на наличие определенных ключевых слов. Модель выдала правильный, логически обоснованный ответ, в котором по случайности использовались синонимы вместо тех самых слов, которые я искал. Эвалюатор пометил это как ошибку.

Модель была права. Моя проверка была слишком жесткой.

Исправление потребовало большего, чем просто расширение списка слов. Я перевел сам эвалюатор на использование LLM для принятия решений. Это стоило дополнительных токенов и нескольких миллисекунд, но вернуло оценку на правильный уровень абстракции. Сам паттерн был верным. Я просто выбрал неверную реализацию для этой задачи. Это именно тот тип ошибок, которые призван предотвращать данный фреймворк. Для одних оценок нужен код. Для других — модель. Понимание того, что и когда использовать, — в этом и заключается весь смысл.

Как использовать их сейчас

Рассматривайте эти шесть паттернов как отправную точку, а не как абсолютный закон. Начните с одного промпта. Если качество ответов нестабильно для разных типов входных данных, добавьте слой маршрутизации, чтобы направлять различные запросы к специализированным промптам. Если перед принятием решения вам нужно получить несколько независимых точек зрения, используйте Parallelization. Если задача большая и ее можно разделить, попробуйте Orchestrator-Workers. Обращайтесь к полноценному автономному циклу только тогда, когда пространство проблемы слишком велико для предварительного картирования и когда у вас есть надежный