Myslitelé

Výbuch API je skutečný – a kódování podle nálady zapaluje fuse

mm
Přidejte Unite.AI mezi své preferované zdroje na Google
Boom umělé inteligence přinesl mnoho věcí: zvýšení produktivity, nové tvůrčí pracovní postupy a nedávno také lavinu API. Pokud se vám zdá, že počet interních a externích API ve vaší společnosti se zdvojnásobil přes noc, není to vaše představa. Procházíme explozí API a generativní umělá inteligence je primárním urychlovačem.

Pouze před několika lety bylo spuštění nového API koncového bodu v zavedeném kódu velkou překážkou. Potřebovali jste projít vlastnictvím více kódových domén, vyřešit schvalování od architektů a provést recenze, které někdy trvaly týdny nebo měsíce. Tření bylo bolestivé, ale zajišťovalo, že každé nové API mělo určitou úroveň prozkoumání a institucionální paměti.

Teď? Nástroje pro vývoj s umělou inteligencí odstranily tuto překážku.

Agenty GenAI mohou spotřebovat velké množství kontextových dat a generovat změny kódu napříč stovkami souborů za sekundy. To demokratizovalo schopnost vytvářet API – nejen pro inženýry, ale i pro netechnické role (šokující hrůza) jako produktoví manažeři a podpůrné týmy, kteří se nyní mohou cítit povzbuzeni k odeslání experimentů přímo do produkce.

Je to obrovský posun v tom, kdo drží moc ve softwarovém vývojovém procesu. A není to nutně špatná věc, zejména v obchodním prostředí, které priorizuje rychlost a iteraci. Ale výsledkem je divoký oheň rychle nasazených API: mnohé spuštěné jako „experimentální“ nebo skryté za funkcemi, ale brzy se stávají nezbytnou infrastrukturou, jak se mění obchodní potřeby. Co začíná jako rychlý prototyp se stává klíčovým integračním prvkem. A teď je příliš pozdě na to, aby se to změnilo.

Růst „kódování podle nálady“

Tento nový druh API generovaných umělou inteligencí často přichází s malou architekturou, dokumentací nebo testováním. Nazýváme tento jev „kódováním podle nálady“ – psaním softwaru na základě hrubé intuice, volné signalizace a obecného pocitu toho, co by „mělo fungovat“, spíše než hlubokého porozumění systémům nebo návrhovým vzorům.

Bohužel, API vytvořená tímto způsobem často následují nekonzistentní konvence, postrádají robustní validaci a často ignorují zavedené vnitřní standardy. Horší je, že mohou zavést vážná bezpečnostní nebo regulační rizika, zejména když jsou spojeny se citlivými daty nebo externě orientovanými koncovými body. Umělá inteligence nezná vaši firemní model řízení – nebo vaše požadavky na dodržování předpisů. Pokud jí to není výslovně řečeno, nebude s nimi psát.

A problémy se rychle sčítají. Umělá inteligence se také stále více používá k generování testů. Ale když je poškozený kód testován s validacemi generovanými umělou inteligencí, testy pouze potvrzují vadné chování. Vývojáři jsou neochotni psát testy pro kód, který sami nenapsali, natož kód generovaný stroji, takže umělá inteligence přebírá roli. Výsledkem je rekurentní zpětná smyčka nekvalitního kódu testovaného a „ověřeného“ stejně vadnou konstrukcí.

Patchwork API a krize vlastnictví

To vše vede k rozsáhlé, fragmentované API vrstvě uvnitř většiny organizací. API nyní pokrývají se překrývajícími doménami, plní podobné funkce slightly odlišnými způsoby a často postrádají jasné vlastnictví. Mnohé z nich byly napsány bez hlubokého porozumění základním datovým modelům, službám nebo týmovým chartám. Není překvapivé, že údržba se stává noční můrou. Kdo vlastní tento koncový bod? Kdo jej může změnit? Kdo dokonce ví, že existuje?

Nástroje s umělou inteligencí prioritizují užitnost a rychlost. Pokud se nekontrolují, vytvoří nejkratší cestu k dodání, bez ohledu na to, zda se shoduje s vaší architektonickou vizí. S časem může váha tohoto technického dluhu zastavit pokrok.

Několik praktických kroků, které můžete podniknout.

1. Viditelnost

Odpověď není zpomalit vše nebo zakázat umělou inteligenci. To není realistické a ponechá enormní hodnotu na stole. Místo toho musíme evoluce, jak spravujeme software v éře generativního vývoje.

Základní první krok je viditelnost. Nemůžete řídit to, co nevidíte. Organizace potřebují kontinuální objevování API, ne statickou dokumentaci, která je zastaralá v okamžiku, kdy je publikována.

Nástroje, které monitorují API – během runtime a v kódu – se stávají nezbytnými. Jakmile budete moci mapovat svou reálnou krajinnou API, budete moci posoudit riziko, identifikovat duplikaci a začít budovat spolehlivou správu.

Ironicky, sama umělá inteligence může pomoci s tímto procesem. Používání modelů umělé inteligence k analýze a auditu map API pomáhá odhalit anomálie, riziková expozice a příležitosti k konsolidaci. To je umělá inteligence, která pomáhá nebudovat více, ale čistit to, co již máme.

2. Nastavení organizace-wide standardizace inženýrství a nástrojů pro signalizaci

Lepší kontrola obou výstupu a vstupu do nástrojů umělé inteligence jde dlouhou cestu v udržování úrovně kontroly nad generovaným kódem. Jednoduché kroky, jako je sladění schválených AI-poháněných IDE a modelů pro použití uvnitř organizace, pomohou s variací. To také má výhodu usnadnění nasazení nových modelů a zvyšování pravděpodobnosti, že signalizace bude reprodukovatelná napříč pracovními stanicemi inženýrů.

Ještě silnější je sladění na konkrétní rules.md typ souborů, které vyžadujete, aby AI-kodéři poskytli jako kontext pro svého agenta. Čím složitější je kódová základna, tím více je prospěšné, aby všichni inženýři pracovali se stejnou sadou pravidel, poskytující kontext pro AI-agenta, aby správně generoval kód, který funguje nejlépe s existujícími strukturami.

Nemáme v úmyslu dát generativní génii zpět do lahve. Ale můžeme ji vést, omezit rozsah exploze a použít ji k pohánění odpovědné inovace. Ta práce začíná ne s kódem, ale s jasností.

Bio: Benji Kalman, VP of Engineering a spoluzakladatel Root, má přes deset let zkušeností s výzkumem a budováním v oblasti kybernetické bezpečnosti a DevTools. Absolvent 8200, který se specializoval na kybernetické operace, Benji byl jedním z prvních členů Snyk, kde přes pět let pracoval jako ředitel skupiny Snyk's Security RnD, odpovědný za kuraci a tvorbu bezpečnostních znalostních bází společnosti.