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.

W przypadku zadań o wysokiej częstotliwości i niskich kosztach, kod deterministyczny wciąż wygrywa. LLM nie powinien normalizować kolumny w pliku CSV, gdy pandas może to zrobić w milisekundach bez halucynowania. Unikaj autonomicznych pętli, jeśli nie potrafisz zdefiniować precyzyjnego celu ewaluacji. Bez jasnego warunku stopu model będzie iterował, aż wymyśli powód, by przestać. W przypadku decyzji o wysokiej stawce, które wymagają zewnętrznego zakotwiczenia, nie polegaj wyłącznie na wewnętrznej wiedzy modelu. I uważaj na wąskie gardła w pobieraniu danych. Każdy wzorzec zależny od wyszukiwania wektorowego lub zewnętrznych API może się „zatkać”, jeśli Twoja baza danych działa wolno lub okno kontekstowe jest przeładowane nieistotnymi fragmentami.

To nie są hipotetyczne przypadki brzegowe. To ograniczenia, które odróżniają działające demo od systemu, który przetrwa weekend.

Sztywne sprawdzenie i błędna ocena niepowodzenia

Praktyczną wartość tego frameworka poznałem podczas budowania mojego repozytorium testowego. Implementowałem wzorzec Evaluator-Optimizer. Mój ewaluator początkowo był sztywnym wyrażeniem regularnym (regex), które skanowało wyjście modelu w poszukiwaniu konkretnych słów kluczowych. Model zwrócił poprawną, dobrze uzasadnioną odpowiedź, która przypadkiem użyła synonimów zamiast dokładnie tych słów, których szukałem. Ewaluator oznaczył to jako błąd.

Model miał rację. Moje sprawdzenie było zbyt sztywne.

Naprawa tego wymagała czegoś więcej niż tylko rozszerzenia listy słów. Zmieniłem sam ewaluator na ocenę opartą na LLM. Kosztowało to dodatkowe tokeny i kilka milisekund więcej, ale przywróciło ewaluację na właściwy poziom abstrakcji. Sam wzorzec był poprawny. Po prostu wybrałem niewłaściwą implementację do tego zadania. To dokładnie ten rodzaj błędu, któremu ten framework ma zapobiegać. Niektóre ewaluacje wymagają kodu. Inne wymagają modelu. Wiedza o tym, co jest czym, jest w tym wszystkim kluczowa.

Jak ich teraz używać

Traktuj te sześć wzorców jako punkt wyjścia, a nie absolutne prawo. Zacznij od pojedynczego promptu. Jeśli jakość jest niespójna dla różnych typów danych wejściowych, dodaj warstwę routingu, aby wysyłać różne zapytania do wyspecjalizowanych promptów. Jeśli przed podjęciem decyzji potrzebujesz wielu niezależnych perspektyw, zastosuj paralelizację. Jeśli zadanie jest duże i podzielne, wypróbuj Orchestrator-Workers. Sięgaj po pełną autonomiczną pętlę tylko wtedy, gdy przestrzeń problemu jest zbyt szeroka, by móc ją wstępnie zmapować, i gdy masz niezawodny