기술 스택

v1.0 구현·운영 기술 카탈로그 + 의도적 미사용 기술

쉽게 말하면 — 어떤 도구를 쓰고, 무엇을 일부러 안 썼는지와 그 이유예요. 전체 그림이 궁금하면 쉬운 설명 부터.

16 deps MIT/BSD only Anthropic 단일 provider

언어 · 런타임

Python 3.11+ 강제 (Pydantic v2 typed artifact, asyncio, mypy --strict 호환)

LLM · AI 프레임워크

노드별 모델 tiering — Architect/Coder = Opus(정확성 임계), Designer = Sonnet. v2 QA 최종 게이트는 품질 우선으로 Sonnet 승급(#156).

노드 ↔ 모델 tiering (비용 규율)
노드모델 tier이유
ArchitectOpusspec 정확성 임계 (expected_output 오류 = 직접 실패)
Algorithm DesignerSonnetalgorithm 선택 + pseudocode — Coder 분해
CoderOpusgolden + brute 구현 정확성
Executor / 검증 / 집계code결정론 코드 = 비용 0
QA / Critic (v2)Sonnet최종 품질 게이트 정성판단 — 모호성/공정성/유출/난이도 (#156 Haiku→Sonnet 승급)
⚠️ list price upper bound — Anthropic Tier 할인 / prompt cache 미반영. 실제 청구 ≈ 0.4x. run당 비용은 마일스톤마다 실측해 anchor 화.

실행 격리 (4-Tier Sandbox)

LLM 생성 코드는 격리 환경에서만 — OS와 가용성에 따라 자동 선택

⚠️ 알려진 한계

테스트 · 품질

pytest + ruff + mypy --strict 0 errors. 현재 862 collected · coverage 87% (ipe/v1)

상태 · 환경 · 빌드

의도적 미사용 기술

최소 dependency 정책 — 후보가 있었지만 의도적으로 제외한 기술 + 이유

의존성 그래프 (v1.0)

Layer 분리 — CLI / Orchestration / Nodes / Verification / Sandbox

CLI main_v1.py + measurement runner
Orchestration ipe/v1/graph.py (langgraph)
↓ typed state 흐름
Nodes architect · designer · coder
LLM (langchain-anthropic)
Opus / Sonnet
Executor + Verification ipe/v1/verifiers/*
19 symbolic verifier (code, 비용 0)
Sandbox 4-tier
Docker / nsjail / sandbox-exec / RLIMIT
outputs/<run_id>/ 영속화 + SqliteSaver checkpoint