Track
Agenci AI to asystenci, którzy potrafią wykonywać zadania i wchodzić w interakcje ze światem. W przeciwieństwie do tradycyjnych systemów opartych na stałych regułach, mogą się uczyć i dostosowywać do nowych sytuacji. Pomyśl o nich jak o programach, które potrafią postrzegać swoje otoczenie i podejmować działania.
Ale co odróżnia agentów AI od innych bytów AI, takich jak popularne modele językowe, o których wszyscy słyszeliśmy?
W tym artykule odpowiem na to pytanie i przedstawię CrewAI, bezpłatny, otwartoźródłowy framework w Pythonie zaprojektowany, aby uprościć tworzenie systemów AI z wieloma agentami. Poznamy różnicę między agentami a modelami językowymi, omówimy, dlaczego frameworki agentowe są ważne przy budowaniu aplikacji AI, i pokażemy, jak CrewAI pozwala agentom współpracować i osiągać świetne wyniki.
Agenci AI vs. LLM-y
Rozwiejmy powszechne nieporozumienie dotyczące różnicy między agentami a dużymi modelami językowymi (LLM). Obie kategorie należą do rodziny sztucznej inteligencji, ale mają odmienne możliwości.

Modele językowe, takie jak ChatGPT i Gemini, świetnie posługują się językiem. Przeszły intensywne treningi na ogromnych zbiorach tekstu i kodu, dzięki czemu potrafią rozumieć i generować wypowiedzi bardzo zbliżone do ludzkiej komunikacji.
LLM-y to wirtuozi słowa w świecie sztucznej inteligencji, tworzący szeroką gamę treści: tłumaczenia, streszczenia, kreatywne opowieści, a nawet poezję. Ich zakres zwykle ogranicza się do zadań językowych.
Agenci natomiast skupiają się przede wszystkim na działaniu. Potrafią nawigować, wchodzić w interakcje z obiektami i podejmować decyzje na podstawie swoich spostrzeżeń.
W skrócie: modele językowe to mózg, a agenci to ręce. Razem tworzą potężny duet.
Skoro więc agenci odgrywają tak ważną rolę w aplikacjach AI, jak opanować ich złożoność, gdy wielu agentów musi współpracować? Tu z pomocą przychodzą frameworki agentowe.
Potrzeba frameworka dla agentów
Potrzeba frameworków agentowych wynika z rosnącej złożoności aplikacji AI, zwłaszcza tych, w których wiele agentów współpracuje, by osiągnąć wspólny cel. Zobaczmy, dlaczego są one niezbędne.
Orkiestracja i koordynacja
Wraz ze wzrostem skali systemów AI często pojawia się wiele agentów o zróżnicowanych możliwościach. Zarządzanie tymi interakcjami i zapewnienie harmonijnej współpracy staje się coraz trudniejsze.
Frameworki agentowe oferują uporządkowane środowisko do orkiestracji działań agentów, definiowania ich ról i odpowiedzialności oraz usprawniania komunikacji.
W systemach wieloagentowych ważnym aspektem jest efektywne przydzielanie zadań najbardziej odpowiednim agentom i sprawne zarządzanie współdzielonymi zasobami. Frameworki zapewniają dynamiczne mechanizmy alokacji zadań, negocjacji zasobów i rozwiązywania konfliktów.
Modularność i ponowne użycie
Frameworki agentowe promują modułowe podejście do tworzenia systemów AI, w którym agenci są projektowani i implementowani jako niezależne komponenty. Taka modułowość poprawia organizację kodu i umożliwia ponowne wykorzystanie modułów agentów w różnych projektach, co upraszcza rozwój i utrzymanie złożonych systemów. Dzięki tej komponentowej strukturze twórcy AI mogą skupić się na pojedynczych agentach bez zakłócania działania większego systemu.
Ponadto frameworki agentowe często przyjmują architekturę opartą na rolach, pozwalając przypisywać agentom konkretne role, które definiują ich możliwości i uprawnienia. Taki projekt sprzyja uporządkowanemu i łatwiejszemu w zarządzaniu systemowi, w którym agentów można dodawać, usuwać lub modyfikować z minimalnym wpływem na całą architekturę. Ta elastyczność sprawia, że systemy mogą ewoluować i dostosowywać się do nowych wymagań bez gruntownego przeprojektowywania.
Adaptacyjność i uczenie
Rzeczywiste środowiska są często dynamiczne, nieprzewidywalne i stale się zmieniają. Frameworki agentowe wyposażają agentów w zdolność dostrzegania zmian w otoczeniu i odpowiedniego dostosowywania zachowań. Dzięki temu agenci potrafią skutecznie działać nawet w złożonych i zmiennych scenariuszach, lepiej radząc sobie z wyzwaniami świata rzeczywistego.
Co więcej, frameworki agentowe często zawierają mechanizmy uczenia, które pozwalają agentom z czasem poprawiać wyniki. Ucząc się na podstawie informacji zwrotnej i doświadczeń, agenci mogą nieustannie optymalizować procesy decyzyjne i dostosowywać się do nowych wyzwań. Ta ciągła poprawa zwiększa ich skuteczność i wartość, co przekłada się na długoterminową wydajność i sukces systemu.
A skoro mowa o frameworkach agentowych, poznajmy taki, który robi furorę w społeczności AI: CrewAI.
Czym jest CrewAI?
CrewAI to otwartoźródłowy framework w Pythonie zbudowany wokół dwóch uzupełniających się klocków:
- Crews — zespołów agentów AI, które autonomicznie współpracują dzięki podejmowaniu decyzji opartemu na rolach — oraz
- Flows — produkcyjnych, zdarzeniowych przepływów pracy, które dają ci kontrolę nad automatyzacjami.
Razem pozwalają zbudować wszystko — od prostej ścieżki badawczej po w pełni autonomiczny system wieloagentowy.

Framework obejmuje wachlarz narzędzi, w tym wyszukiwarki internetowe i modele językowe, dzięki którym agenci mogą wchodzić w interakcje ze światem zewnętrznym, zbierać informacje i działać, by realizować swoje cele.
Projekt i skalowalność CrewAI sprawiają, że świetnie nadaje się do tworzenia zarówno podstawowych, jak i złożonych aplikacji wieloagentowych, wspierając zespołowe podejście do rozwiązywania problemów i podejmowania decyzji w systemach AI.
Przyjrzyjmy się kluczowym funkcjom, które czynią CrewAI potężnym narzędziem do budowania systemów wieloagentowych.
- Orkiestracja agentów: CrewAI dba, by każdy agent znał swoją rolę w przedstawieniu. Zapewnia narzędzia do definiowania i koordynowania zachowań agentów, tak by wszyscy grali w tym samym tempie.
- Architektura oparta na rolach: Jak przydzielanie instrumentów muzykom, CrewAI pozwala nadawać agentom konkretne role, definiując ich możliwości i uprawnienia. Dzięki temu system pozostaje modułowy i dobrze uporządkowany, nawet gdy robi się złożony.
- Elastyczna komunikacja: CrewAI wspiera różne kanały komunikacji, pozwalając agentom płynnie wymieniać informacje. Pomyśl o tym jak o prywatnym czacie, dyskusji grupowej i megafonie w jednym.
- Integracja narzędzi: CrewAI umożliwia agentom interakcję ze światem poprzez różne narzędzia. Dzięki nim agenci mogą przeszukiwać sieć, rozumieć język, analizować dane i wykonywać niestandardowe zadania.
- Skalowalność: CrewAI zaprojektowano tak, by skalował się bez wysiłku, dzięki czemu twój system wieloagentowy pozostaje responsywny i wydajny wraz ze wzrostem.
A jakie korzyści daje CrewAI? Sprawdźmy jego zalety.
CrewAI Flows i Crews
CrewAI opiera się na dwóch uzupełniających się klockach, które razem ogarniają wszystko — od prostych zadań agentów po złożone, produkcyjne potoki.
Crews to zespoły agentów AI, które autonomicznie współpracują. Każdy agent w Crew ma zdefiniowaną rolę, cel i historię — i wspólnie realizują zadania, delegują sobie nawzajem i podejmują decyzje bez potrzeby skryptowania każdego kroku. Po Crew sięgasz, gdy chcesz, by agenci sami wymyślili, jak coś zrobić.
Flows to warstwa orkiestracji nad Crews. Flow pozwala łączyć wiele Crews, dodawać logikę warunkową między krokami, zarządzać stanem w całym potoku i wyzwalać działania na podstawie zdarzeń. Crew daje autonomię, Flow daje kontrolę.
| Crews | Flows | |
|---|---|---|
| Najlepsze do | Autonomicznych, zespołowych zadań agentów | Wielostopniowych potoków z kontrolowanym wykonaniem |
| Poziom kontroli | Sterowane przez agenta | Definiowane przez dewelopera |
| Używaj, gdy | Chcesz, by agenci wymyślili "jak" | Musisz kontrolować co, kiedy i czy |
Dla większości początkujących startem będą Crews. Po Flows sięgasz dopiero wtedy, gdy potrzebujesz niezawodności klasy produkcyjnej. Flows to sposób na skalowanie.
Korzyści z używania CrewAI
CrewAI umożliwia współpracę wielu agentów AI, dzielenie się wiedzą i koordynację działań w stronę wspólnego celu.
Automatyzując dystrybucję zadań i zarządzanie zasobami, CrewAI pozwala agentom skupić się na ich konkretnych rolach przy minimalnych narzutach.
Framework wspiera też adaptacyjność, dzięki czemu agenci mogą dostosowywać zachowanie do zmieniających się warunków lub celów.
Dodatkowo CrewAI upraszcza proces tworzenia, oferując przyjazną platformę do budowy i zarządzania systemami wieloagentowymi.

Kolejną mocną stroną CrewAI jest integracja z szeroką gamą narzędzi. Rozszerza to możliwości agentów, pozwalając im wchodzić w interakcje ze światem zewnętrznym i zbierać informacje.
CrewAI obsługuje narzędzia takie jak wyszukiwarki internetowe, modele językowe, narzędzia do analizy danych, a nawet funkcje tworzone na zamówienie. Dzięki temu agenci mogą wykonywać zadania wykraczające poza ich podstawowe możliwości, na przykład pobierać informacje z sieci czy przeprowadzać złożone analizy danych.
Praktyka: budowa narzędzia do wyszukiwania w sieci z CrewAI
Zakasajmy rękawy i zbudujmy przepływ pracy z użyciem narzędzi CrewAI, aby zeskrobać treść ze strony i wykonać na niej RAG.
Musimy napisać kod, który uruchomi narzędzie. Zanim zaczniemy, zainstaluj pakiety crewai-tools i crewai przy użyciu pip:
# Install CrewAI with tools support
pip install 'crewai[tools]'
# Or using uv (recommended by CrewAI for dependency management)
uv add 'crewai[tools]'
Po zainstalowaniu pakietów wykonaj poniższe kroki. W tym przykładzie użyjemy trzech narzędzi: ScrapeWebsiteTool do zeskrobania strony, FileWriterTool do zapisania pliku i TXTSearchTool do przeszukania kontekstu na potrzeby RAG. Zaczynajmy.
Krok 1: Zeskrobanie strony internetowej
Najpierw importujemy potrzebne biblioteki i inicjalizujemy ScrapeWebsiteTool. Narzędzie służy do wyodrębniania treści ze strony. W tym przypadku ustawiamy je na zeskrobanie treści z Wikipedii, strony „Artificial Intelligence”:
from crewai_tools import ScrapeWebsiteTool, FileWriterTool, TXTSearchTool
import requests
# Initialize the tool, potentially passing the session
tool = ScrapeWebsiteTool(website_url='https://en.wikipedia.org/wiki/Artificial_intelligence')
# Extract the text
text = tool.run()
print(text)
Krok 2: Zapisanie wyodrębnionego tekstu do pliku
Teraz używamy FileWriterTool, aby zapisać wyodrębniony tekst do pliku o nazwie ai.txt.
# Initialize the tool
file_writer_tool = FileWriterTool()
# Write content to a file in a specified directory
result = file_writer_tool._run(filename='ai.txt', content = text, directory = '', overwrite=True)
print(result)
Krok 3: Konfiguracja narzędzia wyszukiwania w tekście
Konfigurujemy kolejne narzędzie do przeszukania zawartości pliku ai.txt, który właśnie zapisaliśmy. Ustawiamy też zmienną środowiskową z kluczem API OpenAI.
import os
from crewai_tools import TXTSearchTool
os.environ['OPENAI_API_KEY'] = 'API-KEY'
# Initialize the tool with a specific text file, so the agent can search within the given text file's content
tool = TXTSearchTool(txt='ai.txt')
Krok 4: Utwórz agenta do zadania i uruchom je
Tworzymy agenta-analityka danych w roli edukatora. Zadanie tego agenta to odpowiedź na pytanie „Czym jest przetwarzanie języka naturalnego?” na podstawie tekstu, którego szukaliśmy w pliku.
from crewai import Agent, Task, Crew
context = tool.run('What is natural language processing?')
data_analyst = Agent(
role='Educator',
goal=f'Based on the context provided, answer the question - What is Natural Language Processing? Context - {context}',
backstory='You are a data expert',
verbose=True,
allow_delegation=False,
tools=[tool]
)
test_task = Task(
description="Using the provided context, answer the question: What is Natural Language Processing?",
tools=[tool],
agent=data_analyst,
expected_output='A clear, 2-3 paragraph explanation of Natural Language Processing, covering its definition, key techniques, and common applications.'
)
crew = Crew(
agents=[data_analyst],
tasks=[test_task]
)
output = crew.kickoff()

Jak CrewAI wypada na tle LangGraph i AutoGen
Głównymi alternatywami dla CrewAI są LangGraph i AutoGen Microsoftu. Największą zaletą CrewAI jest paradygmat agentów oparty na rolach. To znaczy, że definiując agentów przez role, cele i historie, uzyskujesz zachowanie bardzo zbliżone do tego, jak współpracują ludzkie zespoły.
LangGraph daje większą kontrolę nad przebiegiem wykonania dzięki podejściu grafowemu, ale wymaga zrozumienia skierowanych grafów i koncepcji zarządzania stanem. Dla większości deweloperów nowych w systemach wieloagentowych CrewAI jest szybszą drogą do działającego prototypu.
Podsumowanie
CrewAI oferuje praktyczną platformę do zarządzania systemami wieloagentowymi. Niezależnie od tego, czy chodzi o zeskrobanie treści, czy delegowanie zadań, framework wspiera współpracę między agentami i pomaga im się dostosowywać oraz rozwijać.
Dzięki integracji narzędzi i uporządkowanej strukturze CrewAI ułatwia deweloperom zarządzanie interakcjami agentów, dystrybucję zadań i zapewnienie optymalnej wydajności.