TL;DR

  • Spens는 코딩 에이전트를 Docker 샌드박스에서 실행하고 네트워크 호출, 도구 사용, 파일 변경을 기록하는 도구임.
  • 설치에는 Python 3.11 이상과 Docker가 필요하며, macOS에서는 OrbStack도 필요함.
  • 프로젝트 디렉터리에서 spens init을 실행해 도메인 규칙과 시크릿 주입을 설정함.
  • 환경과 에이전트를 선택해 워크스페이스를 대상으로 실행하며, 세션이 끝나면 로컬 로그 뷰어에서 작업을 검토함.
  • 네트워크 허용 규칙과 시크릿 대체 기능을 제공하며, 자율 실행 후 파일 변경을 수락하거나 되돌릴 수 있음.

시작하기

  • 설치에는 Python 3.11 이상과 Docker가 필요하며, macOS에서는 OrbStack이 필요함. pip 또는 uv로 spens-ai를 설치함.
  • 설정은 프로젝트 디렉터리에서 spens init을 실행해 도메인 규칙과 시크릿 주입을 구성하는 방식임.
  • 에이전트 실행은 환경과 에이전트를 선택하고 워크스페이스 경로를 지정하는 방식임. 세션 종료 후 로그 뷰어에서 전체 기록을 검토함.

Spens가 제공하는 기능

  • 보안: 에이전트는 호스트 머신과 격리된 샌드박스에서 권한이 제한된 사용자로 실행되며, 홈 디렉터리와 시스템 파일에 접근할 수 없음.
  • 관측 가능성: 모든 LLM API 호출, 도구 호출, HTTP 요청, 파일 변경을 기록함. 세션 후 로컬 웹 뷰어에서 에이전트의 작업을 한 줄씩 확인함.
  • 네트워크 제어: 에이전트가 접속할 수 있는 도메인과 사용할 수 있는 HTTP 메서드를 지정함. HTTP가 아닌 프로토콜은 항상 차단되며, 도메인 규칙을 설정하면 명시적으로 허용하지 않은 호스트도 차단됨.
  • 시크릿 처리: API 키는 에이전트 컨테이너에 들어가지 않음. 에이전트에는 자리표시자만 보이며, 승인된 도메인으로 보내는 요청에 한해 실제 키로 대체됨.
  • 자율 실행의 신뢰성: 프롬프트를 제공해 에이전트를 무인 실행 모드(“yolo mode”)로 실행한 뒤 전체 로그를 검토하고 파일 변경을 수락하거나 되돌림.