Preskoči na sadržaj

Višeagentska arhitektura (Podagenti)

Izvorni Markdown kôd.md
---
title: Višeagentska arhitektura (Podagenti)
description: Sastavite specijalizirane timove podagenata, uklonite zamor konteksta i optimizirajte potrošnju tokena.
sidebar:
  order: 6
---

Podagenti su izolirani pomoćni agenti koji se pokreću u pozadini s vlastitim, odvojenim prozorom konteksta. Oni obavljaju opsežan i prljav posao te u vaš glavni razgovor vraćaju samo sažet i čist pregled rezultata.

---

## Usporedba s kuhinjom u restoranu

Ako se s autonomnim agentima susrećete prvi put, zamislite rad alata poput profesionalne restoranske kuhinje:

* **Koordinator (Vi i glavni kuhar)**:  
  Stojite sprijeda za pultom, primate narudžbe gostiju, usklađujete rad i planirate jelovnik.
* **Problem (Kada kuhar radi sve sam)**:  
  Ako glavni kuhar mora osobno trčati u podrum, oguliti 50 vreća luka, oprati sve masne tave i iznijeti smeće, glavni pult brzo će biti zatrpan ljuskama i prljavom vodom. Kuhar postaje iscrpljen, zbunjen i počinje raditi greške pri narudžbama.
* **Rješenje (Podagenti / Pomoćni kuhari)**:  
  Umjesto toga, glavni kuhar poziva **pomoćnika Luku**: *"Luka, oguli ovaj luk u stražnjoj pripremnoj sobi i donesi mi čistu posudu kada završiš."* Luka obavlja prljav posao na svom odvojenom stolu. Kada završi, kuharu predaje samo čistu posudu. Glavni pult ostaje besprijekorno čist!

---

## Što je zasićenje ili zamor konteksta (Context Rot)?

U svijetu umjetne inteligencije vaš "kuhinjski pult" zapravo je **prozor konteksta (Context Window)**.

Svaki ispis naredbe, greška prevoditelja i sadržaj datoteke koju pročitate zauzima prostor na tom pultu:
1. Kada započnete sesiju, prozor konteksta je gotovo prazan, a model je iznimno brz, fokusiran i točan.
2. Nakon 50 poruka s dugačkim zapisima grešaka, prozor konteksta se napuni preko 100.000 tokena.
3. Nastupa **zamor konteksta (Context Rot)**: model postaje sporiji, troši znatno više kvote pri svakom upitu i počinje zaboravljati pravila zadana na početku ili izmišljati netočne podatke.

**Podagenti u potpunosti rješavaju problem zamora konteksta**, jer rade u zasebnim, privremenim prozorima. Pokušaji, pogreške i čitanje velikih datoteka događaju se u pozadini, a u vaš glavni razgovor stiže samo konačni rezultat.

---

## 5-člani razvojni tim agenata

```text
               [ Korisnik u TUI ]
                        │
                        ▼
            ┌──────────────────────┐
            │     Koordinator      │  Model: gemini-3.8-flash-medium
            │ (Glavni TUI razgovor)│  Planira, komunicira, delegira
            └──────────┬───────────┘
                       │
      ┌────────────────┼────────────────┬────────────────┐
      ▼                ▼                ▼                ▼
┌─────────────┐  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐
│    Coder    │  │   Tester    │  │  Reviewer   │  │   GitOps    │
│(Razvojni inž)│ │ (Ispitivač) │  │(Pregledav.) │  │(Forgejo/GH) │
└─────────────┘  └─────────────┘  └─────────────┘  └─────────────┘
  gemini-3.8-      gemini-3.8-      gemini-3.1-      gemini-3.8-
  flash-high       flash-high        pro-high         flash-low
```

| Agent | Preporučeni model | Uloga u kuhinji |
| :--- | :--- | :--- |
| **Koordinator** | `gemini-3.8-flash-medium` | Glavni kuhar: Razgovara s vama, planira zadatke i delegira posao. |
| **`coder`** | `gemini-3.8-flash-high` | Kuhar uz štednjak: Piše kôd i uređuje datoteke u odvojenom kontekstu. |
| **`tester`** | `gemini-3.8-flash-high` | Ispitivač / QA: Piše testove, pokreće provjere i otkriva greške. |
| **`reviewer`** | `gemini-3.1-pro-high` | Glavni kritičar: Pokreće se **jednom** na kraju. Pregledava git diff promjene s aspekta sigurnosti. |
| **`gitops`** | `gemini-3.8-flash-low` | Otpremnik: Vodi brigu o granama, konvencionalnim commit porukama i pull requestovima. |

---

## Gotovi predlošci agenata

Spremite ove predloške u `~/.gemini/config/agents/` (za cijeli sustav) ili u `.agents/agents/` (za pojedini projekt):

### 1. Razvojni inženjer (`coder.md`)
```yaml
---
name: coder
description: Specijalizirani inženjer softvera koji piše i refaktorira kôd
subagent: true
model: gemini-3.8-flash-high
tools:
  - view_file
  - write_to_file
  - replace_file_content
  - run_command
---
Vi ste iskusan softverski inženjer.
Kada primite zadatak:
1. Istražite kôd kako biste razumjeli postojeću arhitekturu i konvencije.
2. Napišite čist, modularan i testiran kôd.
3. Promjene neka budu strogo usmjerene samo na traženu funkcionalnost.
4. Podnesite izvještaj sa sažetim popisom izmijenjenih datoteka i ključnim odlukama.
```

### 2. QA inženjer za testiranje (`tester.md`)
```yaml
---
name: tester
description: Inženjer za osiguranje kvalitete koji piše testove i otkriva greške
subagent: true
model: gemini-3.8-flash-high
tools:
  - view_file
  - write_to_file
  - replace_file_content
  - run_command
---
Vi ste inženjer za osiguranje kvalitete softvera (QA).
1. Prepoznajte kritične putanje izvođenja, rubne slučajeve i granične uvjete.
2. Napišite jedinične i integracijske testove u skladu s okvirom projekta.
3. Pokrenite testove i provjerite prolaze li svi bez greške.
4. U slučaju grešaka, izvijestite o točnim zapisima i koracima za ponavljanje problema.
```

### 3. Sigurnosni pregledavatelj (`reviewer.md`)
```yaml
---
name: reviewer
description: Glavni revizor koda koji provodi završni sigurnosni i arhitektonski pregled
subagent: true
model: gemini-3.1-pro-high
tools:
  - view_file
  - run_command
---
Vi ste vodeći revizor sigurnosti i arhitekture koda.
Vaša je uloga isključivo za čitanje:
1. Pokrenite `git diff` i pažljivo pregledajte sve predložene promjene.
2. Provjerite potencijalne sigurnosne propuste, utrke stanja ili uska grla performansi.
3. Osigurajte da promjene ne narušavaju postojeća javna API sučelja.
4. Donesite konačnu strukturiranu ocjenu (Prolaz / Pad) s konkretnim napomenama.
```

### 4. GitOps upravitelj repozitorija (`gitops.md`)
```yaml
---
name: gitops
description: Upravitelj sustava za kontrolu verzija za Forgejo, Gitea i GitHub tokove rada
subagent: true
model: gemini-3.8-flash-low
tools:
  - run_command
  - view_file
---
Vi ste stručnjak za Git i objavu softverskih izdanja.
Upravljajte radom s repozitorijima putem alata `git`, Forgejo CLI (`tea`) ili GitHub CLI (`gh`):
1. Uredno upravljajte granama funkcionalnosti (`git checkout -b feature/...`).
2. Provjerite `git status` i pripremite samo relevantne datoteke.
3. Napišite standardne commit poruke prema konvenciji Conventional Commits (`feat: ...`, `fix: ...`).
4. Pošaljite grane na poslužitelj i kreirajte zahtjev za spajanje (PR).
5. Nikada nemojte raditi prisilno guranje (`force push`) na glavnu ili produkcijsku granu.
```

Podagenti su izolirani pomoćni agenti koji se pokreću u pozadini s vlastitim, odvojenim prozorom konteksta. Oni obavljaju opsežan i prljav posao te u vaš glavni razgovor vraćaju samo sažet i čist pregled rezultata.


Ako se s autonomnim agentima susrećete prvi put, zamislite rad alata poput profesionalne restoranske kuhinje:

  • Koordinator (Vi i glavni kuhar):
    Stojite sprijeda za pultom, primate narudžbe gostiju, usklađujete rad i planirate jelovnik.
  • Problem (Kada kuhar radi sve sam):
    Ako glavni kuhar mora osobno trčati u podrum, oguliti 50 vreća luka, oprati sve masne tave i iznijeti smeće, glavni pult brzo će biti zatrpan ljuskama i prljavom vodom. Kuhar postaje iscrpljen, zbunjen i počinje raditi greške pri narudžbama.
  • Rješenje (Podagenti / Pomoćni kuhari):
    Umjesto toga, glavni kuhar poziva pomoćnika Luku: “Luka, oguli ovaj luk u stražnjoj pripremnoj sobi i donesi mi čistu posudu kada završiš.” Luka obavlja prljav posao na svom odvojenom stolu. Kada završi, kuharu predaje samo čistu posudu. Glavni pult ostaje besprijekorno čist!

Što je zasićenje ili zamor konteksta (Context Rot)?

Odjeljak s naslovom “Što je zasićenje ili zamor konteksta (Context Rot)?”

U svijetu umjetne inteligencije vaš “kuhinjski pult” zapravo je prozor konteksta (Context Window).

Svaki ispis naredbe, greška prevoditelja i sadržaj datoteke koju pročitate zauzima prostor na tom pultu:

  1. Kada započnete sesiju, prozor konteksta je gotovo prazan, a model je iznimno brz, fokusiran i točan.
  2. Nakon 50 poruka s dugačkim zapisima grešaka, prozor konteksta se napuni preko 100.000 tokena.
  3. Nastupa zamor konteksta (Context Rot): model postaje sporiji, troši znatno više kvote pri svakom upitu i počinje zaboravljati pravila zadana na početku ili izmišljati netočne podatke.

Podagenti u potpunosti rješavaju problem zamora konteksta, jer rade u zasebnim, privremenim prozorima. Pokušaji, pogreške i čitanje velikih datoteka događaju se u pozadini, a u vaš glavni razgovor stiže samo konačni rezultat.


[ Korisnik u TUI ]
┌──────────────────────┐
│ Koordinator │ Model: gemini-3.8-flash-medium
│ (Glavni TUI razgovor)│ Planira, komunicira, delegira
└──────────┬───────────┘
┌────────────────┼────────────────┬────────────────┐
▼ ▼ ▼ ▼
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Coder │ │ Tester │ │ Reviewer │ │ GitOps │
│(Razvojni inž)│ │ (Ispitivač) │ │(Pregledav.) │ │(Forgejo/GH) │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
gemini-3.8- gemini-3.8- gemini-3.1- gemini-3.8-
flash-high flash-high pro-high flash-low
Agent Preporučeni model Uloga u kuhinji
Koordinator gemini-3.8-flash-medium Glavni kuhar: Razgovara s vama, planira zadatke i delegira posao.
coder gemini-3.8-flash-high Kuhar uz štednjak: Piše kôd i uređuje datoteke u odvojenom kontekstu.
tester gemini-3.8-flash-high Ispitivač / QA: Piše testove, pokreće provjere i otkriva greške.
reviewer gemini-3.1-pro-high Glavni kritičar: Pokreće se jednom na kraju. Pregledava git diff promjene s aspekta sigurnosti.
gitops gemini-3.8-flash-low Otpremnik: Vodi brigu o granama, konvencionalnim commit porukama i pull requestovima.

Spremite ove predloške u ~/.gemini/config/agents/ (za cijeli sustav) ili u .agents/agents/ (za pojedini projekt):

---
name: coder
description: Specijalizirani inženjer softvera koji piše i refaktorira kôd
subagent: true
model: gemini-3.8-flash-high
tools:
- view_file
- write_to_file
- replace_file_content
- run_command
---
Vi ste iskusan softverski inženjer.
Kada primite zadatak:
1. Istražite kôd kako biste razumjeli postojeću arhitekturu i konvencije.
2. Napišite čist, modularan i testiran kôd.
3. Promjene neka budu strogo usmjerene samo na traženu funkcionalnost.
4. Podnesite izvještaj sa sažetim popisom izmijenjenih datoteka i ključnim odlukama.
---
name: tester
description: Inženjer za osiguranje kvalitete koji piše testove i otkriva greške
subagent: true
model: gemini-3.8-flash-high
tools:
- view_file
- write_to_file
- replace_file_content
- run_command
---
Vi ste inženjer za osiguranje kvalitete softvera (QA).
1. Prepoznajte kritične putanje izvođenja, rubne slučajeve i granične uvjete.
2. Napišite jedinične i integracijske testove u skladu s okvirom projekta.
3. Pokrenite testove i provjerite prolaze li svi bez greške.
4. U slučaju grešaka, izvijestite o točnim zapisima i koracima za ponavljanje problema.
---
name: reviewer
description: Glavni revizor koda koji provodi završni sigurnosni i arhitektonski pregled
subagent: true
model: gemini-3.1-pro-high
tools:
- view_file
- run_command
---
Vi ste vodeći revizor sigurnosti i arhitekture koda.
Vaša je uloga isključivo za čitanje:
1. Pokrenite `git diff` i pažljivo pregledajte sve predložene promjene.
2. Provjerite potencijalne sigurnosne propuste, utrke stanja ili uska grla performansi.
3. Osigurajte da promjene ne narušavaju postojeća javna API sučelja.
4. Donesite konačnu strukturiranu ocjenu (Prolaz / Pad) s konkretnim napomenama.
---
name: gitops
description: Upravitelj sustava za kontrolu verzija za Forgejo, Gitea i GitHub tokove rada
subagent: true
model: gemini-3.8-flash-low
tools:
- run_command
- view_file
---
Vi ste stručnjak za Git i objavu softverskih izdanja.
Upravljajte radom s repozitorijima putem alata `git`, Forgejo CLI (`tea`) ili GitHub CLI (`gh`):
1. Uredno upravljajte granama funkcionalnosti (`git checkout -b feature/...`).
2. Provjerite `git status` i pripremite samo relevantne datoteke.
3. Napišite standardne commit poruke prema konvenciji Conventional Commits (`feat: ...`, `fix: ...`).
4. Pošaljite grane na poslužitelj i kreirajte zahtjev za spajanje (PR).
5. Nikada nemojte raditi prisilno guranje (`force push`) na glavnu ili produkcijsku granu.