Laat AI SAS-code uitvoeren, niet alleen schrijven

Elk model kan SAS genereren. Zonder een manier om het uit te voeren weet niemand of het werkt. De open Run API van Jenner geeft een agent de andere helft van de lus: het programma draaien, de echte output en de echte fouten lezen, het herstellen en opnieuw draaien — zonder SAS-licentie, zonder lokale installatie.

Anonieme toegang werkt volledig zonder API-sleutel.

Code genereren is de makkelijke helft

Een assistent die SAS schrijft en daar stopt, geeft u iets wat er goed uitziet. Of de macro wordt opgelost, of de merge de variabelen oppikt die u verwachtte, of PROC MEANS 19 of 0 rijen teruggeeft — dat weet u pas als het programma draait.

Vroeger betekende het uitvoeren ervan een SAS-licentie en een installatie, en dat is precies wat een agent niet heeft. De Run API haalt die beperking weg: één HTTP-aanroep voert de code uit en levert gestructureerde resultaten waar het model echt over kan redeneren.

De lus

Genereren, controleren, uitvoeren, itereren — allemaal machineleesbaar.

1

Genereren

Het model schrijft SAS — een DATA-step, een PROC, een macro. Niets bijzonders nodig: Jenner accepteert standaard SAS-syntaxis, dus de code die een assistent al kan schrijven, is ook de code die draait.

2

Controleren

POST het script naar /v1/validate voor een controle zonder uitvoering. U krijgt diagnostiek terug zonder dat er iets draait, zodat een agent een syntaxisfout opmerkt voordat hij er een run aan besteedt.

3

Uitvoeren

POST naar /v1/run met het script en eventuele CSV- of Parquet-invoer. Jenner voert het uit in een sandboxcontainer en geeft de listing-output, het NOTE/WARNING/ERROR-log, een exitcode en elke dataset en elk bestand dat het programma heeft geproduceerd terug.

4

Itereren

Het log en de diagnostiek zijn gestructureerde feedback, geen schermafbeelding. De agent leest de echte fout, herstelt de echte regel en draait opnieuw — de lus rond, zonder mens ertussen.

Hoe dat eruitziet

Echte verzoeken aan de publieke API. Geen sleutel, geen installatie.

Draai een script en krijg de listing terug

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

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

Ontdek een fout voordat u er een run aan besteedt

In dit fragment ontbreekt een puntkomma. Een aanroep zonder uitvoering benoemt het probleem, zodat de agent het kan herstellen en verder kan.

Kapotte 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" }
  ]
}

Lees resultaten waar het model over kan redeneren

Een volledige run levert de listing, het log, een exitcode en elke dataset die het programma heeft geproduceerd — met rijaantallen, zodat de agent kan controleren dat er data is in plaats van dat aan te nemen.

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

Endpoints

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

EndpointDoel
POST/v1/runVoer een script uit met optionele data-invoer. Geeft output, log, exitcode, datasets, bestanden en diagnostiek terug als JSON.
POST/v1/run/streamHetzelfde als /v1/run, gestreamd als Server-Sent Events, zodat het log binnenkomt terwijl het programma nog draait.
POST/v1/quickGemak in één regel. Ruw script erin, listing in platte tekst eruit — de snelste manier om te beantwoorden: “werkt deze SAS?”
POST/v1/validateSyntaxiscontrole zonder uitvoering. Geeft diagnostiek terug zonder iets te draaien. Macro's worden niet uitgeklapt, dus behandel fouten in macro-intensieve code als advies.
GET/v1/run/{run_id}Haal een voltooide run, de bijbehorende bestanden of een datasetvoorbeeld of -download op. Resultaten blijven een uur bestaan en vereisen het toegangstoken van de run.

Toegang

Begin zonder sleutel. Voeg er een toe zodra u meer ruimte nodig heeft.

TierAuthenticatieVerzoeklimietTime-out
AnoniemGeen sleutel nodig1.000 verz./uur per IP30 seconden
FreeRegistratie met e-mail1.500 verz./uur60 seconden
ProAPI-sleutel10.000 verz./uur5 minuten
EnterpriseAPI-sleutelOp maatOp maat

Werkt met wat u al gebruikt

Uw AI-tools

  • Claude Code van Anthropic
  • Claude Desktop
  • Codex van OpenAI
  • ChatGPT
  • Elk systeem dat een HTTP-verzoek kan doen

Of vanuit Jenner zelf

  • De gedeelde webworkspace
  • De macOS-desktopapp
  • Een native Jupyter-kernel

Onder alles draait dezelfde uitvoeringsengine, dus code die een agent via de API heeft gevalideerd, gedraagt zich hetzelfde wanneer een mens hem opent.

Veelgestelde vragen

Nee. Anonieme verzoeken werken volledig zonder sleutel, met een limiet van 1.000 verzoeken per uur per IP en een uitvoeringstime-out van 30 seconden. Dat is genoeg voor een agent om echte code te testen en te verbeteren. Een gratis sleutel verhoogt het plafond, en Pro- of Enterprise-sleutels verhogen het verder.

Nee. De API voert de code uit in een sandboxcontainer op onze infrastructuur. Er is geen SAS-licentie, geen lokale installatie en niets wat de omgeving van het model hoeft klaar te zetten.

Ja. /v1/run accepteert naast het script meerdere invoerbestanden, in CSV of Parquet. Datasets die het programma oplevert, komen terug met rijaantallen en preview- of download-URL's, zodat een agent resultaten kan bekijken in plaats van erover te gissen.

Elke run geeft een exitcode, het volledige NOTE/WARNING/ERROR-log en gestructureerde diagnostiek terug. Fouten zijn expliciet en machineleesbaar, zodat een agent het verschil ziet tussen een programma dat werkte en een dat faalde — precies het signaal dat een genereer-alleen-workflow mist.

Eén uur. Elke run geeft een toegangstoken terug dat alleen voor die run geldt; de GET-endpoints vereisen dat token en het staat los van uw API-sleutel.

Geef uw agent een manier om zijn werk te controleren

Geen sleutel nodig om te beginnen. Nooit een SAS-licentie.