SAS 코드를 작성하고 끝나는 어시스턴트가 건네주는 것은 '맞아 보이는 코드'입니다. 매크로가 정상적으로 치환되는지, 병합에서 의도한 변수가 들어오는지, PROC MEANS가 19행을 반환하는지 0행을 반환하는지 — 실행하기 전에는 어느 것도 알 수 없습니다.
지금까지 실행하려면 SAS 라이선스와 설치가 필요했고, 그것은 AI가 갖지 못한 조건이었습니다. Run API는 이 제약을 없앱니다. 한 번의 HTTP 호출로 코드를 실행하고, 모델이 실제로 해석할 수 있는 구조화된 결과를 반환합니다.
생성하고, 검증하고, 실행하고, 개선합니다 — 모두 기계가 읽을 수 있는 형식으로.
모델이 SAS를 작성합니다. DATA 스텝, PROC, 매크로 — 별도의 준비는 필요 없습니다. Jenner는 표준 SAS 문법을 그대로 받아들이므로, 어시스턴트가 이미 작성할 줄 아는 코드가 그대로 실행됩니다.
/v1/validate로 스크립트를 POST하면 구문 분석만 수행합니다. 실행 없이 진단 결과가 반환되므로, 실행 횟수를 소모하기 전에 문법 오류를 잡을 수 있습니다.
/v1/run으로 스크립트와 CSV 또는 Parquet 입력 데이터를 POST합니다. Jenner는 샌드박스 컨테이너에서 이를 실행하고 리스트 출력, NOTE/WARNING/ERROR 로그, 종료 코드, 프로그램이 생성한 모든 데이터셋과 파일을 반환합니다.
로그와 진단 결과는 스크린샷이 아니라 구조화된 피드백입니다. AI는 실제 오류를 읽고 해당 행을 수정한 뒤 다시 실행합니다. 사람의 개입 없이 루프가 완결됩니다.
공개 API에 대한 실제 요청입니다. 키도 설정도 필요 없습니다.
curl -X POST https://api.jenneranalytics.com/v1/quick \
--data-binary @analysis.sas The MEANS Procedure
Variable N Mean Std Dev
-----------------------------------------------
bmi 19 17.8420103 1.4625169
-----------------------------------------------아래 코드에는 세미콜론이 빠져 있습니다. 구문 분석 전용 호출이 문제 지점을 알려주므로 AI가 수정하고 진행할 수 있습니다.
data demo;
set sashelp.class /* <- missing semicolon */
bmi = weight / (height**2) * 703;
run;{
"valid": false,
"diagnostics": [
{ "severity": "error",
"message": "Unexpected token: Eq, expected Semi" }
]
}전체 실행에서는 리스트 출력, 로그, 종료 코드, 그리고 프로그램이 생성한 모든 데이터셋이 행 수와 함께 반환됩니다. AI는 추측이 아니라 데이터를 실제로 받았는지 확인할 수 있습니다.
{
"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": "..."
}기본 URL https://api.jenneranalytics.com/v1
| 엔드포인트 | 용도 |
|---|---|
POST/v1/run | 선택적 입력 데이터와 함께 스크립트를 실행합니다. 출력, 로그, 종료 코드, 데이터셋, 파일, 진단 결과를 JSON으로 반환합니다. |
POST/v1/run/stream | /v1/run과 동일하되 Server-Sent Events로 스트리밍하여 실행 중에 로그를 받아볼 수 있습니다. |
POST/v1/quick | 간단 실행용입니다. 스크립트를 그대로 보내면 일반 텍스트 리스트 출력이 반환됩니다. '이 SAS가 동작하는가'를 가장 빠르게 확인하는 방법입니다. |
POST/v1/validate | 구문 분석만 수행하는 검사입니다. 실행 없이 진단 결과를 반환합니다. 매크로는 확장되지 않으므로 매크로가 많은 코드의 실패는 참고용으로 보시기 바랍니다. |
GET/v1/run/{run_id} | 완료된 실행, 해당 파일, 데이터셋 미리보기 또는 다운로드를 가져옵니다. 결과는 1시간 동안 유지되며 실행별 액세스 토큰이 필요합니다. |
키 없이 시작하고, 한도가 필요할 때 추가하세요.
| 등급 | 인증 | 요청 한도 | 타임아웃 |
|---|---|---|---|
| 익명 | 키 불필요 | 시간당 1,000회 (IP 기준) | 30초 |
| Free | 이메일 가입 | 시간당 1,500회 | 60초 |
| Pro | API 키 | 시간당 10,000회 | 5분 |
| Enterprise | API 키 | 개별 협의 | 개별 협의 |
모두 동일한 실행 엔진을 사용하므로, AI가 API로 검증한 코드는 사람이 열었을 때도 동일하게 동작합니다.