Show HN: AI 에이전트를 위한 Git
요약
Regent은 AI 에이전트의 활동을 추적하고 감사하기 위해 설계된 전용 버전 관리 시스템입니다. 에이전트가 수행한 작업 단계, 사용된 프롬프트, 변경된 코드의 컨텍스트를 자동으로 캡처하여 개발자가 에이전트의 작업 내용을 명확히 검토할 수 있도록 돕습니다.
핵심 포인트
- 에이전트의 모든 작업 단계(turn)를 수동 커밋 없이 자동으로 캡처
- rgt blame 기능을 통해 특정 코드 라인을 작성한 프롬프트 추적 가능
- rgt log 및 rgt show를 통한 작업 이력 및 전체 컨텍스트 검사 지원
- 여러 개의 동시 세션을 추적할 수 있는 기능 제공
빠른 시작 (Quick Start)
# Homebrew를 통한 설치 (macOS/Linux)
brew tap regent-vcs/tap
brew install regent
...
끝입니다. 이제 에이전트의 활동을 감사 (auditable)할 수 있습니다.
데모 (Demo)
<div align="center"> <p><em>모든 에이전트 턴 (turn)이 자동으로 캡처됩니다. 수동 커밋 (commit)은 필요하지 않습니다.</em></p> </div>제공 기능
에이전트가 실제로 무엇을 했는지 확인
$ rgt log
Step a1b2c3d | 2분 전 | 도구 (Tool): Edit
...
Blame: 어떤 프롬프트가 이 줄을 작성했는가?
$ rgt blame src/handler.go:42
Line 42: func handleRequest(w http.ResponseWriter, r *http.Request) {
...
여러 개의 동시 세션 (concurrent sessions) 추적
$ rgt sessions
활성 세션 (Active Sessions):
...
모든 변경 사항에 대한 전체 컨텍스트 (full context) 확인
$ rgt show a1b2c3d
Step a1b2c3d4e5f6
...
존재 이유
AI 에이전트들은 자신들만의 버전 관리 (version control) 시스템이 없습니다.
여러분은 다음과 같은 고통을 알고 있습니다:
- *"5분 전에는 잘 작동했는데"
- "왜 그 파일을 변경했지?"
- *"리팩터링 (refactor) 하기 전으로 되돌려줘"
/compact를 입력하고 기도하기- 새로운 채팅창에 코드를 복사해서 붙여넣기
이미 존재했어야 할 세 가지 기본 요소 (primitives):
rgt log— 이 세션이 무엇을 했는가?rgt blame— 어떤 프롬프트가 이 줄을 작성했는가?rgt show— 모든 단계의 전체 컨텍스트를 검사하라
우리는 에이전트에게 우리 코드베이스 (codebases)에 대한 쓰기 권한을 주었습니다. 하지만 그들을 위한 Git은 주지 않았습니다. re_gent가 그 문제를 해결합니다.
작동 방식
re_gent는 에이전트 활동을 .regent/ 디렉토리에 저장합니다 (.git/과 유사):
.regent/
├── objects/ # 콘텐츠 주소 지정된 블롭 (BLOBs, BLAKE3)
├── refs/ # 세션 포인터 (에이전트당 하나씩)
...
도구를 사용하는 모든 턴(turn)은 **스텝 (Step)**을 생성합니다. 이는 무엇이, 왜, 누구에 의해 변경되었는지에 대한 콘텐츠 주소 지정된 스냅샷 (content-addressed snapshot)입니다:
Step {
parent: <이전-스텝-해시>
tree: <워크스페이스-스냅샷>
...
스텝들은 **DAG (Directed Acyclic Graph, 유향 비순환 그래프)**를 형성합니다. 각 세션은 고유한 브랜치 (branch)를 가집니다. 공통 조상 (common ancestors)을 통해 중복을 제거합니다. 이를 통해 에이전트 활동에 대해 Git 수준의 감사 가능성 (auditability)을 확보할 수 있습니다.
기술적 세부 사항: 전체 사양은 POC.md를 참조하세요.
설치 방법
Homebrew를 통한 설치 (macOS/Linux)
brew tap regent-vcs/tap
brew install regent
이 명령은 rgt 커맨드를 설치하고 bash, zsh, fish를 위한 셸 완성 (shell completions)을 자동으로 설정합니다.
Go Install을 통한 설치
go install github.com/regent-vcs/regent/cmd/rgt@latest
셸 완성 (수동 설정):
# Bash
rgt completion bash > /usr/local/etc/bash_completion.d/rgt
...
소스 코드를 통한 설치
git clone https://github.com/regent-vcs/regent
cd regent
go build -o rgt ./cmd/rgt
...
바이너리 릴리스 (Binary Releases)
GitHub Releases에서 미리 빌드된 바이너리를 다운로드하세요.
지원되는 도구
| 도구 | 상태 |
|---|---|
| Claude Code | 완벽 지원 |
| ... |
훅 (Hooks)은 rgt init 시 자동으로 구성됩니다. 수동 설정이 필요하지 않습니다.
커맨드
| 커맨드 | 설명 |
|---|---|
rgt init | 현재 디렉토리에 .regent/ 초기화 |
| ... |
기능
기능
- Content-Addressed Storage (콘텐츠 주소 지정 저장소) — BLAKE3 해싱 (hashing), 자동 중복 제거 (deduplication)
- Fast Queries (빠른 쿼리) — SQLite 인덱스, 10ms 미만의 조회 (lookups)
- Per-Session DAG (세션별 DAG) — 별도의 참조 (refs)로 추적되는 동시 세션
- Conversation Tracking (대화 추적) —
/compact및/clear명령 후에도 유지 - Hook-Driven (훅 기반) — Claude Code, Codex, OpenCode의 투명한 통합
- Zero Configuration (설정 불필요) —
rgt init시 훅 (hooks) 자동 구성 - Concurrency-Safe (동시성 안전) — CAS 참조 (refs), ACID 트랜잭션 (transactions)
- Gitignore-Compatible (Gitignore 호환) —
.regentignore지원
에디터 통합 (Editor Integration)
VSCode 확장 프로그램 (VSCode Extension)
에디터에서 직접 인라인 블레임 주석 (inline blame annotations)을 확인하세요:
# VSIX로부터 설치 (권장)
# 최신 .vsix 파일을 다음에서 다운로드하세요:
# https://github.com/regent-vcs/vscode-regent/releases
...
기능:
- 어떤 단계가 각 라인을 수정했는지 보여주는 인라인 블레임 주석 (inline blame annotations)
- 전체 단계 컨텍스트(타임스탬프, 도구 이름, 인자)를 포함한 호버 툴팁 (hover tooltips)
- 사이드바의 세션 타임라인 뷰 (session timeline view)
- 클릭 한 번으로 대화 기록 (conversation history)에 접근
요구 사항: rgt CLI가 설치되어 있어야 하며, 프로젝트에서 rgt init이 실행되어 있어야 합니다.
re_gent vs Git
| Git | re_gent | |
|---|---|---|
| 코드 추적 (Tracks code) | ✅ | ✅ |
| ... | ||
| re_gent은 Git을 대체하는 것이 아니라 보완합니다. 두 가지를 모두 사용하세요. |
로드맵 (Roadmap)
다음 기능을 포함하여 계획된 기능은 ROADMAP.md를 참조하세요:
- 비파괴적 되감기 (non-destructive rewind) 및 포크 (fork) 작업
- 추가 도구 어댑터 (Cursor, Cline, Continue)
- 세션 공유 및 병합 (merge) 지원
- 가비지 컬렉션 (garbage collection) 및 무결성 검증 (integrity verification)
기여하기 (Contributing)
기여를 환영합니다! 가이드라인은 CONTRIBUTING.md를 참조하세요.
빠른 시작 (Quick Start):
- QUICK_START.md — 5분 설정 가이드
- Good first issues
PR을 열기 전에:
- 테스트 통과:
go test ./...및go test -race ./... - 린터 (Linter) 통과:
golangci-lint run - 코드 포맷팅 완료:
go fmt ./...
사용된 기술
- cobra — CLI 프레임워크
- blake3 — BLAKE3 해싱
- go-diff — Myers diff
- modernc.org/sqlite — 순수 Go SQLite
라이선스
<div align="center"> <p> <sub style="font-size: smaller;">Built by <a href="https://github.com/regent-vcs/regent/graphs/contributors">기여자들</a></sub> </p> <p> <a href="https://discord.gg/Unf24KMh">Discord</a> • <a href="https://github.com/regent-vcs/regent/discussions">토론</a> • <a href="https://github.com/regent-vcs/regent/issues">이슈</a> • <a href="POC.md">기술 사양</a> </p> </div>AI 자동 생성 콘텐츠
본 콘텐츠는 HN OpenAI Codex의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기