Lessons learnedSQA
AI assisted code review přímo ve vývojovém studiu
22.7.2026Rostislav Burget
Code review patří mezi nejdůležitější aktivity při vývoji softwaru. Současně ale vyžaduje čas a soustředění, u větších změn pak snadno sklouzne pouze k přečtení změn a revidování jen do očí bijících problémů. Právě zde může AI významně pomoci. Ne jako náhrada člověka, ale jako vrstva, která rychle projde diff, vytáhne a zvýrazní rizika a dokáže najít i zapeklité chyby, které člověk snadno přehlédne. Výsledkem je pak kvalitnější code review, které dokáže odhalit více chyb a jako bonus je rychlejší zpětná vazba vytvořená vám na míru podle vašich požadavků.
V praxi je nejzajímavější to, že review neběží nad celým repozitářem, ale nad přesně definovaným patch souborem. Tím se model soustředí na skutečnou změnu, ne na šum kolem, ale zároveň může AI agent použít vyhledávací tooly a přihodit si související části kódu do kontextu. Workflow je jednoduché: ve Visual Studiu s GitHub Copilotem si připravíte prompt, který musí být spuštěn v agentním režimu a předá mu instrukci, aby použil code review skill:
---
description: start code review process
agent: agent
---
Do the code review following instructions in code-review skill.
Tímto si ušetříte psaní tohoto promptu, nemusíte si pamatovat jeho přesné znění nebo název skillu a ve vývojovém prostředí spustíte pouze prompt (např. ve Visual Studiu vám „/“ nabídne vaše prompty), chvíli počkáte a už dostanete výsledek code review.
V code-review skillu nadefinujete celý průběh, jak má code review probíhat. Já jsem si pro větší konzistenci připravil jednoduchý powershell script, kterým si AI agent vytáhne diff mezi aktuální větví a větví do které většinou mergujete:
param(
[string]$Branch = (git rev-parse --abbrev-ref HEAD),
[string]$TargetBranch = "origin/dev",
)
$patchFile = Join-Path $PSScriptRoot "mr_review.patch"
git diff "$TargetBranch...$Branch" | Out-File -FilePath $patchFile -Encoding utf8
# Output path for Agent
Write-Output $patchFile
Skript vytvoří patch soubor obsahující všechny změny vůči cílové větvi a vrátí jeho cestu. Tu následně použije AI agent při dalším kroku review.
Skill file může vypadat například takto:
---
name: code-review
description: Generate a diff of the current branch against trunk and perform a thorough code review.
Use when reviewing PRs and doing code review.
---
# CodeReview Skill
## What this does
Generates a git diff between the current feature branch and `origin/trunk`, then performs a code review on the resulting patch file.
## Steps
1. **Generate the diff** - Run the following command in the terminal from the current repository root (e.g. `C:\YourRepoName`):
powershell -ExecutionPolicy Bypass -File .github/GetDiff.ps1
If user want to do code review against different target branch use parameter -TargetBranch "targetBranchName" (e.g. for target branch origin/dev/123 use -> powershell -ExecutionPolicy Bypass -File .github/GetDiff.ps1 -AgentMode -TargetBranch "origin/dev/123")
targetBranchName must always start with "origin/"
The script outputs the absolute path to the generated `.patch` file.
2. **Read the patch file** - Open and read the patch file path returned by the script (`.github/mr_review.patch`).
3. **Perform the code review** - Review the diff contents following **Code Review Instructions**
## Code Review Instructions
Do the codereview of attached file mr_review.patch file. Keep the review concise but thorough.
Every claim should be backed by evidence from the code.
(V této části si můžete definovat vlastní pravidla review. Typicky jde o kontrolu bezpečnosti, výkonu, práce s prostředky, API kontraktů, změn chování aplikace nebo interních coding guidelines.)
1. krok zajistí vytvoření diffu mezi aktuální a cílovou větví. (případně k promptu můžete přilepit informaci, že má kontrola probíhat nad jinou větví).
2. krok zajistí, že AI bude vycházet právě z tohoto diffu.
3. krok a Code Review Instructions určí způsob vyhodnocení změn a podobu výsledného review.
Díky takto nadefinovanému SKILL souboru, dostanete customizovatelné code review, nad kterým máte velkou kontrolu, a pro stejný model budete dostávat na AI i poměrně konzistentní výsledky.
Navíc je možné snadno měnit cílovou větev, třeba když review neběží proti origin/dev, ale proti jiné větvi. Stačí k promptu připsat něco ve stylu TargetBranch "targetBranchName".
Důležité je mít stále na paměti, že to celé zůstává pod kontrolou vývojáře. AI tady není „autonomní reviewer“, ale velmi rychlý asistent. Umí upozornit na slabá místa, navrhnout konkrétní body k ověření, ale taky samozřejmě občas chybuje.
Z praktických zkušeností se tento přístup osvědčil jako velmi užitečný doplněk klasického code review. Nenahrazuje zkušeného reviewera, ale pomáhá rychle identifikovat riziková místa, zkrátit dobu kontroly a zvýšit pravděpodobnost odhalení chyb ještě před doručením do hlavní větve.