"t retain enough file content to produce accurate edits — that"

이 말은 Statewright 개발팀이 13GB 미만 로컬 모델의 한계를 설명하며 한 발언이다. 모델이 도구 호출은 생성할 수 있지만, 파일 내용을 충분히 기억하지 못해 정확한 수정을 하지 못하는 지점을 '바닥(floor)'이라고 정의한 것이다. 이 발언은 AI 에이전트의 성능 병목이 모델 크기 자체보다 도구 공간의 구조적 제약에 있다는 주장의 핵심이다.

매일 아침 Claude Code나 Cursor에서 40개 이상의 도구를 가진 AI 에이전트에게 복잡한 버그 수정을 맡겨본 개발자라면, 모델이 같은 파일을 5번 이상 다시 읽기만 하고 수정은 하지 않는 '읽기-루프(read-loop death spiral)'를 경험했을 것이다. Statewright는 이 문제를 모델을 키우는 대신 문제 공간을 줄이는 방식으로 접근한다.

Statewright: 상태 기계로 도구 사용을 단계별 제한

Statewright는 AI 에이전트가 각 단계(phase)에서 사용할 수 있는 도구를 상태 기계(state machine)로 제한하는 오픈소스 엔진이다. 핵심은 Rust로 작성된 엔진(crates/engine)으로, 상태 전이(transition), 가드(guard), 도구 제한을 결정론적으로 평가한다. LLM(대규모 언어 모델)을 개입시키지 않는다.

설치는 Claude Code 무료 티어에서 다음 명령어로 시작한다:

bash

Claude Code에서 실행

/statewright start bugfix

API 키를 입력하면 버그 수정 워크플로우가 시작된다. 최신 Claude 버전은 경고 메시지를 띄울 수 있으므로, API 키를 다시 붙여넣고 의사를 재확인하면 된다.

워크플로우는 세 단계로 구성된다:

- **Planning(계획)**: 읽기 전용 도구만 허용

- **Implementation(구현)**: 제한된 셸 접근과 수정 도구 허용 (write-via-redirect와 파괴적 명령어 차단)

- **Testing(테스트)**: 지정된 테스트 명령어만 허용

현재 단계에 없는 도구를 호출하면, 사용 가능한 도구와 전환 방법을 알려주는 메시지와 함께 거절된다.

로컬 모델 SWE-bench 점수 2/10 → 10/10

개발팀이 공개한 벤치마크 수치는 여기서 갈린다. 5개 과제로 구성된 SWE-bench(소프트웨어 엔지니어링 벤치마크) 서브셋에서, 13.8GB와 19.9GB 두 로컬 모델이 Statewright 제약 없이 2/10에서 제약 적용 후 10/10으로 향상되었다. 동일한 하드웨어, 동일한 과제에서 말이다.

프론티어 모델(예: Claude, GPT-4)은 기본 시스템 프롬프트로 데이터베이스 삭제나 자격 증명 유출 같은 명백한 파괴적 행동을 대부분 방지한다. 그러나 Statewright의 구조적 이점은 더 크다: 읽기-루프 사망 나선을 차단하고, 도구 공간을 30개에서 5개로 줄여 모델이 헤매지 않고 실제 추론에 집중하게 만든다.

MCP 플러그인으로 Claude Code, Codex, Cursor 통합

예전에는 각 코딩 에이전트마다 별도의 도구 제한 로직을 구현해야 했다. 이제는 Statewright가 MCP(Model Context Protocol)를 통해 플러그인 계층을 제공한다. Claude Code, Codex, Cursor, opencode, Pi에서 동일한 워크플로우 정의를 사용할 수 있다.

워크플로우는 JSON 스키마로 정의되며, 에이전트가 `statewright_create_workflow` 도구를 호출해 자동 생성할 수 있다. 시각 편집기(visual editor)에서 도구, 명령어, 환경 블록을 조정할 수 있다.

두 가지 제한 모드가 있다:

- **Hard(강제)**: 프로토콜 계층에서 도구 호출 자체를 차단 (모델이 보기도 전에 차단)

- **Advisory(권고)**: 컨텍스트에 규칙을 주입하지만 강제하지는 않음

가격 및 라이선스

개인 개발자에게는 무료다. 관리형 클라우드(statewright.ai)는 워크플로우 저장, 실행 기록, MCP 게이트웨이를 제공한다. 가격은 변동 가능하지만 인상되지 않으며, 등급별 허용량은 증가만 가능하다.

엔진(crates/engine)은 Apache 2.0 라이선스로, 런타임 의존성 없이 임베드 가능하다. 단일 개발자 및 단일 팀의 전체 스택 자체 호스팅은 FSL(Functional Source License)로 허용된다. 특허 약정(patent pledge)이 포함되어, 독립 구현을 하는 솔로 개발자, 연구자, 오픈소스 프로젝트, 단일 팀 자체 호스팅 배포는 Statewright 소프트웨어를 사용하지 않더라도 보호받는다.

개발자 커뮤니티에서 가장 활발히 논의되는 지점은 "모델을 키우는 대신 문제를 작게 만든다"는 접근법이 실제로 로컬 모델에서 5배 성능 향상을 만들어냈다는 점이다. 프론티어 모델 비용이 계속 상승하는 상황에서, 이는 구조적 대안이 될 수 있다.