Historia tylko dla członków

## AgentHub Karpathy: Praktyczny przewodnik po budowaniu pierwszego roju agentów AI

## Od autoresearchu po infrastrukturę natywną dla agentów — praktyczny przegląd z działającym kodem – od miesięcy uruchamiam roje agentów

[

![Reza Rezvani](https://miro.medium.com/v2/resize:fill:64:64/1*jDxVaEgUePd76Bw8xJrr2g.png)



](https://alirezarezvani.medium.com/?source=post_page---byline--13ed56a2007b---------------------------------------)

12 minut czytania

3 dni temu

**Czytałem README Karpathy'ego, gdy uderzyło mnie zdanie:**

> _"GitHub jest dla ludzi. AgentHub jest dla agentów."_

Od trzech miesięcy prowadzę systemy wieloagentowe przez OpenClaw. Poranne briefingi złożone z kalendarza, maila i narzędzi projektowych. Obserwatory CI/CD, które ukazują uszkodzone potoki z kontekstem. Logi decyzyjne, które wykrywają sprzeczności między członkami zespołu.

Naciśnij enter lub kliknij, aby zobaczyć obraz w pełnym rozmiarze

![Wizualizacja AgentHub pokazująca współpracę agentów AI poprzez skierowany acykliczny graf commitów z centralnym hubem koordynacyjnym i tablicą ogłoszeń](https://miro.medium.com/v2/resize:fit:700/1*57p7ACF7ZdE7CT-OCFgeug.png)

**AgentHub:** Agent-natywna infrastruktura dla współpracujących rojów AI | Obraz wygenerowany za pomocą Gemini Pro ©

**_Uwaga:_** _AI wspomagana w badaniach i strukturze. Analiza architektury, przejście przez kod i kontekst multi-agent pochodzą z mojego bezpośredniego doświadczenia._

Infrastruktura działa — ale za każdym razem, gdy chciałem, aby agenci współpracowali przy współdzielonym kodzie, a nie tylko koordynowali się przez wiadomości, napotykałem tę samą ścianę: Git jest stworzony dla ludzi. Oddziały zakładają, że ktoś to przejrzy. Pull requesty zakładają, że ktoś się połączy. Cały model zakłada, że ktoś jest w pętli na każdym punkcie kontrolnym.

Karpathy właśnie udostępnił warstwę infrastruktury, która usuwa te założenia. A potem, w ciągu tygodnia, oryginalne repozytorium stało się prywatne — pozostawiając forki jako jedyny sposób dostępu.

Rozdzieliłem się zanim zniknął. Oto praktyczny poradnik, którego nikt inny nie napisał: jak faktycznie skonfigurować AgentHub, budować agentów z nim działających i dlaczego to ma znaczenie poza badaniami ML.

**Widelec:** [github.com/alirezarezvani/agenthub](https://github.com/alirezarezvani/agenthub)

**_Na marginesie:_** _tworzę wtyczkę Claude Code do integracji z AgentHub w ramach mojego_ [_repozytorium open source Claude-Skills_](https://github.com/alirezarezvani/claude-skills) _— umiejętności, która pozwala agentom Claude Code wysyłać pakiety, zapytywać DAG i publikować na forum bez opuszczania terminala._

## Czym właściwie jest AgentHub (a czym nie jest)

AgentHub nie jest organizatorem. To nie jest rama. Nie mówi agentom, co mają robić.

To infrastruktura. Konkretnie, jest to surowe repozytorium Git oraz forum dyskusyjne, owinięte w jeden plik binarny Go wspierany przez SQLite. To cały system.

**Główna intuicja zasługuje na osobny akapit:** GitHub zakłada liniową historię zbiegającą się w główną gałąź. AgentHub zakłada rozległy skierowany graf acykliczny _(DAG)_ commitów idących we wszystkich kierunkach, bez głównego rozgałęzienia, bez pull requestów i bez merge'ów. Agenci przesyłają kod przez pakiety gitów. Koordynują się przez kanały i wpisy na forum dyskusyjnym. Platforma nie dba o to, co optymalizują agenci — dostarcza jedynie współdzielony graf i warstwę komunikacji.

Koncepcja GitHub _(Human-Centric)_ AgentHub _(Agent-Native)_ Model historii Liniowe gałęzie zbiegające się do głównego DAG commitów we wszystkich kierunkach Collaboration Pull requests, code review, merge Git bundles pushowane asynchronicznie Komentarze koordynacyjne dotyczące PR, problemów Board z kanałami i wątkami Przegląd procesu zatwierdzania przez człowieka przed merge Brak bramki zatwierdzania — agenci wysyłają swobodnie Szybkość iteracji Godziny do dni na cykl Sekundy do minut na cykl

Karpathy stworzył to jako warstwę organizacyjną dla [autobadań](https://github.com/karpathy/autoresearch) — swojego projektu, w którym agenci AI autonomicznie przeprowadzają eksperymenty treningowe ML na jednym GPU. Autoresearch emuluje jednego doktoranta prowadzącego eksperymenty w nocy. AgentHub emuluje całą społeczność badawczą z nich, współpracując asynchronicznie bez udziału człowieka.

Ale architektura jest generyczna. Platforma nie wie ani nie przejmuje się, czy agenci optymalizują trening modelu, refaktoryzują bazę kodu, skanują luki bezpieczeństwa lub generują dokumentację. Ta _"kultura"_ — co agenci publikują, jak formatują wyniki, jakie eksperymenty warto wypróbować — pochodzi z instrukcji agenta, a nie z platformy.

Naciśnij enter lub kliknij, aby zobaczyć obraz w pełnym rozmiarze

![Wizualizacja AgentHub: pokazywanie agentów AI (Claude Code, Codex, Custom Agents) współpracujących za pomocą akrylowego grafu](https://miro.medium.com/v2/resize:fit:700/1*3EJU_wjrfX54SUs5QP8H6g.png)

**Wizualizacja AgentHub:** pokaz współpracy agentów AI | Obraz wygenerowany za pomocą Gemini Pro ©

## Konfiguracja AgentHub od forku

Oryginalne repozytorium stało się prywatne około tydzień po starcie. Widłeczki to to, co pozostało. Rozwidliłem się przez [Ottogin/Agenthub,](https://github.com/ottogin/agenthub) zanim zniknął.`karpathy/agenthub`

### Wymagania wstępne

Potrzebujesz dwóch rzeczy na swoim komputerze:

-   **Go** _(wersja 1.21 lub nowsza)_ — do budowy serwera i CLI
-   **git** — musi być na twojej systemowej ŚCIEŻCE

To wszystko. Żadnych pojemników. Brak zależności od czasu uruchomienia. Nie ma menedżerów pakietów poza samym Go.

### Zbuduj oba układy binarne

```
<span id="d932" data-selectable-paragraph=""><br>git <span>clone</span> https://github.com/alirezarezvani/agenthub.git<br><span>cd</span> agenthub<br><br><br>go build ./cmd/agenthub-server<br><br>go build ./cmd/ah</span>
```

**2 systemy binarne:** _(hub)_ oraz _(agenci CLI używają do interakcji z nim)._ Serwer kompiluje się do jednego statycznego pliku binarnego — bez czasu działania, bez potrzebnych kontenerów.`agenthub-server``ah`

### Uruchom serwer

```
<span id="d175" data-selectable-paragraph="">./agenthub-server --admin-key YOUR_SECRET_KEY --data ./data</span>
```

Flaga wskazuje na katalog, w którym będą znajdować się SQLite i gołe repozytorium Git. Jest wymagana — chroni punkty końcowe tworzenia agentów i administracyjnych. Ustaw to za pomocą zmiennej środowiskowej, jeśli wolisz: .`--data``--admin-key``AGENTHUB_ADMIN_KEY=YOUR_SECRET_KEY`

**Flagi serwera, które warto znać:**

```
<span id="269f" data-selectable-paragraph="">--listen         <br>--data           <br>--admin-key      <br>--<span>max</span>-bundle-mb  <br>--<span>max</span>-pushes-per-hour  <br>--<span>max</span>-posts-per-hour   </span>
```

## Stwórz swojego pierwszego agenta

**Agenci uwierzytelniają się za pomocą kluczy API. Stwórz jeden:**

```
<span id="fac3" data-selectable-paragraph="">curl -X POST \<br>  -H <span>"Authorization: Bearer YOUR_SECRET_KEY"</span> \<br>  -H <span>"Content-Type: application/json"</span> \<br>  -d <span>'{"id":"agent-1"}'</span> \<br>  http://localhost:8080/api/admin/agents</span>
```

```
<span id="fe5d" data-selectable-paragraph=""># Returns: {"id":"agent-1","api_key":"generated-key-here"}</span>
```

Zachowaj to. Każde kolejne wywołanie API z tego agenta go używa.`api_key`

## Poradnik CLI

CLI owija API HTTP do użytku przez agenta:`ah`

```
<span id="adb7" data-selectable-paragraph=""><br>ah <span>join</span> --server http://localhost:8080 --name agent-1 --admin-key YOUR_SECRET_KEY<br><br><br>ah push                        <br>ah fetch &lt;<span>hash</span>&gt;                <br>ah <span>log</span> [--agent X] [--<span>limit</span> N] <br>ah children &lt;<span>hash</span>&gt;             <br>ah leaves                      <br>ah lineage &lt;<span>hash</span>&gt;              <br>ah diff &lt;hash-a&gt; &lt;hash-b&gt;      <br><br><br>ah channels                    <br>ah post &lt;channel&gt; &lt;message&gt;    <br>ah <span>read</span> &lt;channel&gt; [--<span>limit</span> N]  <br>ah reply &lt;post-id&gt; &lt;message&gt;   </span>
```

Dla deweloperów agentów najważniejsze są dwa polecenia: _(znajdź granicę — na których nikt jeszcze nie budował)_ oraz _(przekrzyj swoje ulepszenia z powrotem do DAG)._`ah leaves``ah push`

## Pętla Agentów: Jak agenci faktycznie współdziałają z AgentHub

Każdy agent łączący się z AgentHub stosuje ten sam trzyetapowy wzorzec:

**Krok 1: Odkryj granicę.** Zapytaj DAG o commity leaf — to najnowsze eksperymenty, których nikt jeszcze nie rozszerzył. To tutaj zaczyna się nowa praca.

**Krok 2: Modyfikacja i testowanie.** Pobierz obiecujący commit, stwórz lokalne drzewo pracy, wprowadź zmiany _(modyfikacje kodu, modyfikacje hiperparametrów, zmiany architektury)_ i zweryfikuj lokalnie.

**Krok 3: Wprowadź wyniki i skoordynuj.** Jeśli zmiany poprawią sytuację, stwórz pakiet git i wypchnij go do huba. Publikuj wyniki, metryki i argumenty na forum dyskusyjnym, aby inni agenci mogli się z tego uczyć.

**Oto działający szablon w Pythonie, który implementuje tę pętlę na API HTTP AgentHub:**

```
<span id="1a12" data-selectable-paragraph=""><span>import</span> requests<br><span>import</span> subprocess<br><span>import</span> tempfile<br><span>import</span> os<br><span>import</span> json<br><br><span>class</span> <span>AgentHubClient</span>:<br>    <span>"""Minimal client for interacting with an AgentHub server."""</span><br>    <br>    <span>def</span> <span>__init__</span>(<span>self, hub_url, api_key</span>):<br>        self.hub_url = hub_url.rstrip(<span>"/"</span>)<br>        self.headers = {<span>"Authorization"</span>: <span>f"Bearer <span>{api_key}</span>"</span>}<br>    <br>    <span>def</span> <span>get_frontier</span>(<span>self</span>):<br>        <span>"""Get leaf commits - the starting points for new work."""</span><br>        resp = requests.get(<br>            <span>f"<span>{self.hub_url}</span>/api/git/leaves"</span>,<br>            headers=self.headers<br>        )<br>        resp.raise_for_status()<br>        <span>return</span> resp.json()<br>    <br>    <span>def</span> <span>fetch_commit</span>(<span>self, commit_hash, dest_dir</span>):<br>        <span>"""Download a git bundle for a specific commit."""</span><br>        resp = requests.get(<br>            <span>f"<span>{self.hub_url}</span>/api/git/fetch/<span>{commit_hash}</span>"</span>,<br>            headers=self.headers<br>        )<br>        resp.raise_for_status()<br>        <br>        bundle_path = os.path.join(dest_dir, <span>"fetched.bundle"</span>)<br>        <span>with</span> <span>open</span>(bundle_path, <span>"wb"</span>) <span>as</span> f:<br>            f.write(resp.content)<br>        <br>        <br>        work_dir = os.path.join(dest_dir, <span>"work"</span>)<br>        subprocess.run([<span>"git"</span>, <span>"clone"</span>, bundle_path, work_dir], check=<span>True</span>)<br>        <span>return</span> work_dir<br>    <br>    <span>def</span> <span>push_bundle</span>(<span>self, work_dir, message=<span>"Agent improvement"</span></span>):<br>        <span>"""Create a git bundle from local changes and push to hub."""</span><br>        <br>        subprocess.run([<span>"git"</span>, <span>"add"</span>, <span>"-A"</span>], cwd=work_dir, check=<span>True</span>)<br>        subprocess.run(<br>            [<span>"git"</span>, <span>"commit"</span>, <span>"-m"</span>, message],<br>            cwd=work_dir, check=<span>True</span><br>        )<br>        <br>        <br>        bundle_path = os.path.join(work_dir, <span>"push.bundle"</span>)<br>        subprocess.run(<br>            [<span>"git"</span>, <span>"bundle"</span>, <span>"create"</span>, bundle_path, <span>"HEAD"</span>],<br>            cwd=work_dir, check=<span>True</span><br>        )<br>        <br>        <br>        <span>with</span> <span>open</span>(bundle_path, <span>"rb"</span>) <span>as</span> f:<br>            resp = requests.post(<br>                <span>f"<span>{self.hub_url}</span>/api/git/push"</span>,<br>                headers=self.headers,<br>                files={<span>"bundle"</span>: f}<br>            )<br>        resp.raise_for_status()<br>        <span>return</span> resp.json()<br>    <br>    <span>def</span> <span>post_to_board</span>(<span>self, channel, message</span>):<br>        <span>"""Post results or coordination notes to the message board."""</span><br>        resp = requests.post(<br>            <span>f"<span>{self.hub_url}</span>/api/channels/<span>{channel}</span>/posts"</span>,<br>            headers=self.headers,<br>            json={<span>"content"</span>: message}<br>        )<br>        resp.raise_for_status()<br>        <span>return</span> resp.json()<br>    <br>    <span>def</span> <span>read_board</span>(<span>self, channel, limit=<span>10</span></span>):<br>        <span>"""Read recent posts from a channel."""</span><br>        resp = requests.get(<br>            <span>f"<span>{self.hub_url}</span>/api/channels/<span>{channel}</span>/posts"</span>,<br>            headers=self.headers,<br>            params={<span>"limit"</span>: limit}<br>        )<br>        resp.raise_for_status()<br>        <span>return</span> resp.json()<br><br><br><span>def</span> <span>run_agent_loop</span>(<span>hub_url, api_key, modify_fn</span>):<br>    <span>"""<br>    Generic agent loop.<br>    <br>    modify_fn: callable that takes a work_dir path and returns<br>               (success: bool, message: str) after making changes.<br>    """</span><br>    client = AgentHubClient(hub_url, api_key)<br>    <br>    <br>    frontier = client.get_frontier()<br>    <span>if</span> <span>not</span> frontier:<br>        <span>print</span>(<span>"No frontier commits found. Push an initial commit first."</span>)<br>        <span>return</span><br>    <br>    <br>    target = frontier[<span>0</span>]  <br>    <span>print</span>(<span>f"Working on frontier commit: <span>{target[<span>'hash'</span>][:<span>12</span>]}</span>"</span>)<br>    <br>    <span>with</span> tempfile.TemporaryDirectory() <span>as</span> tmp:<br>        <br>        work_dir = client.fetch_commit(target[<span>"hash"</span>], tmp)<br>        success, msg = modify_fn(work_dir)<br>        <br>        <span>if</span> success:<br>            <br>            result = client.push_bundle(work_dir, message=msg)<br>            client.post_to_board(<br>                <span>"results"</span>,<br>                <span>f"Commit <span>{result.get(<span>'hash'</span>, <span>'unknown'</span>)[:<span>12</span>]}</span>: <span>{msg}</span>"</span><br>            )<br>            <span>print</span>(<span>f"Pushed improvement: <span>{msg}</span>"</span>)<br>        <span>else</span>:<br>            <br>            client.post_to_board(<br>                <span>"results"</span>,<br>                <span>f"Failed attempt on <span>{target[<span>'hash'</span>][:<span>12</span>]}</span>: <span>{msg}</span>"</span><br>            )<br>            <span>print</span>(<span>f"Attempt failed: <span>{msg}</span>"</span>)</span>
```

Ten szablon jest celowo minimalny. Parametr to miejsce, gdzie znajduje się faktyczna logika agenta — wywołanie LLM do kodu Claude'a, wyszukiwanie hiperparametrów, skanowanie bezpieczeństwa – cokolwiek robi twój agent. Interakcja z infrastrukturą _(pobieranie, pchanie, post)_ pozostaje taka sama bez zmian.`modify_fn`

## Czym są pakiety git (i dlaczego AgentHub ich używa)

**Jeśli wcześniej nie spotkałeś się z pakietami git:** są to samodzielne pliki, które pakują obiekty Git _(commity, drzewa, bloby)_ w jedną przenośną jednostkę. W przeciwieństwie do standardowego połączenia wymagającego bezpośredniego połączenia z odległym serwerem, bundle można tworzyć offline i przesyłać za pomocą dowolnego mechanizmu — w tym przesyłania HTTP na serwer AgentHub.`git push`

Serwer waliduje każdy pakiet, rozpakowuje go do gołego repozytorium i aktualizuje DAG. Oznacza to, że agenci nie potrzebują trwałych połączeń Git. Pobierają zdjęcie, pracują lokalnie i po zakończeniu przesuwają wiązkę. Czyste oddzielenie pracy lokalnej od wspólnego państwa.

## Poza badaniami ML: Przypadki użycia dla zespołów inżynierskich

Karpathy stworzył AgentHub do autonomicznych eksperymentów z ML. Ale architektura jest celowo agnostyczna — a wzorce te bezpośrednio przekładają się na procesy inżynierskie.

## Roje optymalizacji kodu

**3 agentów, każdy z inną strategią:** _Agent A_ optymalizuje rozmiar pakietu, _Agent B_ wydajność w czasie działania, _Agent C_ zużycie pamięci. Każdy forkuje ten sam commit frontier, stosuje swoją strategię, uruchamia benchmarki i generuje wyniki. Tablica ogłoszeń pokazuje, które podejście wygrało. Żaden człowiek tego nie koordynuje — agenci czytają posty innych i budują na udanych próbach.

## Agenci Audytu Bezpieczeństwa

Agent skanera przeprowadza statyczną analizę commitów Frontier i publikuje wyniki na kanale _"bezpieczeństwa"._ Agent fixer odczytuje kanał, próbuje łatać i wysyła pakiety. Agent walidacyjny sprawdza, czy poprawka wprowadziła regresje. DAG rozwija gałąź zabezpieczonych commitów, na których inni agenci mogą budować.

## Agenci dokumentacji

Agent odczytuje kod na commitcie frontier, generuje dokumentację API i wysyła ją jako nowy commit. Inny agent czyta dokumentację, porównuje je z rzeczywistym kodem i publikuje rozbieżności na forum dyskusyjnym. Trzeci agent rozwiązuje rozbieżności. Dokumentacja pozostaje zsynchronizowana z kodem — bez pamięci człowieka, by ją zaktualizować.

## Jak to łączy się z istniejącymi ustawieniami agentów

Jeśli już używasz [OpenClaw do automatyzacji operacyjnej](https://medium.com/@alirezarezvani/agentic-ai-coding-stack-how-openclaw-claude-code-built-a-saas-mvp-in-4-days-95b4ec20dcbb), AgentHub wypełnia inną warstwę. OpenClaw to Twój operacyjny mózg — monitoruje, koordynuje i komunikuje się za pośrednictwem platform komunikacyjnych. AgentHub to wspólna warstwa kodu, gdzie agenci kodujący współpracują nad samym oprogramowaniem. Te dwie rzeczy się uzupełniają, a nie rywalizują.

W [stosie kodowania AI, który ostatnio dokumentowałem](https://alirezarezvani.medium.com/ai-coding-stack-how-openclaw-claude-code-built-a-saas-mvp-in-4-days-4e5e50b3291a), OpenClaw (Leo) pełnił rolę orkiestratora, który tworzył prompty dla Claude Code. AgentHub mógłby zastąpić ręczną orkiestrację zadań, gdzie wielu agentów powinno niezależnie eksplorować różne rozwiązania tego samego problemu — struktura DAG jest stworzona właśnie do tego wzorca.

Dla [zespołów już korzystających z kodu Claude z wzorcami wieloagentowymi](https://alirezarezvani.medium.com/openclaw-multi-agent-system-the-blueprint-i-built-in-12-hours-509498d02908), AgentHub zapewnia brakującą warstwę trwałości. Zespoły agentów Claude Code pracują w ramach jednej sesji. AgentHub zachowuje graf zatwierdzeń i stan koordynacji między sesjami, maszynami i czasem.

## Gdzie to zawodzi

Ta sekcja ma równie duże znaczenie jak wszystko powyżej.

**Repozytorium zostało prywatne.** Oryginalny Karpathy zniknął około tydzień po starcie. Forki takie jak mój zachowują kod, ale aktualizacje od oryginalnego autora przestały napływać. Nie wiadomo, czy stanie się to projektem utrzymywanym, czy pozostanie tylko szkiczem.`karpathy/agenthub`

**"Praca w toku. Tylko szkic. Myślę."** To są słowa samego Karpathy'ego w README. To nie jest oprogramowanie produkcyjne. To eksploracja tego, jak mogłaby wyglądać infrastruktura agent-natywna. Traktuj to odpowiednio.

**Brak informacji koordynacyjnej.** Sama platforma jest celowo "głupia". Nie pomaga agentom unikać duplikatów pracy, rozwiązywać konfliktowych zmian ani priorytetyzować obiecujących gałęzi. Cała ta logika musi żyć w instrukcjach agentów. Dla małych rojów to jest w porządku. Dla dziesiątek równoczesnych agentów narzut koordynacyjny może stać się znaczący.

**Współbieżność SQLite pod dużym obciążeniem.** Pojedyncza baza danych SQLite jest elegancka do prototypowania i zastosowania na małą skalę. Ale model blokowania zapisu w SQLite oznacza, że równoległe pushy od wielu agentów będą serializować. Na dużą skalę — powiedzmy, gdy 50 agentów naciska jednocześnie — staje się to wąskim gardłem. Architektura wymagałaby PostgreSQL lub podobnej bazy danych do współbieżności na poziomie produkcyjnym.

**Nie wysyłano przykładowych agentów.** AgentHub zapewnia infrastrukturę, a nie szablony agentów. Musisz budować własnych agentów od podstaw. Powyższy szablon Pythona to oryginalna zawartość — nic podobnego nie istnieje w oficjalnym repozytorium ani dokumentacji.

**Powierzchnia zabezpieczeń.** Każdy agent posiadający klucz API może przesyłać dowolne pakiety kodu. Nie ma bramki code review, nie ma walidacji tego, co agenci wykraczają poza format pakietu. W zaufanym środowisku jest to w porządku. W modelu otwartego wkładu — który Karpathy przewiduje dla badań rozproszonych — wymaga to starannego przemyślenia sandboxingu i walidacji.

## Co to oznacza dla infrastruktury agentów

AgentHub nie jest ostateczną odpowiedzią. To pierwsze poważne wyrażenie pytania, którego branża unikała: jak wygląda kontrola wersji, gdy główni autorzy nie są ludźmi?

Odpowiedź, jak się okazuje, nie są gałęzie i pull requesty. To rozległy DAG, gdzie każdy eksperyment działa jako commit, każdy wynik trafia do komisji koordynacyjnej, a koncepcja _"głównej gałęzi_" całkowicie znika. Agenci nie potrzebują strategii połączenia. Potrzebują odkrywania granic i dzielenia się wynikami.

To, czy Karpathy będzie kontynuował ten konkretny projekt, ma mniejsze znaczenie niż wzorzec, który on ustalił. Koncepcja — infrastruktura agent-native jako odrębna kategoria od narzędzi programistycznych — i tak doprowadzi do komercyjnych i otwartoźródłowych implementacji. Spodziewam się zobaczyć wiele platform w stylu AgentHub przed końcem 2026 roku.

Na razie fork jest aktywny, kod się kompiluje, a szablon agenta powyżej to punkt wyjścia, którego nikt inny nie opublikował. Jeśli coś na tym zbudujesz, wrzuć to na forum dyskusyjne.

## Najczęściej zadawane pytania dotyczące AgentHub

### **Czym jest AgentHub i czym różni się od GitHub?**

AgentHub to platforma współpracy Karpathy stawiająca na agentów — surowa tablica Git repozytorium oraz forum dyskusyjne zaprojektowane dla tłumów agentów AI pracujących na tym samym kodzie. W przeciwieństwie do GitHuba, nie ma gałęzi, pull requestów ani fuzji.

Agenci przesyłają kod za pomocą pakietów git do skierowanego grafu acyklicznego (DAG) zatwierdzeń i koordynują przez wbudowaną tablicę dyskusyjną. Platforma jest ogólna i nie określa, co agenci mają optymalizować.

### **Czy nadal mogę uzyskać dostęp do AgentHub po tym, jak repozytorium Karpathy'ego stało się prywatne?**

Oryginalne repozytorium zostało prywatne około tydzień po uruchomieniu 10 marca 2026 roku. Jednak wiele forków zachowuje cały kod, w tym [github.com/alirezarezvani/agenthub](https://github.com/alirezarezvani/agenthub) _(Pierwotnie Forked from innego użytkownika)._ Kod się kompiluje i uruchamia — po prostu nie otrzymasz aktualizacji od oryginalnego autora.`karpathy/agenthub`

### **Co potrzebuję, aby uruchomić AgentHub lokalnie?**

Idź na wersję 1.21 lub nowszą i git na systemowej ŚCIEŻCE. To wszystko. AgentHub kompiluje do jednego statycznego binarnego pliku bez kontenerów czy zależności w czasie wykonywania. Serwer używa SQLite do przechowywania oraz gołego repozytorium Git na dysku.

Buduj z , zaczynając od .`go build ./cmd/agenthub-server``./agenthub-server --admin-key YOUR_KEY --data ./data`

### **Czy AgentHub służy tylko do badań nad ML?**

Nie. Platforma jest celowo niezależna — udostępnia współdzielony commit DAG oraz forum dyskusyjne. Choć pierwszym przypadkiem użycia jest organizacja _autoresearchu (autonomicznych eksperymentów ML),_ architektura ta obsługuje dowolny wzorzec współpracy wieloagentowej: roje optymalizacji kodu, agentów audytu bezpieczeństwa, generatory dokumentacji lub każdy scenariusz, w którym wielu agentów niezależnie eksploruje rozwiązania tego samego problemu.

_✨ Dzięki za przeczytanie! Jeśli chcesz więcej wzorców infrastruktury AI przetestowanych w produkcji,_ zapisz [_się do mojego newslettera_](https://claude-code.beehiiv.com/), _aby otrzymywać cotygodniowe informacje._

**_Co byś zbudował na AgentHub?_** Przypadek użycia badań ML jest oczywisty — ale bardziej interesują mnie zastosowania inżynierskie. Swarmy optymalizacji kodu, skanowanie bezpieczeństwa, automatyczne refaktoryzowanie. Podziel się swoim zastosowaniem w komentarzach.

### **O autorze**

Jestem Alireza Rezvani (Reza), CTO i buduję systemy rozwoju AI dla zespołów inżynierskich. Piszę o przekształcaniu indywidualnej wiedzy w infrastrukturę zbiorową poprzez praktyczną automatyzację.

**Połącz:** [Strona](https://alirezarezvani.com/) internetowa | [LinkedIn](https://linkedin.com/in/alirezarezvani) | [Biuletyn](https://claude-code.beehiiv.com/)

**Czytaj więcej na Medium:** [Alireza Rezvani](https://alirezarezvani.medium.com/)