포스트

re_gent : AI 코딩 에이전트 활동을 추적하는 버전 관리 시스템

목차

  1. 개요
  2. 기본 명령어
  3. 아키텍처와 기술 스택
  4. 설치와 워크플로우
  5. Git과의 비교
  6. 지원 도구와 VSCode 확장
  7. 주요 특징
  8. 결론
  9. Reference

개요

re_gent는 AI 코딩 에이전트의 활동을 추적하는 버전 관리 시스템이다. Git이 개발자의 코드 변경을 관리하듯, re_gent는 Claude Code, OpenAI Codex, OpenCode 같은 AI 에이전트의 모든 작업을 감시하고 기록한다. 이 도구가 해결하려는 핵심 문제는 명확하다. AI 에이전트에게 코드베이스 접근 권한을 주었지만, 정작 에이전트가 무엇을 했는지 추적할 방법이 없었다는 것이다.

re_gent는 에이전트가 변경한 파일과 라인뿐 아니라, 그 변경을 유발한 프롬프트와 대화 기록까지 함께 보존한다. 덕분에 코드의 각 라인이 어떤 맥락에서 생성됐는지 사후에 추적할 수 있다. 프로젝트는 Apache License 2.0으로 공개되어 있으며, 747개의 스타와 52개의 포크, 5개의 릴리스를 기록하고 있다.

기본 명령어

re_gent는 Git의 사용 경험과 유사하게 설계되어, 익숙한 명령어 패턴으로 에이전트 활동을 조회할 수 있다.

세 가지 핵심 명령어

다음 세 가지 명령어가 re_gent의 기본 조작을 구성한다.

명령어설명
rgt log에이전트의 활동 이력을 조회한다
rgt blame각 코드 라인이 어느 프롬프트에서 생성됐는지 추적한다
rgt show특정 단계의 전체 컨텍스트와 대화 내용을 확인한다

rgt blame은 Git의 blame과 개념이 유사하지만, 라인의 작성자를 사람이 아니라 프롬프트 기준으로 추적한다는 점이 다르다. rgt show는 단일 단계에 담긴 모든 맥락을 펼쳐 보여준다.

세션 관리

re_gent는 여러 AI 에이전트가 동시에 작업하는 상황을 전제로 설계됐다. 각 세션은 독립적으로 추적되며, 서로의 작업 이력이 뒤섞이지 않는다. 활성 세션 목록은 rgt sessions 명령어로 확인할 수 있다.

특히 Claude Code의 “/compact”나 “/clear” 명령으로 대화 컨텍스트가 압축되거나 초기화된 이후에도, re_gent는 이전 대화 기록을 그대로 유지한다. 에이전트 내부의 컨텍스트가 사라져도 추적 데이터는 보존되는 구조다.

상세 추적

re_gent는 작업을 Step(단계) 단위로 기록하며, 각 Step에 다음 정보를 함께 담는다.

추적 항목내용
파일 변경변경된 파일과 라인 수
사용 도구Edit, Write, Bash 등 호출된 도구
실행 메타데이터실행 시각과 세션 ID
대화 이력해당 단계의 완전한 대화 내용

이 정보들이 모여 어떤 프롬프트가 어떤 코드 변경으로 이어졌는지를 끝까지 재구성할 수 있게 한다.

아키텍처와 기술 스택

re_gent는 Git처럼 프로젝트 루트에 전용 디렉토리를 두고 모든 추적 데이터를 관리한다.

저장소 구조

추적 데이터는 .regent/ 디렉토리에 저장되며, 내부 구성은 다음과 같다.

경로역할
objects/BLAKE3 해싱을 통한 내용 주소 지정 blob 저장
refs/세션별 포인터
index.dbSQLite 쿼리 인덱스
config.toml설정 파일

각 Step은 DAG(방향성 비순환 그래프) 형태로 연결된다. 하나의 Step 노드는 부모 단계의 해시, 작업 공간 스냅샷, 도구 호출과 그 결과, 세션 ID와 타임스탬프를 포함한다. 부모 해시를 통해 단계 간 인과 관계가 그래프로 이어지며, 세션별로 독립된 DAG가 형성된다.

기술 스택

re_gent는 Go 기반으로 구현됐으며, 코드베이스의 98.6%가 Go로 작성되어 있다.

구성 요소사용 기술
CLI 프레임워크Cobra
해싱BLAKE3, 내용 기반 중복 제거
Diff 알고리즘Myers diff, go-diff
데이터베이스Pure Go SQLite, modernc.org/sqlite
언어Go 98.6%, Shell, Makefile

Pure Go SQLite를 사용하기 때문에 별도의 CGO 의존성 없이 단일 바이너리로 동작한다. BLAKE3 해싱은 동일한 내용의 blob을 자동으로 중복 제거하는 기반이 된다.

설치와 워크플로우

re_gent는 두 가지 방식으로 설치할 수 있으며, 사용 흐름은 Git과 매우 유사하다.

설치

Homebrew를 사용하는 경우 tap을 추가한 뒤 설치한다.

1
2
brew tap regent-vcs/tap
brew install regent

Go 환경이 있다면 go install로 바로 설치할 수 있다.

1
go install github.com/regent-vcs/regent/cmd/rgt@latest

기본 워크플로우

프로젝트 초기화부터 추적 조회까지의 흐름은 다음과 같다.

1
2
3
4
5
rgt init                       # 프로젝트 초기화 (git init처럼)
# AI 에이전트가 평상시처럼 작업하면 자동으로 추적된다
rgt log                        # 변경사항 확인
rgt blame src/handler.go:42    # 특정 라인의 출처 확인
rgt show a1b2c3d               # 상세 정보 조회

rgt init으로 프로젝트를 초기화하면, 이후 AI 에이전트는 평소처럼 작업하면 된다. re_gent는 자동 훅 설정을 통해 별도 조작 없이 에이전트의 작업을 추적한다. 변경사항은 rgt log로 확인하고, 특정 라인의 출처는 rgt blame으로, 단계별 상세 정보는 rgt show로 들여다본다.

Git과의 비교

re_gent는 Git을 대체하는 도구가 아니다. Git이 코드 자체의 변경 이력을 관리한다면, re_gent는 그 변경을 누가 왜 만들었는지에 대한 맥락을 함께 관리한다. 두 도구는 함께 사용하도록 설계됐다.

항목Gitre_gent
코드 추적지원지원
에이전트 활동 추적미지원지원
프롬프트 정보미지원지원
대화 기록미지원지원
동시 세션 관리미지원지원

Git이 다루지 못하는 영역, 즉 어떤 프롬프트가 어떤 코드로 이어졌고 그 과정에서 어떤 대화가 오갔는지를 re_gent가 보완한다.

지원 도구와 VSCode 확장

re_gent는 주요 AI 코딩 에이전트를 지원하며, 일부 도구는 지원이 계획 단계에 있다.

도구지원 상태
Claude Code완전 지원
OpenAI Codex CLI완전 지원
OpenCode완전 지원
Cursor계획 중
Cline계획 중
Continue계획 중

VSCode 확장도 제공되어, 추적 데이터를 에디터 안에서 바로 활용할 수 있다. 확장은 다음 기능을 제공한다.

기능설명
인라인 blame 어노테이션코드 라인 옆에 출처 정보를 표시
호버 컨텍스트마우스를 올리면 전체 컨텍스트를 표시
세션 타임라인 사이드바세션별 작업 흐름을 시간순으로 표시
대화 이력 접근원클릭으로 대화 기록을 조회

주요 특징

re_gent의 설계상 강점은 성능과 동시성, 그리고 무설정 운영에 있다.

특징설명
내용 주소 지정 저장소동일 내용 blob을 자동 중복 제거
SQLite 인덱스10ms 이하의 빠른 조회
세션별 DAG세션마다 독립된 작업 그래프
동시성 안전성CAS refs와 ACID 트랜잭션 기반
자동 훅 설정별도 설정 없이 동작하는 zero configuration

내용 주소 지정 저장소는 BLAKE3 해시를 키로 사용하여 같은 데이터를 두 번 저장하지 않는다. SQLite 인덱스 덕분에 이력 조회는 10ms 미만으로 응답한다. CAS(Compare-And-Swap) 기반 refs와 ACID 트랜잭션은 여러 세션이 동시에 기록할 때도 데이터 일관성을 보장한다.

결론

re_gent는 AI 코딩 에이전트 시대에 새롭게 떠오른 추적 가능성 문제를 정면으로 다루는 도구다. 에이전트가 코드를 자율적으로 수정하는 상황에서, 무엇이 어떤 프롬프트로 인해 바뀌었는지를 사후에 재구성할 수 있게 한다. Go 단일 바이너리로 가볍게 동작하며, BLAKE3 내용 주소 지정과 SQLite 인덱스로 성능을 확보하고, 세션별 DAG로 동시 작업을 안전하게 추적한다. Git을 대체하지 않고 보완하는 위치에 서 있다는 점에서, 기존 워크플로우에 부담 없이 더할 수 있는 도구다. 프로젝트는 Apache License 2.0으로 공개되어 있으며, Discord와 GitHub Discussions를 통해 커뮤니티가 운영되고 있다.

Reference