Přeskoč na hlavní obsah
OpenAI

29. ledna 2026

Inženýrství

Pohled do interního datového agenta OpenAI

Autoři: Bonnie Xu, Aravind Suresh a Emma Tang

Načítání…

Data určují, jak se systémy učí, jak se produkty vyvíjejí a jak se společnosti rozhodují. Získat odpovědi rychle, správně a ve správném kontextu je však často těžší, než by mělo být. Abychom to usnadnili, jak OpenAI roste, vytvořili jsme vlastního interního datového agenta umělé inteligence, který zkoumá a uvažuje na naší vlastní platformě.

Náš agent je vlastní interní nástroj (nikoli externí nabídka), vytvořený speciálně na základě dat, oprávnění a pracovních postupů OpenAI. Ukazujeme, jak jsme ho vytvořili a používáme, abychom pomohli odhalit příklady skutečných a účinných způsobů, jak může umělá inteligence podpořit každodenní práci v našich týmech. Nástroje OpenAI, které jsme použili k jeho sestavení a spuštění (Codex, náš vlajkový model GPT‑5, rozhraní API Evals(otevře se v novém okně)rozhraní API Embeddings(otevře se v novém okně)) jsou stejné nástroje, které dáváme k dispozici vývojářům po celém světě.

Náš datový agent umožňuje zaměstnancům dostat se od otázky k poznatku během několika minut, nikoli dnů. Tím se snižuje laťka pro získávání dat a diferencovanou analýzu ve všech funkcích, nejen v našem datovém týmu. V současné době se týmy v oblasti inženýrství, datové vědy, marketingu, financí a výzkumu společnosti OpenAI opírají o agenta, který jim pomáhá odpovídat na důležité otázky ohledně dat. Může například pomoci odpovědět na otázky, jak vyhodnotit spuštění a pochopit stav podniku, a to vše v intuitivním formátu přirozeného jazyka. Agent kombinuje znalosti na úrovni tabulek na základě nástroje Codex s kontextem produktu a organizace. Díky systému průběžně se učící paměti se také s každou konverzací zlepšuje.

Snímek obrazovky zobrazující uživatele, který se ptá na ChatGPT WAU 6. října 2025 ve srovnání s DevDay 2023. Agent uvádí přibližně 800 mil. WAU za rok 2025 a přibližně 100 mil. za rok 2023, přičemž poznámky ukazují změnu o +700 mil. a přibližně 8× nárůst, po nichž následuje vysvětlující kontext.

V tomto příspěvku vysvětlíme, proč jsme potřebovali datového agenta s umělou inteligencí na míru, proč jsou jeho kódem obohacený datový kontext a samoučení tak užitečné a jaké zkušenosti jsme se na této cestě získali.

Proč jsme potřebovali vlastní nástroj

Datová platforma OpenAI slouží více než 3,5 tisícům interních uživatelů z oblasti inženýrství, produktů a výzkumu, kteří využívají více než 600 petabajtů dat v 70 tisících datových sadách. Při této velikosti může být pouhé nalezení správné tabulky jednou z časově nejnáročnějších částí analýzy.

Jak to vyjádřil jeden z interních uživatelů:

„Máme spoustu tabulek, které jsou si dost podobné, a já trávím spoustu času tím, že se snažím zjistit, v čem se liší a které použít. Některé zahrnují odhlášené uživatele, jiné ne. Některé mají překrývající se pole, je těžké říct, co je co.“

Vytvoření správných výsledků může být náročné i v případě, že jsou vybrány správné tabulky. Analytici musí uvažovat o datech a relacích v tabulkách, aby zajistili správné použití transformací a filtrů. Běžné způsoby selhání – spojování N : N, chyby při odesílání filtrů a neošetřené nuly – mohou bez upozornění znehodnotit výsledky. V měřítku OpenAI by analytici neměli trávit čas laděním sémantiky SQL nebo výkonnosti dotazů: měli by se soustředit na definování metrik, ověřování předpokladů a rozhodování na základě dat.

Snímek obrazovky kódu SQL definujícího dva CTE – order_enriched a monthly_segment, které spojují geografická data zákazníků, odvozují pole objednávka-měsíc a počítají měsíční souhrny, jako jsou počty objednávek, hrubé příjmy, příjmy s daní a průměrný počet dní od odeslání do přijetí.

Tento příkaz SQL má více než 180 řádků. Není snadné zjistit, zda spojujeme správné tabulky a dotazujeme se na správné sloupce.

Jak to funguje

Pojďme si projít, co je náš agent, jak vytváří kontext a jak se neustále zlepšuje.

Náš agent využívá GPT‑5.2 a je navržen tak, aby mohl uvažovat nad datovou platformou OpenAI. Je k dispozici všude tam, kde zaměstnanci už pracují: jako agent Slack, prostřednictvím webového rozhraní, v IDE, v rozhraní příkazového řádku Codex prostřednictvím MCP(otevře se v novém okně) a přímo v interní aplikaci ChatGPT společnosti OpenAI prostřednictvím konektoru MCP(otevře se v novém okně).

Diagram s názvem „Jak funguje datový agent.“ Vstupní body – uživatelské rozhraní agenta, MCP místního agenta, MCP vzdáleného agenta a agent Slack – se vkládají do rozhraní API agenta. Rozhraní API se připojuje k interním znalostem o datech a kontextu společnosti, synchronizuje se s datovým skladem a zdroji platformy a vyměňuje si požadavky s modelem GPT-5.2 prostřednictvím MCP agenta.

Uživatelé mohou klást složité, otevřené otázky, které by obvykle vyžadovaly několik kol ručního zkoumání. Vezměme si tento příklad promptu, který používá testovací soubor dat: „Které dvojice PSČ pro jízdy taxíkem v New Yorku jsou nejnespolehlivější, s největším rozdílem mezi typickou a nejhorší cestovní dobou, a kdy k této variabilitě dochází?“

Agent provádí analýzu od začátku do konce, od pochopení otázky přes zkoumání dat, provádění dotazů až po syntézu poznatků.

Snímek obrazovky, na kterém se uživatel ptá, které dvojice PSČ pro vyzvednutí a vysazení v New Yorku jsou nejvíce „nespolehlivé“. Agent vysvětluje pomocí přibližně 21 tisíc jízd ze vzorků samples.nyctaxi.trips, definuje typický scénář (p50) vs nejhorší scénář (p95), aplikuje filtry a popisuje, jak identifikuje, kdy došlo k nejdelší cestě u každé dvojice PSČ.

Odpověď agenta na otázku.

Jednou ze superschopností agenta je, že dokáže problémy zdůvodnit. Agent se neřídí pevně daným scénářem, ale sám vyhodnocuje svůj postup. Pokud mezivýsledek vypadá špatně (např. obsahuje nulové řádky v důsledku nesprávného spojení nebo filtru), agent zjistí, co se pokazilo, upraví svůj přístup a zkusí to znovu. Během tohoto procesu zachovává úplný kontext a přenáší poznatky mezi jednotlivými kroky. Tento uzavřený samoučící se proces přesouvá iteraci z uživatele na samotného agenta, což umožňuje rychlejší výsledky a trvale vyšší kvalitu analýz než manuální pracovní postupy.

Snímek obrazovky pracovního postupu úlohy zobrazující plán agenta umělé inteligence krok za krokem pro analýzu doby trvání cesty newyorským taxíkem. Obsahuje cíle, interní vyhledávání, kontrolu schémat, úryvky kódu a odůvodnění výpočtu rozpětí p50/p95, identifikaci nespolehlivých párů PSČ a plánování dotazů SQL.

Uvažování agenta k identifikaci nejméně spolehlivých dvojic vyzvednutí a vysazení u taxi v New Yorku.

Agent pokrývá celý analytický pracovní postup: objevování dat, spouštění SQL a publikování poznámkových bloků a zpráv. Rozumí interním znalostem společnosti, dokáže vyhledávat externí informace na webu a postupem času se zlepšuje díky naučenému používání a paměti.

Kontext je vším

Kvalitní odpovědi závisí na bohatém a přesném kontextu. Bez kontextu mohou i silné modely přinést nesprávné výsledky, například výrazně zkreslené odhady počtu uživatelů nebo nesprávnou interpretaci interní terminologie.

Snímek obrazovky ukazující uživatele, který se ptá: „Jaká byla DAU přihlášených uživatelů ChatGPT generování obrázků za posledních 30 dní?“, přičemž stavový řádek níže ukazuje, že agent „pracuje už 22 min 41 s“, což znamená, že probíhá dlouho běžící dotaz.

Agent bez paměti, neschopný efektivně se dotazovat.

Snímek obrazovky zobrazující uživatele, který se ptá: „Jaký byl počet přihlášených DAU pro generování obrázků ChatGPT za posledních 30 dní?“ Pod zprávou je řádek se stavem „Pracuje po dobu 1 min 22 s“, což ukazuje, že dotaz stále běží a jeho dokončení trvá dlouho.

Paměť agenta umožňuje rychlejší dotazy díky vyhledávání správných tabulek.

Aby se předešlo těmto způsobům selhání, je agent postaven na několika vrstvách kontextu, díky kterým je podložený daty a institucionálními znalostmi OpenAI.

Diagram s názvem „Vrstvy kontextu datového agenta“ zobrazující šest vrstev na sobě: 1) Využití tabulky, 2) Anotace člověkem, 3) Obohacení Codex, 4) Institucionální znalosti, 5) Paměť a 6) Kontext za běhu. Každá vrstva se zobrazuje jako vodorovný pruh ve tvaru pyramidy.

Vrstva č. 1: Použití tabulky

  • Ukotvení v metadatech: Agent se při psaní SQL opírá o metadata schématu (názvy sloupců a datové typy) a používá strom tabulek (např. vztahy mezi tabulkami předchůdce a následovník), aby poskytl kontext, jaké relace mezi sebou tabulky mají.
  • Inference dotazu: Příjem historických dotazů pomáhá agentovi pochopit, jak psát vlastní dotazy a které tabulky se obvykle spojují.

Vrstva č. 2: Anotace člověkem

  • Vypracované popisy tabulek a sloupců od oborových expertů, které zachycují záměr, sémantiku, obchodní význam a známá upozornění, která nelze snadno odvodit ze schémat nebo předchozích dotazů.

Samotná metadata nestačí. Aby bylo možné tabulky skutečně rozlišit od sebe, je třeba pochopit, jak byly vytvořeny a odkud pocházejí.

Vrstva č. 3: Obohacení nástrojem Codex

  • Odvozením definice tabulky na úrovni kódu si agent vytváří hlubší představu o tom, co data skutečně obsahují. 
    • Nuance ohledně toho, co je uloženo v tabulce a jak je to odvozeno z analytické události, poskytuje další informace. Může například poskytnout kontext jedinečnosti hodnot, jak často jsou data tabulky aktualizována, rozsah dat (např. pokud tabulka vylučuje určitá pole, má tuto úroveň granularity) atd.
  • To poskytuje rozšířený kontext použití tím, že ukazuje, jak se tabulka používá mimo SQL v prostředích Spark, Python a dalších datových systémech.
  • To znamená, že agent dokáže rozlišovat mezi tabulkami, které vypadají podobně, ale v klíčových ohledech se liší. Dokáže například určit, zda tabulka obsahuje pouze přenosy ChatGPT první strany. Tento kontext se také automaticky obnovuje, takže je stále aktuální bez nutnosti ruční údržby.
Diagram s názvem „Znalostní kanál obohacený o Codex“. Oblíbené tabulky jsou součástí několika úloh Codex, které z databáze OpenAI získávají údaje včetně účelu tabulky, granularity a primárních klíčů, následných vzorů použití, alternativních možností tabulek a čerstvosti dat.

Vrstva č. 4: Institucionální znalosti 

  • Agent může přistupovat ke službám Slack, Google Docs a Notion, které zachycují kritický firemní kontext, jako jsou spuštění, incidenty spolehlivosti, interní kódové názvy a nástroje a kanonické definice a logika výpočtu klíčových metrik.
  • Tyto dokumenty jsou načteny, vloženy a uloženy s metadaty a oprávněními. Služba načítání zajišťuje řízení přístupu a ukládání do mezipaměti za běhu, což agentovi umožňuje efektivně a bezpečně získávat tyto informace.
Snímek obrazovky uživatele, který se ptá, proč se v prosinci snížilo používání konektoru. Agent vysvětluje, že pokles byl způsoben problémem s protokolováním od 13. listopadu 2025, který způsobil nedostatečné započítání využití po spuštění ChatGPT 5.1. Starší telemetrie byla prázdná, dokud se zdrojem pravdy nestala novější událost.

Vrstva č. 5: Paměť

  • Když je agent opraven nebo objeví nuance ohledně určitých datových dotazů, dokáže si tato zjištění uložit pro příště, což mu umožňuje se neustále zlepšovat spolu se svými uživateli. 
    • Budoucí odpovědi tak budou vycházet z přesnějšího základu a nebudou opakovaně narážet na stejné problémy.
    • Cílem paměti je zachovat a znovu použít nezjevné opravy, filtry a omezení, které jsou rozhodující pro správnost dat, ale je obtížné je odvodit pouze z ostatních vrstev. 
    • V jednom případě například agent nevěděl, jak filtrovat konkrétní analytický experiment (spoléhal se na porovnání s konkrétním řetězcem definovaným v bráně experimentu). Paměť tady byla velmi důležitá, aby bylo zajištěno správné filtrování, a ne jen pokusy o shodu řetězce.
  • Když je agent opraven nebo když najde poznatek z konverzace, vyzve k uložení dané paměti pro příště. 
    • Paměti mohou uživatelé vytvářet a upravovat také ručně.
    • Paměti jsou rozvrženy na globální a osobní úrovni a nástroje agenta usnadňují jejich úpravu.
Banner s oznámením „Datový agent chce uložit 2 poznatky do paměti“ s označenou položkou „Metriky ChatGPT nejvyšší úrovně“ a potvrzovací zprávou vpravo, která zní „Uloženo do globální paměti“ se zeleným zaškrtnutím.

Vrstva č. 6: Běhový kontext

  • Pokud pro tabulku neexistuje žádný předchozí kontext nebo pokud jsou existující informace zastaralé, může agent zadávat živé dotazy do datového skladu a kontrolovat tabulku a dotazovat se na ni přímo. To mu umožňuje ověřovat schémata, porozumět datům v reálném čase a odpovídajícím způsobem reagovat.
  • Agent je také schopen komunikovat s dalšími systémy datové platformy (služba metadat, Airflow, Spark), aby získal širší kontext dat, která existují mimo datový sklad.

Její hodnocení jsou založena na zpracovaných sadách dvojic otázek a odpovědí. Každá otázka se zaměřuje na důležitou metriku nebo analytický vzorec, na jehož správnosti nám velmi záleží, a je spojena s ručně vytvořeným „zlatým“ dotazem SQL, který vede k očekávanému výsledku. Pro každé vyhodnocení pošleme otázku v přirozeném jazyce na jeho koncový bod pro generování dotazů, spustíme vygenerované SQL a porovnáme výstup s výsledkem očekávaného SQL.

Diagram s názvem „Hodnoticí kanál datového agenta“. Páry vyhodnocení otázek a odpovědí s očekávaným kanálem SQL se předávají do kroku generování, který vytváří SQL a výsledky. OpenAI Evals porovnává vygenerované výsledky s očekávanými pomocí datového rámce a porovnání SQL, přičemž vypisuje skóre a zdůvodnění.

Vyhodnocení se nespoléhá na naivní shodu řetězců. Generovaný dotaz SQL se může syntakticky lišit a přitom být správný a sady výsledků mohou obsahovat další sloupce, které nemají podstatný vliv na odpověď. Abychom to zohlednili, porovnáváme SQL i výsledná data a tyto signály vkládáme do systému hodnocení Evals OpenAI. Hodnotitel vypracuje konečné skóre spolu s vysvětlením, které zachycuje správnost i přijatelnou odchylku.

Tato vyhodnocení jsou jako jednotkové testy, které běží průběžně během vývoje a identifikují regrese jako kanárci ve výrobě. Umožňuje nám to včas zachytit problémy a s jistotou iterovat, jak se rozšiřují schopnosti agenta.

Zabezpečení agenta

Náš agent se přímo napojuje na stávající model zabezpečení a řízení přístupu OpenAI. Funguje čistě jako vrstva rozhraní, která dědí a vynucuje stejná oprávnění a ochranné mantinely, jimiž se řídí data OpenAI. 

Veškerý přístup agenta je striktně průchozí, což znamená, že uživatelé se mohou dotazovat pouze na tabulky, ke kterým už mají oprávnění. Pokud přístup chybí, označí to nebo se vrátí k alternativním datovým sadám, které je uživatel oprávněn používat.

V neposlední řadě je vytvořen s ohledem na transparentnost. Jako každý systém může dělat chyby. Sděluje svůj proces uvažování shrnutím předpokladů a kroků provedení vedle každé odpovědi. Při provádění dotazů se propojí přímo s podkladovými výsledky, což uživatelům umožňuje kontrolovat nezpracovaná data a ověřovat každý krok analýzy.

Získané zkušenosti

Vytvoření našeho agenta od nuly přineslo praktické poznatky o tom, jak se agenti chovají, kde mají problémy a co je vlastně činí spolehlivými ve velkém měřítku.

Zkušenost č. 1: Méně je více

Na začátku jsme agentovi poskytli celou sadu nástrojů a rychle jsme narazili na problémy s překrývajícími se funkcemi. Tato redundance může být užitečná pro specifické vlastní případy a pro člověka je při ručním vyvolání zřejmější, pro agenty je však matoucí. Abychom snížili nejednoznačnost a zvýšili spolehlivost, omezili jsme a konsolidovali některá volání nástrojů.

Zkušenost č. 2: Popisovat cíle, ne cestu

Zjistili jsme také, že vysoce preskriptivní prompty zhoršují výsledky. Ačkoli mnoho otázek má obecný analytický tvar, detaily se natolik liší, že rigidní instrukce často vedou agenta na nesprávnou cestu. Přechodem na vyšší úroveň vedení a spoléháním se na uvažování GPT‑5 při výběru vhodné cesty provádění agent zvýšil robustnost a dosahoval lepších výsledků.

Zkušenost č. 3: Význam je schovaný v kódu

Schémata a historie dotazů popisují tvar a použití tabulky, ale její skutečný význam se skrývá v kódu, který ji vytváří. Logika kanálu zachycuje předpoklady, záruky čerstvosti a obchodní záměry, které se nikdy neobjeví v SQL ani metadatech. Díky procházení kódové základny pomocí nástroje Codex náš agent chápe, jak jsou datové sady ve skutečnosti konstruovány, a dokáže lépe odhadnout, co jednotlivé tabulky skutečně obsahují. Dokáže odpovědět na otázky „co je tady“ a „kdy to mohu použít“ mnohem přesněji než pouze na základě signálů z datového skladu. 

Stejná vize, nové nástroje

Neustále pracujeme na vylepšování agenta tím, že zvyšujeme jeho schopnost zpracovávat nejednoznačné otázky, zlepšujeme jeho spolehlivost a přesnost pomocí silnějších validací a hlouběji ho integrujeme do pracovních postupů. Věříme, že by se měl přirozeně začlenit do způsobu, jakým lidé již pracují, a ne fungovat jako samostatný nástroj.

Zatímco naše nástroje budou i nadále těžit ze základních vylepšení v oblasti uvažování agentů, validace a samoopravy, poslání našeho týmu zůstává stejné: bezproblémově poskytovat rychlou a důvěryhodnou analýzu dat v celém datovém ekosystému OpenAI.

Autor

Bonnie Xu, Aravind Suresh, Emma Tang

Poděkování

Speciální poděkování týmům datové produktivity a datové vědy, stejně jako našim mnoha uživatelům napříč funkcemi za jejich experimentování a zpětnou vazbu.