Anna tekoälyn ajaa SAS-koodia, ei vain kirjoittaa sitä

Mikä tahansa malli osaa tuottaa SAS-koodia. Ilman tapaa ajaa sitä kukaan ei tiedä, toimiiko se. Jennerin avoin Run API antaa agentille silmukan toisen puoliskon: aja ohjelma, lue todellinen tuloste ja todelliset virheet, korjaa ja aja uudelleen – ilman SAS-lisenssiä ja ilman paikallista asennusta.

Anonyymi käyttö onnistuu täysin ilman API-avainta.

Koodin tuottaminen on se helppo puolisko

Avustaja, joka kirjoittaa SAS-koodia eikä muuta, antaa sinulle jotain, joka näyttää oikealta. Ratkeaako makro, poimiiko yhdistäminen odottamasi muuttujat, palauttaako PROC MEANS 19 riviä vai 0 – mitään näistä ei tiedä ennen kuin ohjelma ajetaan.

Aiemmin sen ajaminen vaati SAS-lisenssin ja asennuksen – juuri sitä agentilla ei ole. Run API poistaa tämän rajoitteen: yksi HTTP-kutsu ajaa koodin ja palauttaa rakenteiset tulokset, joita malli pystyy oikeasti käsittelemään.

Silmukka

Generoi, tarkista, aja, iteroi – kaikki koneluettavassa muodossa.

1

Generoi

Malli kirjoittaa SAS-koodia – DATA-askeleen, PROCin, makron. Mitään erityistä ei tarvita: Jenner hyväksyy standardin SAS-syntaksin, joten koodi, jonka avustaja jo osaa kirjoittaa, on juuri se koodi, joka ajetaan.

2

Tarkista

Lähetä skripti POST-pyynnöllä osoitteeseen /v1/validate pelkkää jäsennystä varten. Diagnostiikka palautuu ilman, että mitään ajetaan, joten agentti voi napata syntaksivirheen ennen kuin tuhlaa siihen ajon.

3

Aja

Lähetä POST-pyyntö osoitteeseen /v1/run skriptin ja mahdollisten CSV- tai Parquet-syötteiden kanssa. Jenner ajaa sen eristetyssä kontissa ja palauttaa listaustulosteen, NOTE/WARNING/ERROR-lokin, paluukoodin sekä kaikki ohjelman tuottamat aineistot ja tiedostot.

4

Iteroi

Loki ja diagnostiikka ovat rakenteista palautetta, eivät kuvakaappaus. Agentti lukee todellisen virheen, korjaa todellisen rivin ja ajaa uudelleen – silmukka sulkeutuu ilman ihmistä välissä.

Miltä se näyttää

Aitoja pyyntöjä julkiseen API:in. Ei avainta, ei asennusta.

Aja skripti, saat tulosteen takaisin

Pyyntö
curl -X POST https://api.jenneranalytics.com/v1/quick \
  --data-binary @analysis.sas
Vastaus
                          The MEANS Procedure

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

Huomaa virhe ennen kuin tuhlaat ajon siihen

Tästä katkelmasta puuttuu puolipiste. Pelkkä jäsennyskutsu kertoo ongelman, joten agentti voi korjata sen ja jatkaa.

Rikkinäinen SAS-koodi
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" }
  ]
}

Lue tuloksia, joita malli pystyy käsittelemään

Täysi ajo palauttaa tulosteen, lokin, paluukoodin ja kaikki ohjelman tuottamat aineistot – rivimäärineen, jotta agentti voi varmistaa saaneensa dataa sen sijaan, että olettaisi niin.

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": "..."
}

Päätepisteet

Perus-URL https://api.jenneranalytics.com/v1

PäätepisteKäyttötarkoitus
POST/v1/runAjaa skriptin ja halutessasi myös datasyötteet. Palauttaa tulosteen, lokin, paluukoodin, aineistot, tiedostot ja diagnostiikan JSON-muodossa.
POST/v1/run/streamSama kuin /v1/run, mutta suoratoistettuna Server-Sent Events -muodossa, jolloin loki saapuu ohjelman vielä ollessa käynnissä.
POST/v1/quickKätevä yhden kutsun ratkaisu. Skripti sisään, tekstimuotoinen tuloste ulos – nopein tapa vastata kysymykseen ”toimiiko tämä SAS-koodi?”
POST/v1/validatePelkkä syntaksin tarkistus jäsentämällä. Palauttaa diagnostiikan ajamatta koodia. Makroja ei laajenneta, joten käsittele makropainotteisia virheitä suuntaa antavina.
GET/v1/run/{run_id}Hae valmis ajo, sen tiedostot tai aineiston esikatselu tai lataus. Tulokset ovat saatavilla tunnin ajan ja vaativat ajon käyttöoikeustunnuksen.

Käyttöoikeus

Aloita ilman avainta. Lisää avain, kun tarvitset lisää tilaa.

TasoTodennusPyyntörajaAikakatkaisu
AnonyymiAvainta ei tarvita1 000 pyyntöä/t per IP30 sekuntia
FreeRekisteröityminen sähköpostilla1 500 pyyntöä/t60 sekuntia
ProAPI-avain10 000 pyyntöä/t5 minuuttia
EnterpriseAPI-avainMukautettuMukautettu

Toimii sen kanssa, mitä jo käytät

Tekoälytyökalusi

  • Anthropicin Claude Code
  • Claude Desktop
  • OpenAI:n Codex
  • ChatGPT
  • Mikä tahansa järjestelmä, joka osaa tehdä HTTP-pyynnön

Tai suoraan Jennerin sisältä

  • Yhteisöllinen verkkotyötila
  • macOS-työpöytäsovellus
  • Natiivi Jupyter-ydin

Kaikkien taustalla on sama ajomoottori, joten API:n kautta validoitu koodi toimii samalla tavalla, kun ihminen avaa sen.

Usein kysytyt kysymykset

Ei. Anonyymit pyynnöt toimivat täysin ilman avainta, ja niitä rajoitetaan IP-osoitteittain 1 000 pyyntöön tunnissa 30 sekunnin ajon aikakatkaisulla. Se riittää siihen, että agentti testaa ja iteroi oikeaa koodia. Ilmainen avain nostaa kattoa, ja Pro- tai Enterprise-avaimet nostavat sitä vielä lisää.

Ei. API ajaa koodin eristetyssä kontissa meidän infrastruktuurissamme. SAS-lisenssiä ei tarvita, paikallista asennusta ei tarvita eikä mallin ajoympäristöön tarvitse asentaa mitään.

Kyllä. /v1/run hyväksyy skriptin ohella toistettavia syötetiedostoja CSV- tai Parquet-muodossa. Ohjelman tuottamat aineistot palautuvat rivimäärineen sekä esikatselu- tai latausosoitteineen, joten agentti voi tarkastella tuloksia arvailun sijaan.

Jokainen ajo palauttaa paluukoodin, täyden NOTE/WARNING/ERROR-lokin ja rakenteisen diagnostiikan. Virheet ovat eksplisiittisiä ja koneluettavia, joten agentti erottaa toimineen ohjelman epäonnistuneesta – juuri tämä signaali puuttuu pelkkään koodin tuottamiseen perustuvasta työnkulusta.

Tunnin. Jokainen ajo palauttaa käyttöoikeustunnuksen, joka koskee vain kyseistä ajoa; GET-päätepisteet vaativat sen, ja se on eri asia kuin API-avaimesi.

Anna agentillesi tapa tarkistaa työnsä

Aloittaminen ei vaadi avainta. Eikä SAS-lisenssiä koskaan.