---
title: "Orkiestracja w praktyce: Gemini 4 Argon i Claude Opus dyrygują flotą Flash, Sonnet i Haiku w Herdr (Część 3)"
slug: "orkiestracja-agentow-ai-herdr-gemini-argon-claude-sonnet-haiku"
date: 2026-10-30
description: "Koniec teorii - odpalamy 4-panelową sesję w Herdrze na kodzie krysmalski.pl. Zobacz, jak spawnować heterogeniczną flotę agentów (AGY + Claude Code), jak działa wykrywanie stanu BLOCKED i jak Orchestrator zbiera raporty z workerów."
author: "Jakub Krysmalski"
canonical: "https://krysmalski.pl/blog/orkiestracja-agentow-ai-herdr-gemini-argon-claude-sonnet-haiku"
tags:
  - "AI"
  - "Automatyzacja"
  - "Webdev"
---

Koniec teorii - czas odpalić 4-panelową sesję w **Herdrze** na żywym projekcie Next.js 15 i Sanity CMS. W finałowej, trzeciej części serii zestawiamy heterogeniczną flotę agentów (**Google Antigravity `agy`** + **Claude Code**), w której **Gemini 4 Argon (High)** pełni rolę Orchestratora, a **Gemini 3.8 Flash**, **Claude Sonnet 5.5** oraz **Claude Haiku 5.5** wykonują równoległe zadania w sąsiednich panelach.

**Wszystkie części poradnika (Orkiestracja Claude Code + AGY w Herdr):**

- **Część 1:** [Herdr zamiast tmux - instalacja i pierwsze kroki z terminalem dla agentów AI](/blog/herdr-instalacja-terminal-dla-agentow-ai)
- **Część 2:** [Konfiguracja Herdr z Claude Code i Google Antigravity (AGY) - Hooki i SKILL.md](/blog/konfiguracja-herdr-claude-code-google-antigravity-agy)
- **Część 3 (czytany wpis):** Orkiestracja w praktyce: Gemini 4 Argon i Claude Opus dyrygują flotą Flash, Sonnet i Haiku w Herdr

## Scenariusz bojowy: 4 agenci AI na jednym repozytorium

Po [instalacji Herdra (Część 1)](/blog/herdr-instalacja-terminal-dla-agentow-ai) oraz [podpięciu hooków i skilla (Część 2)](/blog/konfiguracja-herdr-claude-code-google-antigravity-agy) pora sprawdzić architekturę **Orchestrator + 3 wyspecjalizowanych Workerów** na prawdziwym repozytorium produkcyjnym (Next.js 15 App Router + Sanity v3 + Tailwind CSS).

Nasza topologia w przestrzeni roboczej `w1` wygląda następująco:

- **Panel `w1:p1` (`argon-orchestrator`):** `agy --model gemini-4-argon-high` - główny architekt i koordynator.
- **Panel `w1:p2` (`flash-worker`):** `agy --model gemini-3.8-flash-high` - szybki worker analizujący schematy Sanity (`postType.js`, `seoType.js`).
- **Panel `w1:p3` (`sonnet-worker`):** `claude --model sonnet` (Sonnet 5.5) - worker analizujący logikę komponentów React (`BodyMarkdownImportInput`).
- **Panel `w1:p4` (`haiku-worker`):** `claude --model haiku` (Haiku 5.5) - ultraszybki worker do audytu zależności w `package.json`.

## Krok 1: Budowa siatki 2x2 i spawnowanie agentów przez CLI Herdra

Zamiast ręcznie dzielić ekran skrótami klawiszowymi i wpisywać komendy w każdym oknie z osobna, tworzymy całą topologię programistycznie (dokładnie tak samo robi to Orchestrator korzystający ze skilla Herdr):

```bash
# 1. Tworzymy przestrzeń roboczą dla projektu i dzielimy ją na 4 panele (siatka 2x2)
herdr workspace create --cwd ~/Dev/krysmalskipl --label "krysmalski-pl"
herdr pane split w1:p1 --direction right --cwd ~/Dev/krysmalskipl --no-focus
herdr pane split w1:p1 --direction down  --cwd ~/Dev/krysmalskipl --no-focus
herdr pane split w1:p2 --direction down  --cwd ~/Dev/krysmalskipl --no-focus

# 2. Uruchamiamy Orchestratora (AGY - Gemini 4 Argon High) oraz 3 Workerów (Flash, Sonnet, Haiku)
herdr agent start argon-orchestrator --kind agy    --pane w1:p1 -- --model gemini-4-argon-high
herdr agent start flash-worker       --kind agy    --pane w1:p2 -- --model gemini-3.8-flash-high
herdr agent start sonnet-worker      --kind claude --pane w1:p3 -- --model sonnet
herdr agent start haiku-worker       --kind claude --pane w1:p4 -- --model haiku
```

Komenda `herdr agent start` czeka, aż dany agent faktycznie zainicjalizuje swój interfejs w docelowym panelu i osiągnie stan gotowości (`"interactive_ready": true`, `"agent_status": "idle"`).

## Krok 2: Równoległe delegowanie zadań z oczekiwaniem na wynik

Teraz zlecamy trzem workerom trzy niezależne zadania jednocześnie. Flaga `--wait` w poleceniu `herdr agent prompt` sprawia, że wywołanie blokuje się dokładnie do momentu, aż dany worker zakończy swoją turę (`idle` / `done`) lub zatrzyma się na prośbie o uprawnienia (`blocked`):

```bash
herdr agent prompt flash-worker \
  "W 2 krotkich punktach opisz jakie pola SEO i FAQ ma postType.js (bez edycji plikow)." \
  --wait --timeout 60000 &

herdr agent prompt sonnet-worker \
  "W 2 krotkich punktach po polsku opisz jak dziala BodyMarkdownImportInput w tym repo (bez edycji plikow)." \
  --wait --timeout 60000 &

herdr agent prompt haiku-worker \
  "Wypisz w 3 krotkich punktach wersje Next.js, Sanity i Tailwind z package.json (bez edycji plikow)." \
  --wait --timeout 60000 &

wait
```

Co wydarzyło się po kilku sekundach?

- **`haiku-worker` (Claude Haiku 5.5)** uwinął się w **4 sekundy** (koszt sesji: **`$0.01`**) i przeszedł w stan `idle`.
- **`sonnet-worker` (Claude Sonnet 5.5)** przeanalizował komponent w **10 sekund** (koszt sesji: **`$0.14`**) i również zameldował stan `idle`.
- **`flash-worker` (Gemini 3.8 Flash)** próbował wykonać w powłoce `find . -name "postType.js"` i wyświetlił okno dialogowe z pytaniem o zgodę - w tej samej chwili Herdr zmienił jego status na **`blocked`**!

## Krok 3: Obsługa zablokowanego agenta bez przeklikiwania zakładek

To tutaj widać największą przewagę Herdra nad zwykłym `tmux`. Zamiast zgadywać, dlaczego jeden z procesów wisi, widzimy w odpowiedzi JSON (oraz na pasku bocznym Herdra) dokładny powód zatrzymania (`"agent_status": "blocked"`).

Możemy podejrzeć ekran zablokowanego workera i zatwierdzić wykonanie komendy zdalnie jednym poleceniem (bez przełączania aktywnego okna!):

```bash
# Podgląd tego, o co pyta zablokowany worker:
herdr agent read flash-worker --source visible

# Wysłanie klawisza Enter (zatwierdzenie opcji "1. Yes, run command") i poczekanie na koniec pracy:
herdr agent send-keys flash-worker enter
herdr agent wait flash-worker --timeout 30000
```

Chwilę później `flash-worker` kończy czytanie plików `postType.js` oraz `seoType.js` i przechodzi w stan `idle`.

## Krok 4: Odczyt wyników i synteza przez Orchestratora (Gemini 4 Argon High)

Gdy wszystkie trzy workery zakończyły swoje zadania, odczytujemy ich wyjścia przez `herdr agent read <nazwa> --source recent-unwrapped` i przekazujemy zebrane raporty do głównego panelu `argon-orchestrator` (`w1:p1`):

Podsumowanie wygenerowane przez naszą flotę w mniej niż minutę:

- **Panel `w1:p2` (`flash-worker` - Gemini 3.8 Flash):** Zmapował strukturę `faqSection` (nagłówek H2 + lista pytań i odpowiedzi w Portable Text) oraz obiekt `seo` oparty na `seoFields` (`title`, `description`, `ogImage`, `noIndex`, `canonicalUrl`).
- **Panel `w1:p3` (`sonnet-worker` - Claude Sonnet 5.5):** Wyjaśnił działanie `BodyMarkdownImportInput` - parsowanie przez `marked.parse()` i `htmlToBlocks()`, mapowanie `<pre><code>` na `codeBlock` oraz zapis przez `PatchEvent`.
- **Panel `w1:p4` (`haiku-worker` - Claude Haiku 5.5):** Potwierdził dokładne wersje paczek z `package.json`: Next.js `^15.1.7`, Sanity `^3.83.1` (`@sanity/client ^7.16.0`) oraz Tailwind CSS `^3.4.17`.

## Wnioski: dlaczego warto łączyć Claude Code i AGY w Herdrze?

1. **Koniec z przepalaniem limitów najdroższych modeli na proste zadania:** Zamiast używać Claude Opus 5.5 lub Gemini 4 Argon do prostego przeszukiwania plików czy sprawdzania wersji paczek, delegujesz to w tle do Haiku (`$0.01`) lub Gemini 3.8 Flash.
1. **Najlepsze cechy obu ekosystemów w jednym oknie:** W jednym panelu możesz trzymać głęboko rozumującego Argona z Google Antigravity, a tuż obok Sonneta 5.5 w Claude Code - oba narzędzia rozmawiają przez ten sam socket Herdra.
1. **Pełna kontrola nad stanem floty:** Dzięki natywnym hookom (`antigravity-cli` v4 oraz `claude` v11) żadna prośba o uprawnienia (`blocked`) ani zakończona tura (`done`) nie umknie Twojej uwadze.

## Często zadawane pytania (FAQ)

### Czy Orchestrator może sam odczytać wyniki pracy workerów bez ręcznego kopiowania tekstu?

Tak! Dzięki zainstalowanemu w Części 2 plikowi `SKILL.md`, Orchestrator sam wywołuje w tle `herdr agent read <worker> --source recent-unwrapped --lines 120` i pobiera wynik bezpośrednio do swojego kontekstu.

### Czym różni się flaga --source visible od --source recent-unwrapped w poleceniu herdr agent read?

`--source visible` zwraca dokładny zrzut aktualnie widocznego ekranu terminala, natomiast `--source recent-unwrapped` pobiera ostatnie linie historii i łączy miękkie zawijanie wierszy, co jest idealne do czytania logów i dłuższych odpowiedzi przez innego agenta.

### Czy mogę zamknąć wybranego workera po zakończeniu zadania?

Tak, możesz wysłać do niego polecenie wyjścia lub zamknąć panel komendą `herdr pane close <pane-id>`, zachowując pozostałe panele w nienaruszonym stanie.

## Źródła

- Herdr Documentation: [Herdr Multi-Agent Orchestration & CLI Reference](https://herdr.dev)
- Google Antigravity Docs: [Antigravity CLI Features & Subagents](https://antigravity.google/docs/cli/features)

---

*Wpis pochodzi z serwisu [krysmalski.pl](https://krysmalski.pl/blog/orkiestracja-agentow-ai-herdr-gemini-argon-claude-sonnet-haiku)*
