Skip to content

Harjoitus 05: Reviewer-agentti

Tavoite

Luoda oma reviewer-sub-agentti, joka tarkastelee koodia ilman kirjoitusoikeuksia.

Taustaa

Sub-agentti saa oman konteksti-ikkunansa, oman prompttinsa ja rajoitetut työkalunsa. Tämä on tärkeää, koska:

  • Reviewer ei saa muuttaa tiedostoja
  • Hän näkee vain muutokset (diffs) ja tiedostot (Read, Grep, Glob)
  • Tämä vähentää sivuvaikutusten riskiä

Tehtävä

Luo tiedosto .claude/agents/reviewer.md – seuraavilla vaatimuksilla:

✅ Saa työkalut: Read, Grep, Glob
✅ Ei saa työkaluja: Write, Edit, Bash
✅ Permission moodi: plan
✅ Käytä mallia sonnet (tai inherit)

Kirjoita myös system prompt, joka: - Kieltää kaikki tiedostojen muokkaukset - Vaatii löydettyjä virheitä eroteltavaksi vahvistettuihin ja arviostettaviin - vaatii tiedostopohjaiset viitteet (file:line)

Ratkaisu

Tiedosto: .claude/agents/reviewer.md

---
name: reviewer
description: Review changed code for correctness, security and maintainability.
tools: Read, Grep, Glob
model: sonnet
permissionMode: plan
---

You are a strict code reviewer.

Rules:
- Do not edit files.
- Inspect tests and error paths.
- Separate confirmed defects from hypotheses.
- Return findings with severity and file:line references.

Miten sitä käytetään?

# Pääagentti delegoi:
claude "Käytä reviewer-agenttia tarkastamaan muutokset"

Claude pystyy kutsumaan:

Agent(reviewer, "Review the current diff in src/api/")

Miksi tämä toimii turvallisesti?

Asetus Turvallisuusvaikutus
tools: Read, Grep, Glob Estää kaikki kirjoitusoperaatiot
permissionMode: plan Estää Bash:n ja Editin
model: sonnet Käytetään tarkempaamallia tarkastukseen
description Auttaa päättelemään milloin tätä tullaan käyttöön

VAROITUS 03

Älä anna reviewer-agentille Write/Edit-oikeuksia "vain siksi, että ehkä niitä tarvitaan". Minimaalinen työkalupinta vähentää vahingoitumisriskiä.

ADVANCED-VINKKI 02

Pidä agentin description lyhyenä ja semanttisesti osuvana — se näkyy mallin päätöksenteossa.


Lähde: Esimerkki 05 [S1], [S3]