Autolith: 라이브 런타임을 갖춘 프로그래밍 에이전트
Autolith는 터미널에서 직접 실행되며 저장소의 파일을 읽고 수정하고, 명령과 테스트를 실행하며, Common Lisp(SBCL) 런타임을 내장한 프로그래밍 에이전트입니다. 실행 중인 자기 자신을 재시작 없이 함수·클래스 단위로 수정할 수 있다는 점이 가장 큰 특징이며, 검사·확장·복구가 가능한 에이전트를 원하는 개발자에게 유용합니다.
Autolith: 라이브 런타임을 갖춘 프로그래밍 에이전트
Autolith는 터미널에서 실행되며 사용자의 저장소에서 직접 작동합니다. 파일을 읽고 편집하고, 워크스페이스를 검색하고, 명령과 테스트를 실행하며, 프로젝트 컨텍스트를 유지하고, 대화를 벗어나지 않고 Common Lisp를 사용할 수 있습니다.
- 저장소 작업: 결과가 눈에 보이는 파일 시스템, 셸, 검색 도구
- 연속성: 휴대 가능한 대화, 메모리, 아젠다, 체크포인트, 복구 기능
- 라이브 Lisp: 검사하고, 테스트하고, 확장할 수 있는 SBCL 런타임
소스 코드 보기 · 세션 예시 보기 · Autolith 설치
검사하고, 확장하고, 복구할 수 있는 에이전트를 원하는 개발자를 위한 도구입니다.
curl -fsSL https://sh.lambda-symbolics.com/autolith | sh
(복사하려면 클릭. 더 좋은 방법은 Nix로 설치하는 것입니다.)
Autolith는 Linux x86-64를 대상으로 합니다. 바이너리 릴리스에는 자체 SBCL, Lisp 의존성, 네이티브 헬퍼가 포함되어 있으며, 새 태그 릴리스가 있는지 확인하고 업데이트 전에 사용자에게 동의를 요청합니다. 처음부터 완전한 빌드를 고정하고 싶다면 Nix가 권장 설치 경로입니다.
물론 URL을 셸에 파이프하는 것은 위험한 행위입니다. 실행하기 전에 설치 스크립트를 반드시 읽으세요. Nix가 더 나은 설치 경로입니다.
Autolith는 모델이 생성한 코드를 사용자 권한으로 실행합니다. 프로세스 경계는 신뢰성을 보호할 뿐 악성 코드로부터 보호하지 않습니다. 보안 샌드박스가 아닌 개발 에이전트로 사용하세요.
Autolith 시작 · 바이너리, Nix, 또는 소스
바이너리 설치 프로그램 사용 후: $ autolith --auth $ autolith
권장 · Nix: $ nix run github:luciusmagn/autolith -- --auth $ nix run github:luciusmagn/autolith
저장소에서 직접 빌드: $ git clone https://github.com/luciusmagn/autolith $ cd autolith $ ./script/bootstrap $ ./script/check $ ./bin/autolith --auth $ ./bin/autolith
소스 코드와 문서 보기 · 캡처된 세션 보기
세션은 구체적인 요청으로 시작됩니다. 이것은 autolith --immutable로 캡처한 읽기 전용 세션입니다. 프롬프트는 저장소 목록 하나를 요청하며, 도구 출력은 Autolith의 일반 터미널 제한에 의해서만 축약되었습니다. 기록은 순서대로 공개됩니다: 요청, 도구 호출, 제한된 결과, 그 후 어시스턴트의 답변. 이것은 시뮬레이션된 채팅 창이 아니라 터미널의 실제 서식입니다.
에이전트와 도구는 하나의 프로세스에서 실행됩니다. Autolith는 다른 에이전트 프로세스를 감싼 래퍼가 아니라 터미널 프로그래밍 에이전트입니다. Common Lisp 이미지 안에 제공자 클라이언트, 터미널 인터페이스, 도구 레지스트리, 대화 상태, 영구 메모리, 워크스페이스 아젠다, 그리고 다음에 무엇을 할지 결정하는 코드가 모두 들어 있습니다. ChatGPT Codex 구독 서비스와 직접 통신하며, Codex CLI는 실행하거나 번들하지 않습니다. 파일 시스템, 셸, 검색, 메모리, Lisp 작업은 모두 결과가 보이는 명시적 도구로 유지됩니다.
빠른 검색, 선택적 불변(immutable) 모드. 워크스페이스 검색은 빠른 Rust 검색 라이브러리인 fff를 통해 프로세스 내에서 실행됩니다. Autolith는 쿼리마다 새 검색 프로세스를 시작하는 대신 인덱스를 계속 따뜻하게 유지합니다. 활성 이미지 변경 없이 검사만 원한다면 --immutable로 시작하세요. 이 모드는 평가, 변경, 지속화, 체크포인트, 롤백 도구를 제외한 채 읽기 전용 검사와 복구 정보를 유지합니다.
재시작 없이 실행 중인 에이전트 업데이트. Autolith는 실행 중인 이미지에서 함수, 메서드, 클래스, 매크로, 컨디션, 전역 설정 전체를 검사하고 교체할 수 있습니다. 실험적 변경은 즉시 효력을 발휘하며 append-only 변경 저널(mutation journal)에 기록됩니다. 이를 실행해보고, 버리거나, 프라이빗 이미지 커밋으로 유지할 수 있습니다. 유용한 변경은 프라이빗 이미지 커밋이 될 수 있으며, 커밋에는 매니페스트와 완전한 실행 가능한 Lisp 리플레이 스크립트가 포함되고 별도의 프라이빗 Git 히스토리에 보관됩니다. 추적 중인 소스 저장소를 조용히 패치하지 않으면서 활성 에이전트를 변경합니다.
대표적인 변경 트랜잭션 예시: → self.source APPLICATION-TOOL-CALL-ENTRY ← 추적 중인 DEFMETHOD 전체 반환 → self.redefine (defmethod application-tool-call-entry ...) ← 활성 이미지에 컴파일 및 설치됨 → self.diff ← 재구성 가능한 라이브 변경 하나 → self.commit "Improve tool-call presentation" ← 프라이빗 이미지...