Claude Deep Research, czyli jak przestałem się martwić i pokochałem systemy wieloagentowe
Zazwyczaj staram się podchodzić do wszelkich nowych, błyszczących zabawek z pewną dozą sceptycyzmu. Dokładnie taki, do niedawna, był mój stosunek do systemów wieloagentowych. Powiedziałbym, że nie jest to zaskakujące, ponieważ wokół nich jest teraz mnóstwo szumu, a ja nie widziałem prawdziwie udanych przykładów takiego podejścia. Większość realizacji, które faktycznie działały, należała do jednego z następujących typów: Systemy agentowe działające według określonego planu. Czyli LLM z narzędziami, wytrenowane do automatyzacji konkretnego procesu. Dzięki temu każdy krok można testować osobno i weryfikować jego wyniki. Opisywane są takie systemy zazwyczaj w postaci skierowanego grafu acyklicznego (DAG), czasem dynamicznego, i tworzone przy użyciu już standardowych prymitywów z frameworków typu LangChain i Griptape1. Tak funkcjonowała wczesna implementacja Gemini Deep Research, w której najpierw tworzono plan wyszukiwania, następnie wykonywano samo wyszukiwanie, a na końcu składano wynik. Rozwiązania działające w systemach ze sprzężeniem zwrotnym. Różne Claude Code, Cursor i inne agenty operujące na kodzie. Im silniejsze sprzężenie zwrotne, czyli im lepszy tooling i surowsza kontrola typów, tym większe szanse, że ostatecznie nie zepsują wam bazy kodu2. Modele trenowane za pomocą Reinforcement Learning, takie jak modele z interleaved thinking, na przykład OpenAI o3. To osobna i bardzo ciekawa rozmowa, ale nawet takie modele mają jakieś modus operandi, określone przez specyfikę ich treningu. Tymczasem systemy wieloagentowe typu otwartego, ze względu na ich ogólną zawodność, istniały dotychczas głównie w formie proof of concept. W społeczności brakowało zrozumienia, gdzie je stosować i jak dokładnie je implementować. Aż pojawił się głęboki artykuł inżynierski od Anthropic o tym, jak tworzyli swój Deep Research. Zdefiniowano w nim wystarczająco jasne ramy do budowy takich systemów i to właśnie je dzisiaj przeanalizujemy. ...