LangChain 1.4.3 — create_agent w Claude przestarzałe
- LangChain wydał wersję langchain-anthropic 1.4.3 z poprawkami względem wersji 1.4.2 opublikowanej kilka dni wcześniej.
- Aktualizacja wprowadza refaktoryzację deprecacji celując w funkcję create_agent oraz dodatkowe prace porządkowe w langchain-classic.
- Programiści korzystający z integracji Claude w LangChain powinni sprawdzić, czy ich kod nie wywołuje przestarzałych metod oznaczonych w nowej wersji.
LangChain wypuścił langchain-anthropic 1.4.3 — kolejny patch w ciągu kilku dni, tym razem skupiony na porządkach w kodzie obsługującym modele Anthropic.
Co się zmieniło w 1.4.3
Główna zmiana to refaktoryzacja deprecacji w module langchain-classic, która retargetuje ostrzeżenia bezpośrednio na funkcję create_agent. Wcześniej deprecacje były rozsiane po różnych miejscach kodu — teraz trafiają tam, gdzie programista faktycznie wywołuje przestarzałą metodę. Oprócz tego PR #37166 zamknął kilka mniejszych zadań porządkowych, które nachodziły się na poprzednie release’y.
To nie jest duży feature drop. To sprzątanie przed czymś większym.
Czy create_agent znika z LangChaina?
Retargetowanie deprecacji na create_agent to czytelny sygnał: ta funkcja idzie do lamusa. LangChain od miesięcy przesuwa ekosystem w stronę LangGraph, gdzie agenci budowani są inaczej — jako grafy stanów, nie jako łańcuchy z narzędziami doklejone do jednej funkcji.
create_agent było przez długi czas głównym sposobem na odpalenie agenta z Claude lub GPT-4 w kilku linijkach. Proste, wygodne, ale i ograniczone. LangGraph daje więcej kontroli nad przepływem, stanem konwersacji i obsługą błędów — kosztem stromszej krzywej uczenia.
Jeśli twój kod produkcyjny nadal wywołuje create_agent, po wrzuceniu update’u do 1.4.3 zobaczysz ostrzeżenia przy każdym uruchomieniu. Na razie tylko ostrzeżenia — funkcja jeszcze działa.
Jak działa integracja LangChain z Anthropic
Pakiet langchain-anthropic to warstwa pośrednia między LangChain a API Claude. Obsługuje formatowanie wiadomości, tool calling, streaming i zarządzanie tokenami. Każda aktualizacja po stronie Anthropic — nowy model, zmiana w API, inne limity — wymaga odpowiedniej zmiany w tym pakiecie.
Wersja 1.4.2 pojawiła się kilka dni przed 1.4.3, co pokazuje tempo pracy: LangChain pushuje poprawki szybko, często kilka patch wersji tygodniowo. Dla team ów utrzymujących własne agenty na produkcji oznacza to regularne sprawdzanie changelog’ów albo przypięcie wersji w requirements.txt i ręczne update’owanie z głową.
Migracja z create_agent — gdzie iść dalej
LangChain dokumentuje przejście na LangGraph w sekcji How-to guides. Zamiast:
from langchain.agents import create_agent
agent = create_agent(llm, tools, prompt)
Teraz buduje się graf:
from langgraph.prebuilt import create_react_agent
agent = create_react_agent(llm, tools)
Nazwa podobna, mechanizm inny. create_react_agent z LangGraph zwraca CompiledGraph, nie AgentExecutor. Interfejs wywołania też się zmienił — zamiast .run() używasz .invoke() z odpowiednim słownikiem stanu.
Dla prostych agentów migracja zajmuje godzinę. Dla bardziej złożonych pipeline’ów z custom callbacks, memory i wieloma narzędziami — spokojnie zaplanuj dzień roboczy i testy.
Dlaczego LangChain tak często patchuje akurat tę integrację
Anthropic regularnie aktualizuje swoje modele i API. Claude 3.5 Sonnet, Claude 3.5 Haiku, a teraz Claude 3.7 — każda nowa wersja modelu często przynosi zmiany w sposobie obsługi tool callingu lub streamingu. LangChain musi za tym nadążać, żeby programiści mogli korzystać z nowych możliwości bez przepisywania kodu.
Dodatkowo Anthropic wypuścił własny SDK z wbudowaną obsługą agentów — anthropic-sdk-python z modułem tools. Część społeczności zaczyna pytać, czy pośrednik w postaci langchain-anthropic jest nadal potrzebny, skoro można pisać bezpośrednio do API.
Czy LangGraph ostatecznie wyprze klasyczne podejście z create_agent w ciągu najbliższych dwóch kwartałów?