Nechte AI kód SAS spouštět, ne jen psát

SAS umí vygenerovat každý model. Bez možnosti kód spustit ale nikdo neví, jestli funguje. Otevřené Run API od Jenneru dá agentovi druhou půlku smyčky: spustit program, přečíst skutečný výstup i skutečné chyby, opravit je a spustit znovu — bez licence SAS a bez lokální instalace.

Anonymní přístup funguje zcela bez klíče API.

Vygenerovat kód je ta snazší polovina

Asistent, který napíše SAS a tím skončí, vám předá něco, co vypadá správně. Jestli se makro rozvine, jestli merge převezme proměnné, které jste čekali, jestli PROC MEANS vrátí 19 řádků nebo 0 — nic z toho není známo, dokud program neproběhne.

Historicky to znamenalo licenci SAS a instalaci — což je přesně to, co agent nemá. Run API tuhle překážku odstraňuje: jediné volání HTTP kód spustí a vrátí strukturované výsledky, se kterými model dokáže skutečně pracovat.

Smyčka

Generovat, ověřit, spustit, iterovat — a všechno strojově čitelně.

1

Generování

Model napíše SAS — krok DATA, PROC, makro. Nic zvláštního není potřeba: Jenner přijímá standardní syntaxi SAS, takže kód, který už asistent umí psát, je právě ten kód, který se spustí.

2

Kontrola

Pošlete skript metodou POST na /v1/validate a proběhne jen parsování. Diagnostika se vrátí, aniž by se cokoli spustilo, takže agent odhalí syntaktickou chybu dřív, než na ni vyplýtvá spuštění.

3

Spuštění

Pošlete metodou POST na /v1/run skript a případné vstupy v CSV nebo Parquetu. Jenner ho spustí v izolovaném kontejneru a vrátí výstup výpisu, log NOTE/WARNING/ERROR, návratový kód a každou datovou sadu i soubor, který program vytvořil.

4

Iterace

Log a diagnostika jsou strukturovaná zpětná vazba, ne screenshot. Agent si přečte skutečnou chybu, opraví skutečný řádek a spustí znovu — smyčka se uzavře bez člověka uprostřed.

Jak to vypadá

Skutečné požadavky na veřejné API. Bez klíče, bez nastavování.

Spusťte skript a dostanete zpět výpis

Požadavek
curl -X POST https://api.jenneranalytics.com/v1/quick \
  --data-binary @analysis.sas
Odpověď
                          The MEANS Procedure

 Variable        N           Mean        Std Dev
 -----------------------------------------------
 bmi            19     17.8420103      1.4625169
 -----------------------------------------------

Odhalte chybu dřív, než na ni vyplýtváte spuštění

V této ukázce chybí středník. Volání, které jen parsuje, problém pojmenuje, takže ho agent opraví a jede dál.

Chybný SAS
data demo;
  set sashelp.class      /* <- missing semicolon */
  bmi = weight / (height**2) * 703;
run;
POST /v1/validate
{
  "valid": false,
  "diagnostics": [
    { "severity": "error",
      "message": "Unexpected token: Eq, expected Semi" }
  ]
}

Čtěte výsledky, se kterými model dokáže pracovat

Úplné spuštění vrátí výpis, log, návratový kód a každou datovou sadu, kterou program vytvořil — včetně počtu řádků, takže si agent může ověřit, že data skutečně dostal, místo aby to jen předpokládal.

POST /v1/run
{
  "run_id": "r_c8679761197f4f9d8a3bc021...",
  "status": "ok",
  "exit_code": 0,
  "output":   "...formatted listing tables...",
  "log":      "NOTE: PROC MEANS statement used.",
  "datasets": [ { "name": "demo", "row_count": 19 } ],
  "files":    [],
  "diagnostics": [],
  "duration_ms": 412,
  "jenner_version": "..."
}

Endpointy

Základní URL https://api.jenneranalytics.com/v1

EndpointÚčel
POST/v1/runSpustí skript s volitelnými vstupními daty. Vrátí výstup, log, návratový kód, datové sady, soubory a diagnostiku ve formátu JSON.
POST/v1/run/streamTotéž co /v1/run, jen streamované jako Server-Sent Events, takže log dorazí ještě za běhu programu.
POST/v1/quickPohodlí na jeden řádek. Dovnitř holý skript, ven prostý textový výpis — nejrychlejší způsob, jak zodpovědět otázku „funguje tenhle SAS?“
POST/v1/validateKontrola syntaxe bez spuštění. Vrátí diagnostiku, aniž by cokoli provedla. Makra se nerozvíjejí, takže selhání u kódu s velkým podílem maker berte jen jako orientační.
GET/v1/run/{run_id}Načte dokončené spuštění, jeho soubory nebo náhled či stažení datové sady. Výsledky žijí jednu hodinu a vyžadují přístupový token daného spuštění.

Přístup

Začněte bez klíče. Přidejte si ho, až budete potřebovat víc prostoru.

ÚroveňOvěřeníLimit požadavkůČasový limit
AnonymníKlíč není potřeba1 000 požadavků/h na IP30 sekund
FreeRegistrace e-mailem1 500 požadavků/h60 sekund
ProKlíč API10 000 požadavků/h5 minut
EnterpriseKlíč APINa míruNa míru

Funguje s tím, co už používáte

Vaše nástroje AI

  • Claude Code od Anthropic
  • Claude Desktop
  • Codex od OpenAI
  • ChatGPT
  • Jakýkoli systém, který umí odeslat požadavek HTTP

Nebo přímo z Jenneru

  • Kolaborativní webový pracovní prostor
  • Desktopová aplikace pro macOS
  • Nativní jádro Jupyter

Za všemi stojí stejný spouštěcí engine, takže kód, který agent ověřil přes API, se chová stejně, když ho otevře člověk.

Časté dotazy

Ne. Anonymní požadavky fungují úplně bez klíče, jen s limitem 1 000 požadavků za hodinu na IP adresu a s 30sekundovým limitem na spuštění. To agentovi bohatě stačí na testování a iterace nad skutečným kódem. Bezplatný klíč strop zvedne a klíče Pro nebo Enterprise ještě víc.

Ne. API kód spouští v izolovaném kontejneru na naší infrastruktuře. Žádná licence SAS, žádná lokální instalace a nic, co by muselo být v hostitelském prostředí modelu.

Ano. /v1/run přijímá vedle skriptu i opakovatelné vstupní soubory ve formátu CSV nebo Parquet. Datové sady, které program vytvoří, se vracejí s počty řádků a s URL pro náhled či stažení, takže agent výsledky prozkoumá, místo aby si je domýšlel.

Každé spuštění vrátí návratový kód, kompletní log NOTE/WARNING/ERROR a strukturovanou diagnostiku. Chyby jsou explicitní a strojově čitelné, takže agent pozná rozdíl mezi programem, který proběhl, a tím, který ne — a přesně tenhle signál postupu „jen generuj“ chybí.

Jednu hodinu. Každé spuštění vrátí přístupový token omezený jen na toto spuštění; endpointy GET ho vyžadují a je nezávislý na vašem klíči API.

Dejte svému agentovi možnost zkontrolovat si vlastní práci

Pro start není potřeba klíč. A licence SAS nikdy.