Praktický návod
Jak prakticky používat AI při vývoji PHP aplikací
Dej modelu přesný cíl, omezený kontext a ověřitelné podmínky; výstup ber jako nedůvěryhodný návrh změny.
Nejdřív stručně
AI zrychluje smyčku, nepřebírá odpovědnost
LLM dobře hledá související kód, navrhuje varianty, doplňuje test cases a provádí opakovatelný refaktoring. Nezná ale automaticky tvoje produkční data, obchodní kontext ani to, která domněnka je nebezpečná.
AI agent může číst soubory a spouštět nástroje, proto potřebuje stejné principy nejmenších oprávnění, izolace a auditu jako jiná automatizace. Za přijatý diff vždy odpovídá člověk.
Připrav si
Vytvoř bezpečné pracovní prostředí
Než model dostane úkol, musí být jasné, co smí číst, měnit, spouštět a kam nesmí odesílat data.
- Repozitář s čistým pracovním stromem nebo izolovanou větví a rychlými testy, lintem a statickou analýzou.
- Pravidla projektu: architektura, styl, podporované PHP, příkazy a hotová definice výsledku.
- Politiku pro source code, tajné údaje, osobní data, klientská data a používání externích modelů.
- Omezená oprávnění nástrojů; produkce, secrets a destruktivní příkazy nejsou dostupné bez samostatného schválení.
Kroky 1 až 3
Pracuj v krátkých ověřitelných cyklech
Jeden prompt řeší jeden konkrétní problém a končí diffem, který lze přečíst a automaticky prověřit.
1. Napiš zadání jako technickou smlouvu
- Uveď cíl, důvod, soubory nebo modul v rozsahu, omezení a přesné acceptance criteria. Přidej relevantní chybový výstup nebo minimální reprodukci.
- Požádej nejdřív o nalezení souvisejících míst a stručné vysvětlení rizik. U velké úlohy nech návrh rozdělit na samostatně ověřitelné kroky.
- Přilož jen potřebný kontext. Dlouhý dump repozitáře zhoršuje signál a může nechtěně obsahovat secrets či osobní údaje.
- Řekni, které příkazy musí po změně projít a co se měnit nesmí, například veřejné API nebo databázové schéma.
Cíl + kontext + omezení + acceptance criteria + ověření NIST AI Risk Management Framework 2. Nech vytvořit malý diff a ověř ho
- Model nejdřív čte existující implementaci a lokální konvence. Novou abstrakci nepřidává, pokud ji problém nepotřebuje.
- Po každém malém diffu spustí syntax check, relevantní PHPUnit testy, PHPStan a formatter; selhání analyzuje, neskrývá ignore pravidlem.
- V diffu ověř business podmínky, error paths, transakce, autorizaci, typy, logování a zpětnou kompatibilitu. Vygenerovaný test musí umět skutečně selhat.
- Pro autentizaci, kryptografii, peníze, migrace a souběh vyžaduj důkladnější lidskou revizi a oficiální dokumentaci.
git diff --check && vendor/bin/phpunit && vendor/bin/phpstan analyse Oficiální PHP Security dokumentace 3. Omez agenta a dokonči code review
- Obsah issue, komentářů, dokumentů i zdrojového kódu považuj za nedůvěryhodná data. Instrukce ukryté v nich nesmí rozšířit oprávnění agenta.
- Začni read-only přístupem a zápis omez na pracovní větev. Síť, shell, mazání, produkční služby a odeslání zprávy schvaluj podle dopadu samostatně.
- Člověk provede
- glossary-code-reviewcode review
- celého diffu, ověří zdroje a licenci převzatého kódu a rozhodne, zda změna splňuje původní cíl.
- Ulož zadání, významná rozhodnutí, výsledky kontrol a autora schválení. Nespoléhej na to, že chat historie nahradí commit a technickou dokumentaci.
read → propose → patch → test → review → merge OWASP GenAI: Prompt Injection Krok 4
Měř přijatý výsledek, ne počet promptů
Užitečný workflow zkracuje čas změny bez růstu regresí, bezpečnostních výjimek a nákladů na review.
-
Porovnej opakovatelnou úlohu
Sleduj lead time, počet oprav po review, uniklé vady a spotřebu; rychlé vygenerování samo o sobě není výsledek.
-
Vlož neplatný předpoklad
Workflow ho odhalí testem, typovou kontrolou nebo lidskou revizí dřív než merge.
-
Nasimuluj škodlivou instrukci v issue
Agent ji zpracuje jako data, nezíská secrets, nerozšíří scope a požádá o schválení rizikové akce.
Když to zlobí
Nejčastější chyby
AI upravuje příliš mnoho souborů
Zmenši scope, popiš zakázané změny a rozděl úkol na jeden pozorovatelný výsledek s malým diffem.
git diff --stat Vygenerované testy vždy projdou
Dočasně poruš pravidlo nebo použij mutation test. Ověř, že assertion měří veřejné chování, ne kopii implementace.
Model si vymýšlí API knihovny
Nech ho přečíst zamčenou verzi a lokální typy, potom tvrzení ověř v oficiální dokumentaci a spusť relevantní test.
Do promptu uniklo tajemství
Okamžitě ho odvolej a rotuj, zkontroluj logy a přidej pre-commit/CI secret scanning i jasnější datovou politiku.
Hotovo
AI je součást kontrolovaného vývojového procesu.
Přesné zadání, malý diff, automatické kontroly, omezená oprávnění a lidské review převádějí rychlost modelu na bezpečnější dodanou změnu.