SponsioLabs/Sponsio
Deterministic safety solutions for probabilistic AI agents
Sponsio – AI 에이전트를 위한 런타임 가드레일
개요 – Sponsio는 LLM 기반 에이전트(LangChain, Claude, OpenAI, CrewAI 봇 등)와 에이전트가 호출하려는 도구 사이에 위치하는 경량 오픈소스 라이브러리입니다. 모든 도구 호출에 대해 '계약'(형식 메서드 기반의 결정론적 규칙)을 평가하여 호출을 통과, 차단, 경고 또는 에스컬레이션할 수 있습니다. 검사는 마이크로초 단위로 실행되며 다른 모델을 호출하지 않으므로 'LLM-as-judge' 방식보다 훨씬 저렴하고 예측 가능합니다.
핵심 개념
| 개념 | 설명 |
|---|---|
| 에이전트 계약 | 각 에이전트 작업에 강제 적용되는 런타임 규칙(소형 YAML DSL로 표현). 계약은 현재 호출 및 이전 호출 기록을 참조할 수 있어 '사용자가 검증된 후에만 환불 발행'과 같은 정책을 구현할 수 있습니다. |
| 결정론적 강제 적용 | 계약은 퍼지 선형 시상 논리(LTL) 모니터로 컴파일됩니다. 모니터는 LLM 추론 없이 < 0.01ms 이내에 호출 허용 여부를 결정합니다. |
| 형식 메서드 지원 | 규칙 언어는 증명 가능하게 건전하도록 설계되었으며, 문서에는 기본 형식 메서드에 대한 입문서가 포함되어 있습니다. |
| 확장 가능한 계약 라이브러리 | 22개의 기성 번들(destructive, shell, filesystem 등)이 일반적인 위험 패턴을 다룹니다. 번들은 YAML 포함 파일이므로 새 번들 추가는 한 줄 변경으로 가능합니다. |
| 로컬 우선, 선택적 클라우드 콘솔 | 강제 적용은 호스트 머신에서 완전히 실행됩니다. 호스팅 콘솔(app.sponsio.dev)을 사용하여 실행 상태를 확인하고, 규칙북을 검토하며, 검증된 계약을 게시할 수 있습니다. |
작동 방식(개요)
- 온보딩 –
sponsio init .을 실행하거나 Claude/Code용 원샷 프롬프트를 사용하면 마법사가sponsio.yaml을 생성하고 프레임워크(LangChain, CrewAI 등)를 감지하여 적절한 래퍼 코드를 주입합니다. - 에이전트 래핑 – SDK를 가져와 가드를 연결합니다:
import sponsio, sponsio.bridge guard = sponsio.Sponsio(config="sponsio.yaml", agent_id="mailer", mode="enforce") run = sponsio.bridge.attach(guard) # 이후 모든 도구 호출은 가드를 통과합니다 - 계약 평가 – 도구 호출마다 모니터는 관련 계약(예: '코드 동결 중 파괴적 SQL 금지')을 확인합니다. 결정은 즉시 반환됩니다(p50 ≈ 0.005ms).
- 감사 및 검토 – 모든 결정은 로컬에 기록되며 선택적으로 호스팅 콘솔로 스트리밍되어 사람이 규칙북을 활성화하기 전에 승인하거나 편집할 수 있습니다.
퀵스타트(Python 예시)
pip install --pre sponsio # TypeScript의 경우 npm i -D @sponsio/sdk@alpha
sponsio init . # 마법사가 sponsio.yaml을 생성합니다
sponsio.yaml에 번들을 추가합니다:
agents:
my_agent:
workspace: "/srv/my-bot"
include:
- sponsio:capability/destructive
- sponsio:capability/filesystem
위와 같이 에이전트를 실행합니다. 이제 계약에서 명시적으로 허용하지 않는 한 파괴적인 SQL이나 안전하지 않은 파일 시스템 작업은 차단됩니다.
성능 및 안전성 수치(리포지토리 기준)
| 벤치마크 | 지표 | 결과 |
|---|---|---|
| ODCV-Bench (12개 최첨단 LLM × 80개 궤적) | 방지된 잘못된 정렬 | 95.6 % 평균, 24개 고위험 시나리오에서 100 % |
| Financial-Audit-Fraud-Finding | 차단된 사기 시도 | 18/19 차단 |
| RedCode-Exec (1,410건) | 종합 통과율 | 98.9 % (로컬), 클라우드 LLM-judge 병용 시 ~99 % |
| 계약당 지연 시간 | p50 | 0.0052 ms |
| 최대 부하(호출당 19개 계약) | p50 | 0.139 ms |
| LLM-as-judge 비교 | 지연 시간 | 5,000~60,000배 빠름 (모델 호출 없음) |
Sponsio 사용 대상
- 플랫폼 팀: LLM 에이전트를 최종 사용자에게 노출하며(SaaS 코드 어시스턴트, 자율 봇 등) 결정론적인 안전 보장이 필요한 팀.
- 기업: 지연 시간을 늘리지 않고 규정 준수 정책(데이터 유출 방지, 파괴적 DB 쓰기 금지 등)을 강제해야 하는 기업.
- 개발자: 임시 프롬프트 검사를 작성하는 대신 플러그 앤 플레이 가드레일을 원하는 사용자 지정 도구 호출 루프를 구축하는 개발자.
설치 및 생태계
| 언어 | 패키지 | 설치 명령어 |
|---|---|---|
| Python | sponsio (프리릴리스) |
pip install --pre sponsio |
| TypeScript/JavaScript | @sponsio/sdk (alpha) |
npm install -D @sponsio/sdk@alpha |
지원되는 통합에는 LangChain, Claude Agents, OpenAI Agents, Google ADK, CrewAI, Vercel AI, MCP 및 모든 사용자 지정 도구 호출 루프가 포함됩니다.
기여 및 커뮤니티
- 문제 및 기능 아이디어 – GitHub Issue를 여세요.
- 계약 기여 – 새로운 YAML 번들이나 패턴을 추가하세요. 리포지토리는 커뮤니티 주도의 사건별 계약을 권장합니다.
- 토론 – Discord, X(구 Twitter), LinkedIn 링크가 README에 제공됩니다.
라이선스
Apache 2.0 – 상업적 및 비상업적 용도로 무료입니다.
결론: Sponsio는 LLM 에이전트에 대해 결정론적이고 서브밀리초 단위의 안전 검사를 제공하여, 느리고 확률적인 LLM 기반 가드로는 구현할 수 없는 정책을 강제할 수 있게 합니다. 인기 있는 에이전트 프레임워크에서 즉시 사용할 수 있으며 모든 도메인의 사용자 지정 계약으로 확장 가능합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트