Často čtu diskuse na téma „na co je školitel“, když se na všechno stačí zeptat AI. Jenže rozdíl tu je: opravdu kvalitní a zkušený školitel ví mnohem lépe než AI, o čem nevíte, co potřebujete vědět, v jakém pořadí, a podle toho vám pomůže. Modelu položíte jen tu otázku, na kterou už sami umíte přijít.

Norma z 80. let

Na jednom takovém velmi kvalitním kurzu jsem se v rámci následné diskuse dozvěděl o normě ASD-STE100, tedy o zjednodušené technické angličtině. Kolega školitel z ní udělal pravidla pro AI, aby s ním komunikovala stručněji a jednoznačněji. Normu vydalo evropské sdružení leteckého a obranného průmyslu už v 80. letech a píšou se podle ní servisní manuály letadel. Důvod zavedení pravidel jednoduché angličtiny byl prostý: aby technik v Brazílii udělal po přečtení věty tentýž úkon jako technik v Norsku. Ne podobný, ale skutečně tentýž. V podstatě zavedli jednoznačná pravidla o významu slov, která zamezila šumům v pojmosloví, a tím zabránila škodám a zachránila lidské životy.

Je to tentýž problém, který řeším u AI asistenta (jen tu nejde o životy): sémantický determinismus. Determinismus není o opakování, ale o použití ostrých jednoznačných pojmů. Je totiž jedno, jestli hodíte kostkou stokrát po sobě (jeden agent s opakováním), anebo jestli máte sto identických kostek a hodíte s nimi jednou (sto identických izolovaných agentů puštěných paralelně). Matematicky je to totéž. Norma jednoduché technické angličtiny je ten druhý případ: mnoho lidí, kteří mají větě rozumět stejně.

Kostka je tu jen jako názorný generátor náhody. Zavedení normy zúží možný rozptyl té náhody na minimum a právě tomu říkám sémantický determinismus. Čím lepší pravidla, tím lepší sémantický determinismus, a to je sledovatelné, měřitelné a zlepšovatelné.

Vlevo norma pro manuály, vpravo pojmy metodiky. Vypadá to jako totéž. V druhém případě je tam ale jedna komplikace navíc.

Rozdíl technické normy a AI asistenta

Oproti normě zjednodušené technické angličtiny se ale u AI asistenta složitost zvýšila. Pojmy, které mu předkládám, nejsou nezávislá hesla ve slovníku. Jedny jsou základnější a druhé z nich vycházejí, takže stojí jeden na druhém ve struktuře závislostí.

Norma pro servisní manuály je plochá, a to je její výhoda. Je to slovník a pravidla vět. Žádné heslo v ní nepotřebuje jiné heslo, takže se dá vzít a použít celá naráz.

Metodika analýzy takovou výhodu nemá. Než mohu asistentovi říct, co je „Use Case prvního druhu“, musí mít zavedeno, jak funguje objektové paradigma, co je systém a jeho okolí a kudy vede hranice mezi nimi. Na to navazuje zapouzdření a anonymita klienta, tedy čím se liší vnější popis prvku od vnitřního. A dál pojem užitku, cinknutí systému a časová událost. To je osm pojmů, které musí být na světě dřív. Když rozbalíte i je, tedy na čem stojí ony, je jich deset.

To pořadí přitom není věc vkusu. Pojem stojí na jiném pojmu tehdy, když bez něj nelze napsat jeho definici. Zkuste definovat Use Case prvního druhu bez pojmu hranice systému a nedopíšete první větu.

Odtud plynou dvě „staré dobré“ programátorské zásady. Nemusel jsem je do metodiky vnášet, protože si o ně řekla sama.

První je DRY, tedy neopakuj se (=> re-use). Kdyby si každý z těch deseti pojmů nesl vlastní kopii toho, co je hranice systému, mám tutéž definici na deseti místech. Při první opravě se rozejdou a nikdo se to nedozví, protože každá z nich vypadá dobře.

Druhá je SRP, tedy jedna odpovědnost na jedno místo. Pojem, který popisuje dvě věci zároveň, tedy logický „kočkopes“, nejde opravit, aniž se rozbije ta druhá.

Norma pro manuály nic takového nepotřebuje. Její slova na sobě nestojí, takže se v ní nemá co rozejít.


Závislosti pro definici pojmu Use Case 1. druhu

Co je na tom vlastně nové

Nic z toho jsem nevymyslel. Návody, jak psát text tak, aby mu šlo rozumět jen jedním způsobem, jsou staré čtyřicet let. Zásady o neopakování a o jedné odpovědnosti jsou ze světa Clean Code a taky nejsou z včerejška.

Nový je jedině typ čtenáře. Člověk si nejasné místo domyslí a jde dál, takže se o díře v definici nikdo nedozví, dokud to nezpůsobí škodu. Asistent si ho domyslí také, ale pokaždé trochu jinak. Tatáž věta zadání jednou skončí tady a podruhé jinde, a ten rozdíl je měřitelný.

Mohu si navíc vyžádat, aby u každého rozhodnutí zapsal, o které pravidlo se opřel. Pak nevidím jen výsledek, ale i úvahu, která k němu vedla, takže chybu najdu i tam, kde výsledek náhodou vyšel správně.

Rozdíly mezi běhy a chyby v úvaze jsou sice nepříjemné, ale je to poprvé, kdy se s tím dá něco dělat. Nejedná se totiž o náladu v černé skříňce modelu . Je to nález a ukazuje na místo v mých pravidlech, kde mám nepřesnou definici. Nehádám tedy, proč to udělal jinak. Přečtu si to a opravím.

Takže nic nového. Jen mám poprvé čtenáře, který mi nic neodpustí. Kdysi jsem nepřesné formulace vracel účastníkům školení já. Teď je vrací AI asistent mně.

Nepřehlédněte webináře zdarma a praktické workshopy na tato témata

Odkazy

Školitel: Lukáš Kellerstein

Blog Lukáše: The model got better, and I stopped reading it


Comments

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *