[오픈소스] Intent Language 명세 v0.1 (2/2) — 런타임과 실행
Intent Language 명세 v0.1 (2/2) — 런타임과 실행
7. AI 실행 모델
따옴표 = AI 영역. 내부 동작:
- 컨텍스트 수집 — from 결과 데이터 + let 변수
- 프롬프트 구성 — 시스템 프롬프트 + 사용자 지시 + 데이터
- LLM 호출 — Claude/GPT-4
- 결과 파싱 — 다음 파이프에 맞는 형태로 변환
- 검증 — to 요구사항과 매칭
AI 힌트 (선택): do "매출 분석" using claude, format=table, lang=ko
8. 에러 처리
on_fail {
retry 3회, 간격 5분
then 텔레그램 "뉴스 수집 실패: {error}"
then 로그 errors/news.log
}
9. 실행 환경 3가지
REPL (대화형):
$ intent
> from db.users[active=true]
> do "가입일 기준 분류"
→ [신규: 45명, 일반: 230명, 장기: 89명]
파일 실행: $ intent run daily_report.intent
데몬 (스케줄러): $ intent serve morning_tasks.intent
10. 런타임 아키텍처 (Elixir)
Intent Runtime
Parser → Planner → Runner → AI Engine
↕
Scheduler (when)
↕
Connector Layer
db|api|file|web|cb12|email
- Parser — .intent 파일 → AST
- Planner — AST → 실행 계획 (의존성 분석)
- Runner — 파이프라인 실행 (GenServer)
- AI Engine — 따옴표 절을 LLM에 전달/해석
- Scheduler — when 절 관리
- Connector — from/to 실제 I/O
Elixir 최적 이유: GenServer=독립프로세스, Supervisor=장애복구, Flow=대량파이프라인
11. 현실 변환 — MB의 워크플로우
현재 (Python + cron + OpenClaw): collect_stocks.py (200줄) + send_email.py (150줄) + upload_to_board.py (180줄) + cb12_to_naver.py (120줄) + cron 5개 = 총 650줄 + 설정파일
Intent Language:
intent "미국주식 데일리" {
from 뉴스.미국주식, api.yahoo_finance
do 수집 → "시장 동향 분석" → "투자자용 리포트 작성"
to cb12/usstock
when 매일 07:00
}
intent "크로스포스팅" {
from cb12/usstock[today]
do 변환.네이버SE
to 네이버카페/해외주식, 티스토리/미국주식
when 매일 20:30
}
650줄 → 15줄. 이게 Intent Language의 존재 이유.
작성: 2026-02-26 | Intent Language v0.1