Jak dobře dokáže náhledový kód OpenAI o1? Uspěl v mých 4 testech - a ukázal svou práci v překvapivých detailech
Může vám nejpokročilejší model umělé inteligence OpenAI pomoci s programováním? Zde je to, co jsem našel, když jsem to testoval.
Obvykle, když softwarová společnost vydá v květnu velkou novinku, nesnaží se ji překonat další velkou novinkou o čtyři měsíce později. Ale na tempu inovací v byznysu AI není nic obvyklého.
Ačkoli OpenAI v polovině května upustilo od svého nového všemocného modelu GPT-4o, společnost měla plné ruce práce. Už loni v listopadu zveřejnila agentura Reuters fámu, že OpenAI pracuje na jazykovém modelu nové generace, tehdy známém jako Q*. V květnu tuto zprávu zdvojnásobili a uvedli, že na Q* se pracuje pod kódovým jménem Strawberry.
Strawberry, jak se ukázalo, je ve skutečnosti model s názvem o1-preview, který je nyní k dispozici jako možnost pro předplatitele ChatGPT Plus. Model si můžete vybrat z rozbalovací nabídky:
Jak si dokážete představit, pokud je k dispozici nový model ChatGPT, prověřím jej. A to je to, co tady dělám.
Nový model Strawberry se zaměřuje na uvažování, rozdělování výzev a problémů do kroků. OpenAI předvádí tento přístup prostřednictvím shrnutí úvah, které lze zobrazit před každou odpovědí.
Když je o1-preview položena otázka, provede nějaké přemýšlení a poté zobrazí, jak dlouho trvalo toto přemýšlení. Pokud rozbalovací nabídku přepnete, uvidíte nějaké zdůvodnění. Zde je příklad z jednoho z mých testů kódování:
Je dobré, že umělá inteligence věděla dost na to, aby přidala zpracování chyb, ale považuji za zajímavé, že o1-preview tento krok kategorizuje pod „Soulad s předpisy“.
Také jsem zjistil, že model o1-preview poskytuje více expozice po kódu. V mém prvním testu, který vytvořil plugin WordPress, model poskytoval vysvětlení hlavičky, struktury třídy, nabídky správce, stránky správce, logiky, bezpečnostních opatření, kompatibility, pokynů k instalaci, pokynů k obsluze a dokonce i testovacích dat. To je mnohem více informací, než poskytovaly předchozí modely.
Ale opravdu, důkaz je v pudinku. Pojďme tento nový model projít našimi standardními testy a uvidíme, jak dobře funguje.
1. Psaní pluginu WordPress
Tento jednoduchý test kódování vyžaduje znalost programovacího jazyka PHP a frameworku WordPress. Výzva vyžaduje, aby umělá inteligence napsala jak kód rozhraní, tak funkční logiku, přičemž zvrat spočívá v tom, že místo odstranění duplicitních položek musí duplicitní položky oddělit, aby nebyly vedle sebe.
Model o1-preview exceloval. Uživatelské rozhraní představilo nejprve pouze jako vstupní pole:
Jakmile byla data zadána a kliklo se na Randomize Lines, AI vygenerovala výstupní pole se správně randomizovanými výstupními daty. Můžete vidět, jak je Abigail Williams duplikována, a v souladu s testovacími pokyny nejsou oba záznamy uvedeny vedle sebe:
V mých testech jiných LLM prošly tímto testem pouze čtyři z 10 modelů. Model o1-preview dokončil tento test dokonale.
2. Přepsání funkce řetězce
Náš druhý test opravuje řetězcový regulární výraz, který byl chybou nahlášenou uživatelem. Původní kód byl navržen tak, aby otestoval, zda zadané číslo platí pro dolary a centy. Bohužel kód povoloval pouze celá čísla (takže povoleno bylo 5, ale ne 5,25).
O1-preview LLM úspěšně přepsal kód. Model se zařadil do čtyř mých předchozích LLM testů v kruhu vítězů.
3. Nalezení nepříjemného bugu
Tento test byl vytvořen z reálné chyby, kterou jsem měl potíže vyřešit. Identifikace hlavní příčiny vyžaduje znalost programovacího jazyka (v tomto případě PHP) a nuancí WordPress API.
Poskytnuté chybové zprávy nebyly technicky přesné. Chybové zprávy odkazovaly na začátek a konec volací sekvence, kterou jsem spouštěl, ale chyba se týkala střední části kódu.
Nebyl jsem sám, kdo se snažil problém vyřešit. Tři z dalších LLM, které jsem testoval, nedokázaly identifikovat hlavní příčinu problému a doporučily zjevnější (ale špatné) řešení změny začátku a konce volací sekvence.
Model o1-preview poskytl správné řešení. Ve svém vysvětlení model také poukázal na dokumentaci WordPress API pro funkce, které jsem použil nesprávně, což poskytlo další zdroj pro zjištění, proč učinil své doporučení. Velmi užitečné.
4. Psaní scénáře
Tato výzva vyžaduje, aby umělá inteligence integrovala znalosti tří samostatných oblastí kódování, jazyk AppleScript, Chrome DOM (jak je webová stránka interně strukturována) a Keyboard Maestro (speciální programovací nástroj od jednoho programátora).
Odpověď na tuto otázku vyžaduje porozumění všem třem technologiím a také tomu, jak musí spolupracovat.
O1-preview opět uspěl a připojil se pouze ke třem z dalších 10 LLM, které tento problém vyřešily.
Velmi upovídaný chatbot
Nový přístup k uvažování pro o1-preview rozhodně nesnižuje schopnost ChatGPT obstát v našich programovacích testech. Zdálo se, že zejména výstup z mého počátečního testu pluginu WordPress funguje jako sofistikovanější software než předchozí verze.
Je skvělé, že ChatGPT poskytuje zdůvodnění na začátku své práce a několik vysvětlujících údajů na konci. Vysvětlení však může být upovídané. Požádal jsem o1-preview, aby napsal "Hello world" v C#, kanonické testovací lince v programování. Takto GPT-4o odpověděl:
A takto reagoval o1-preview na stejný test:
Myslím, wow, že? To je hodně chat z ChatGPT. Můžete také otočit rozbalovací nabídku zdůvodnění a získat ještě více informací:
Všechny tyto informace jsou skvělé, ale je to spousta textu k filtrování. Dávám přednost stručnému vysvětlení, přičemž další možnosti informací v rozbalovacích seznamech byly odstraněny z hlavní odpovědi.
Přesto model ChatGPT o1-preview fungoval výborně. Těším se, jak dobře bude fungovat, až bude plně integrován s funkcemi GPT-4o, jako je analýza souborů a webový přístup.
Zkoušel jsi kódování s o1-preview? jaké byly vaše zkušenosti? Dejte nám vědět v komentářích níže.







