Галоўная / Артыкулы

LangGraph, CrewAI ці Google ADK? Адна задача для двух агентаў, тры фрэймворкі

Параўноўваем LangGraph, CrewAI і Google ADK, будуючы аднолькавую пару «даследчык–аўтар», і выбіраем праз пяць пытанняў пра кантроль, хуткасць і A2A.

Выдавец: REACTAPP.TOP6 хв чытання1464 слоў

Крыніцы: LangGraph vs CrewAI vs Google ADK: I Built the Same Agent Three Times

Порэванаўненні фрэймворкаў зазвычай адбываюцца на аднай шаблонаце: сетка фічар, абаротка па калоне і вынік, які не прымыкае нічога. Гэта не дапамагае тым, хто стоіць на розвітку і павінен выбраць варыянт і рухацца далей. Порэванаўненне тут пабудавана на стварэнні таго ж маленькага сістэмы ў LangGraph, CrewAI і Google ADK, таму разлікі выклікаюцца кодам і компромісамі, а не спецыфікацыямі.

Тры псіхалагічныя модэлі

Короткая падготовка пры перадпрыемстве коду:

  • LangGraph — гэта коробка з кялечкамі Lego. Кожны вузол, рэшта і умовныя галузі чыста адзначаюцца. Ён дае максымальную контроль і мае найвышэйшы крэвак навучэння.
  • CrewAI — гэта заранее сформавленная кампанія, якая запытае, што яе трэба робіць. Указуюцца ролі і цялевыя пункты, а фрэймворк абавяе коордынацыю. Гэта найшырэшы шлях да рабочага пратотыпа, пры чым меньша можлівасць кантролю над тым, як агенты перадаюць працу аднам другам.
  • Google ADK працуе як апынавальны інжынер. Ён апоўнены справамі, мае стан, а таксама падтрымка абзірнасці, тэставання і грацыязныя способы адборкі, плюс жорсткія звязкі з Google Cloud і Gemini.

Нічыя з гэтых пунктов не ўжо крытыка. Гэта разныя падходы да таго, калі большасці распрацоўшчыкаў патрэбна большая частка часу.

Заданне на тэст

Кожная платформа выпало тое ж сама задача: доследнік збірае матэрыялы, а потым пісьменнік ператварае іх у гэтыт канечны адказ, таму пісьменнік не можа прыступіць да працы, пакуль доследнік не завершыць сваю работу. Маршрутызатор у стылі кансультанта мог бы адначынальна кераваць гэтым працэсам, што робіць яго справедлівым крэтырыем для адлічэння, наскількі разнарава кожны інструмент выражае той самы алгорытм.

LangGraph

Спачатку імпортуецца:

from langgraph.graph import StateGraph, END
from typing import TypedDict

Потым — стан упорадкованы, вузлы і явныя рэгістры:

class State(TypedDict):
    query: str
    research: str
    final_answer: str
def research_node(state: State) -> State:
    # Call your research agent/tool here
    state["research"] = f"Research findings for: {state['query']}"
    return state
def writer_node(state: State) -> State:
    # Call your writer agent, using state["research"]
    state["final_answer"] = f"Final answer using: {state['research']}"
    return state
graph = StateGraph(State)
graph.add_node("research", research_node)
graph.add_node("writer", writer_node)
graph.set_entry_point("research")
graph.add_edge("research", "writer")
graph.add_edge("writer", END)
app = graph.compile()
result = app.invoke({"query": "What is agentic AI?"})

Усі рэбра тут накрэшаны вручную. На кожным кроку чытна, што будзе далей, і гэта ўсё, што дае LangGraph: дадатковы код з самага пачатку у обмен на контрольны прайсупутак, які фрэймворк ніколі не стварае імпровізавана.

CrewAI

from crewai import Agent, Task, Crew

Далей іду агенты і задачы:

researcher = Agent(
    role="Research Specialist",
    goal="Find accurate information on the given topic",
    backstory="An expert at gathering and synthesizing information."
)
writer = Agent(
    role="Content Writer",
    goal="Write a clear final answer using research findings",
    backstory="An expert at turning research into clear prose."
)
research_task = Task(
    description="Research: {query}",
    agent=researcher,
    expected_output="A summary of relevant findings"
)
writing_task = Task(
    description="Write a final answer using the research",
    agent=writer,
    expected_output="A clear, well-written final answer",
    context=[research_task]
)
crew = Crew(agents=[researcher, writer], tasks=[research_task, writing_task])
result = crew.kickoff(inputs={"query": "What is agentic AI?"})

Зверніце ўвагу на тое, чаго няма пасля LangGraph: ніхто не практыкуе строўлення графа чы не спаўнае рэбра. Код чыста вказвае, хто адпаведае за шта, а логіка працы CrewAI сама перадае рэзультат доследжэння ў задачу напісання. Чыбаўце працоспроможная версія ствараецца за значна менш час — адносна двадцяты хвілін, калі ужо звычны патэрн.

Google ADK

from google.adk.agents import Agent
from google.adk.runners import Runner
research_agent = Agent(
    name="researcher",
    model="gemini-2.0-flash",
    instruction="Research the given topic thoroughly and return findings.",
)
writer_agent = Agent(
    name="writer",
    model="gemini-2.0-flash",
    instruction="Write a clear final answer using the research findings provided.",
    sub_agents=[research_agent]  # hierarchical relationship
)
runner = Runner(agent=writer_agent, app_name="research_writer_app")
result = runner.run(user_id="user1", session_id="session1",
                     new_message="What is agentic AI?")

Паглядзіце на поле sub_agents. ADK будуецца на іерархіі «родак-дзеця», якая функцыонуе на адпаведных запусках, а час яе працы керуе цыклам, якія пераходзяць між прыходзячымі запросамі, вызовамі модэляў і запускамі інструментаў. Ён знаходзіцца між ручна прадуманай схемай з’ўязкаў у LangGraph і неявной коордынацыяй у CrewAI: у вас ёсць іерархія, але большая частка тэхнічных аспектаў адбываецца сама, на вядома больш, чым у LangGraph.

У чым яны насправды разлічаюцца

Простыя прыклады выглядаюць падражна схожымі. Разлікі стаюць віднымі пасля этапы пратотыпа.

Контроль і можлівасць спостэрэння. LangGraph шырокаю чынам служыць найболей падготавленым выборам для складных, розгалужаных рабочых практык. Функцыі стварэння кэш-пунктав і стабільнага выканання ўжо ўбудованы, і, як паведамляецца, Klarna выкарыстоўвае яго для 85 мільйонаў корыстувачаў. Такое прымененне ў рэальных умовах ўсё, што трэба, без дапамогі якога-лібо спіску функцый. Жорсткай сторонай являецца крывая навучэння, якая ў трох варыянтаў ёсць найстрыжэйшая самэлькі таму, што контроль у яму ўсё бол явны.

Швальнасць стварэння першага пратотыпа. CrewAI стабільна выграўа. Для стварэння першай багата-агентнай сістэмы або швыраг перагляду ідэі яго абстракцыя на адной засадзе ролей дапамагае якомога шырэйша запусціць працэс. Аднак тая ж высокага рэвэля абстракцыя стае пераканаўленнем, калі логіка коордынацыі становіцца складней, адтуды ёсць менш дзеяльны контроль над тым, калі і як агенты перадаюць задачы.

Патрэбныя для корпаратыў і мовы. ADK стала доступная для шырокага вжытку у 2026 годзе і падчас гэтага змяніла свой падход, заменіўшы свой іерархічны екзэкутар на дварожневы двыжак, які і быў основай дызайну LangGraph з самага пачатку. Яго справжняе прызначэнне крыўдзіцца ў іншым. Ён падтрымлівае больш мов, чым які-небудзь з канкурэнтных раўнарадных рашэнняў (Python, TypeScript, Go, Java, Kotlin), можа без працы інтэгрувацца з Gemini і Google Cloud для команд, якія ужо іх вжываюць, а таксама мае у сабе інструменты для ацэнкі, якіх няма ў LangGraph і CrewAI.

Размовы між разнымі фрэймворкамі. Лічна колькасць порэванаў згадвае гэты аспект. ADK адразу падтрымляе протакол Agent2Agent (A2A), таму агент, напісаны ў зусім іншым фрэймворку, можа адмаўляцца паведамленнямі з яным, а падпісаныя карткі агента забезпечваюць крыптаграфічную пераверку. Калі сістэма павінна вызваць агента, які належыць прадавцу чыя-небудзь партнеру, A2A выполняе для агента тое ж, што MCP выполняе для інструментаў: ён стандартызуе абмен паведамленнямі між двума агентамі, а не між агентам і інструментам.

Эфектыўнасць токенаў. І тут існуе значны разлік. Тэсты, якія выканалі тыя ж задачы за дапамогою LangGraph і CrewAI, паказалі, што LangGraph выкарыстоўвае значна менш токенаў. Оерагоднае падстава — у LangGraph ёсць чыста выражаныя шляхі перэдачы дадзенняў, тады як CrewAI паверае рутаванне задач LLM, і кожны з гэтых неявных варыянтав рутавання ўскладнюе працу мадэлі. У будзь-якім случае за гэтыя рашэнні ктосьці трэба плаціць.

Выбір па парадку

Не адзіраюцеся табліцамі з функцыямі, а спытайцеся гэтыя пытанні па адраджэнні:

  1. Патрэбна шырока працэўная версія, ці гэта першы багатаяговы сістэма? Выберыце CrewAI. Гэта якнайшырэшы шлях да працюючага рашэння, і гэты выбор можна будзе пераглядзець, калі логіка коордынацыі пакажацца складной.
  2. Патрэбна максымальная контроль над розгалужэннямі, чыстым направленнем памылак чы ўчастаннем чалавека ў процэсе? Выберыце LangGraph. Калі направлення ёсць сложным, вы хочаце самі кераваць кожным элементам, а не даваць гэта права логіцы фрэймворку.
  3. Вы ужо выкарыстоўваеце Google Cloud, чы патрэбны языкі, кроме Python? Выберыце Google ADK. Натыўнае інтэграцыя з Gemini і Cloud усунеяць працоўныя труднасці для команд у гэтым экасістэме, а ўжо ўсё языкі, якія ён падтрымлівае, ёсць непераможнымі.
  • Чы гэтыя агенты з разных фрэймворкаў або прадавцоў павінны співаць між сабою? Выберыце Google ADK для падтрымкі A2A, адно з рашэнняй, якое не ўважае жадна з альтэрнатываў за прыорытэтную функцыю для працы ў працэсах вырабніцтва.
  • Ні адна з вышэўказаных альтэрнатываў не падходзіць? Іспользуйце тое, якое лепшая знае ваша команда. Усе тры рашэннія будуць гатовыя да працы ў працэсах вырабніцтва ў 2026 годзе, і найважлівейшым ёсць тое, як цярпячна спраектаваныя ўзоркі для керавання, маршрутызацыі і інструментаў.
  • Няма універсальнага пераможця

    Няма такога фрэймворка, які бы быў найкрашчы для всіх, а порэвананне, якое стверджвае працоўнае, мае мету — прымусіць купіць яго. Выберыце LangGraph для керавання і зміцнення працы ў складных рабочых працэсах, CrewAI для якнайшырэйшага часу да стварэння рабочага пратотыпа, а Google ADK — для команд, якія работаюць у Google Cloud, і для справжньяго месаўжнечання між разнымі фрэймворкамі.

    Пярэдзейцецца на асаленых абмежэннях — чы гэта тое, што вялікадром вяселі, на якій воблаку ён працуе, чыія логіка коордынацыі ўсё ж такі складная, а не на тым, які фрэймворк апублікаваў самыя яскравыя анунсаванні. Фрэймворк — гэта толькі каркас. Правільны дызайн агента можа быць прыменены ў будзь-якай з трох сфер: цыклы, запошук, маршрутызацыя, стандарты інструментаў, можлівасці адзірвання і прычынка ацэнкі рэзультатаў.

    Супаўязаныя матэрыялы

  • Стварэнне агента для атрымання кваліфікаваных кандалаў за дапамогою AI на Python з FastAPI і Pydantic — Ператварае первісныя кандалы на кваліфікаваныя: структураваная выкарыстоўвання LLM, верыфікацыя за дапамогою Pydantic, аблікаванне на аснове правіл, зберагчык у PostgreSQL, очакальныя лісты і можлівасць перагляду чалавекам.
  • Паспяшна інструкцыя па DS-STAR: агент дадзейнасці з дадзеннямаў ад Google і прычыны яго успеху — Падробны аналіз агента дадзейнасці з дадзеннямаў DS-STAR ад Google: яго семь модуляў, цыкл атрымання адчыненых адзвечаў DS-STAR+, опублікованыя запіты, рэзультаты аблікацыі і існуючыя абмежэнні.
  • Порэшчанне AutoGen і CrewAI: стварэнне команд агентаў, расчытка ўсіх затрат — практычныя порэшчанні AutoGen і CrewAI для працы з калькамі агентаў: ціклы праекста, крытыкі, групавыя чаты, задачы і команды, а таксама AgentOps для назірання за затратамі.
  • Паспяшна інфармацыя пра Gemini Spark: задачы, навыкі, графікі, безпека і цены — што робіць агент Gemini Spark, які завжды працуе, у Gmail, Календары і Docs, як функцыонуюць яго механізмы безпекі, скількі ўсё кошта, дзе ён заблокаваны і каму варта яго аднаць.