Co vlastně znamená „AI-nativní“

Slovo „AI-nativní" se používá pro dvě zcela odlišné věci a ten rozdíl stojí za to pojmenovat, protože z něj plyne úplně jiná architektura.

První význam: model jako funkce

Aplikace zavolá model tam, kde by jinak volala knihovnu. Klasifikace, shrnutí, překlad. Model je čistá funkce: dostane vstup, vrátí výstup, aplikace ho zpracuje. Chyba modelu je chyba jedné funkce a opraví se jako každá jiná — validací výstupu, fallbackem, opakováním.

Tohle není AI-nativní vývoj. Je to obyčejný vývoj s jednou nezvyklou závislostí.

Druhý význam: model jako řídicí prvek

Model nerozhoduje uvnitř kroku, ale o tom, jaký krok přijde. Vybírá nástroj, plánuje pořadí, rozhoduje, kdy skončit. A tady se mění všechno, protože smyčka, kterou dřív psal programátor jako cyklus, je teď rozhodnutí, které nikdo nenapsal.

Důsledek je nepříjemný a je dobré ho říct nahlas: nemůžete otestovat cestu, kterou jste nenapsali. Testovat jde jen to, co se stane, když se po ní systém vydá.

Co z toho plyne pro architekturu

Praktický závěr je jediný: čím víc rozhodnutí přesunete do modelu, tím víc musíte investovat do hranic, ne do pokynů.

Hranice je něco, co platí bez ohledu na to, co model usoudil — oprávnění, kvóta, schéma odpovědi, seznam povolených cest k zápisu. Pokyn je věta v promptu, o které doufáte, že ji model poslechne.

Rozdíl mezi nimi se pozná jednoduše: hranici jde porušit a systém to pozná. Pokyn se dá ignorovat potichu.

Kde je hranice užitečnosti

Ne každá aplikace tohle potřebuje. Když se úloha dá popsat jako pevný sled kroků, pevný sled kroků je lepší řešení — je levnější, rychlejší a dá se odladit. Model jako řídicí prvek se vyplatí tam, kde je vstup natolik různorodý, že by ten pevný sled musel mít stovky větví.

Otázka tedy nezní „použijeme AI?", ale „je náš vstup dost různorodý na to, aby se vyplatilo vzdát se determinismu?"