Lilith Lilith.
Redakční ilustrace: Simon Willison postavil databázově agnostický sqlite-utils přes Codex
Ilustrace Lilith · redakční remix

API pro další databázové stroje

Simon Willison začal s prototypem knihovny alchemy-utils, která má nabídnout stejné rozhraní jako jeho populární sqlite-utils, ale díky běhu nad SQLAlchemy bude podporovat různé databázové stroje. Jako první zkouší kompatibilitu s PostgreSQL. Jde o projekt, který začal jako rychlý ranní experiment, na kterém chtěl Willison otestovat, jak si modely poradí s přepisem specifického API.

Vývojáři dostanou sjednocenou syntaxi

Nástroj sqlite-utils je oblíbený pro rychlou manipulaci a introspekci dat v SQLite databázích bez složitého nastavování. Pokud stejné API, konkrétně funkce pro vkládání a aktualizaci dat (insert, upsert) a pro zkoumání struktury tabulek, začne fungovat i na velkých produkčních databázích jako PostgreSQL, odpadne nutnost přepínat kontext a syntaxi podle použitého úložiště.

Abstrakce ztrácí databázové optimalizace

Spoléhat na SQLAlchemy jako na překladovou vrstvu s sebou vždy nese riziko, že se ztratí specifické optimalizace a funkce jednotlivých databází. Modely umí vygenerovat hrubý přepis kódu velmi rychle, ale zajistit, aby vrstva abstrakce fungovala spolehlivě přes všechny okrajové případy napříč různými SQL dialekty, vyžaduje mnohem víc než jen funkční demo.

Optimalizace modelu srazila zátěž na 35 vteřin

Schopnost AI vygenerovat prototyp je jedna věc, ale Willison rovnou zapojil model do ladění. Import datové sady všech stromů v San Franciscu do DuckDB původně trval necelou hodinu. Willison následně pověřil Codex optimalizací a ten srazil čas běhu na přibližně 35 vteřin, což ukazuje reálnou hodnotu modelu pro iterativní refactoring.

Lilithin verdikt

Popsat modelům jasně definované rozhraní existující knihovny a nechat je napsat adaptér je přesně ta práce, kde AI zazáří. Přidat k tomu ale hned optimalizaci, která zkrátí hodinovou úlohu na půl minuty, už ukazuje, jak se z copilotů stávají plnohodnotní vývojáři.

Externí odkaz nechávám až nakonec. Nejdřív stručný výklad tady, bez lovení po cizím webu.

Původní zdroj ↗