TREX: 코드를 직접 실행해 보는 AI 코드 리뷰어
TREX: An AI code reviewer that runs your code
TL;DR Highlight
diff만 읽던 AI 리뷰에 샌드박스 실행과 증거 자료를 붙였다
Who Should Read
AI 코드 리뷰나 코딩 에이전트를 도입했지만 런타임에서만 터지는 버그를 놓쳐 고민인 백엔드·풀스택 개발자
Core Mechanics
- 정적 리뷰에는 한계가 있다
- 코드가 무엇을 말하는지는 추론할 수 있어도 실제로 무엇을 하는지는 알 수 없다.
- 특정 상태 순서가 필요한 로직 오류, 페이지 로드 뒤 생기는 UI 회귀, 실제 요청이 필요한 레이스 컨디션(race condition, 타이밍에 따라 터지는 버그)이 예시다.
- 테스트 생성 ≠ 버그 발견
- 처음엔 테스트를 만들고 돌리는 별도 에이전트로 시작했는데 버그가 나오지 않았다.
- 테스트가 사용자 의도와 무관해 노이즈가 생겼고 엣지 케이스도 놓쳤다.
- 에이전트 분리·통합 둘 다 실패했다
- 따로 둔 에이전트들은 서로 발견한 걸 몰라 같은 코드를 두 번 탐색했고 컴퓨팅만 낭비했다.
- 하나로 합치니 서비스 기동, 스크린샷, 테스트 실행까지 맡아 컨텍스트가 과부하됐다.
- 오케스트레이터가 이슈별 서브에이전트를 띄운다
- 메인 리뷰어가 diff를 읽고 조사할 이슈를 골라 이슈마다 TREX 에이전트를 병렬로 실행한다.
- 서브에이전트는 메인이 찾은 내용을 물려받고 자기만의 컨텍스트 윈도우를 가진다.
- 불릿 요약은 검증이 안 된다
- 초기 에이전트는 해 보지도 않은 테스트를 했다고 주장하기도 했다.
- 그래서 finding마다 스크린샷, 로그, API 트레이스, 실행 스크립트, 영상을 증거로 붙인다.
- 리뷰마다 일회용 샌드박스를 쓴다
- 리뷰마다 격리된 컴퓨트 인스턴스를 새로 띄우고 끝나면 버린다.
- 베이스 이미지와 저장소별 스냅샷으로 속도를 내되, 매번 정확한 PR 커밋을 가져오고 자격 증명을 교체한다.
- 모델 종속을 피하는 하네스를 만들었다
- 메인과 서브에이전트가 서로 다른 제공자 모델을 쓸 수 있다.
- 오픈소스 평가 하네스는 각 제공자 네이티브 하네스와 동등한 성능이라고 한다.
Community Reactions
- 실행 환경이 에이전트 품질을 크게 올린다는 경험
- 샌드박스 실행, 브라우저·API 조작, 비전 모델로 출력 확인을 붙이면 코딩 에이전트의 피드백 루프 구멍이 메워진다는 댓글이 있었다.
- 도커 컨테이너로 전체 스택을 띄워 화상 통화 솔루션에 오디오·영상을 주입해 E2E 테스트까지 시킨 사례도 있었다.
- 외부 의존성은 어떻게 다루냐는 질문
- S3 버킷, 시크릿 매니저, 서드파티 API가 많은 프로젝트에서 어떻게 동작하는지 묻는 댓글이 있었다.
- 보안 공격 가능성을 우려하는 의견
- 코드를 실행하는 구조라 누군가 곧 뚫지 않을까 하는 댓글이 있었다.
How to Apply
- 오늘 PR 하나를 에이전트에 실행시켜 보기
- 최근 PR의 diff와 재현 절차를 아래 프롬프트로 코딩 에이전트에 넘겨라.
- 읽기만 한 결론과 실제 실행한 증거를 구분해서 보고하게 하라.
- 리뷰 결과에 증거 첨부를 필수로 만들기
- 에이전트 리뷰 코멘트 템플릿에 실행 명령, 로그, 스크린샷 경로 항목을 넣어라.
- 증거 없는 "테스트했음" 주장은 반려하도록 규칙을 정하라.
- 이슈별 서브에이전트로 쪼개기
- 메인 에이전트가 diff에서 의심 지점을 목록화하게 하라.
- 각 지점을 별도 컨텍스트의 서브에이전트에 병렬로 맡기고 메인 발견을 요약해 넘겨라.
- 일회용 샌드박스에서 리뷰 돌리기
- PR마다 컨테이너를 새로 띄우고 정확한 커밋을 체크아웃하라.
- 끝나면 폐기하고, 캐시는 의존성 설치 수준만 남겨 오래된 상태가 섞이지 않게 하라.
Try It
# Claude Code 또는 코딩 에이전트(샌드박스/로컬 체크아웃 가능)에 붙여넣기 — TREX 방식의 간이 버전
당신은 코드 리뷰어입니다. 읽기만 하지 말고 실제로 실행해서 검증하세요.
[변경 내용]
{{diff 또는 PR 링크}}
[절차]
1. diff를 읽고 런타임에서만 드러날 수 있는 의심 지점(상태 순서, 로드 후 UI, 레이스 컨디션, 실제 요청)을 최대 3개 고르세요.
2. 지점마다 재현 방법을 정해 실제로 실행하세요. 환경 구성(인증, feature flag 포함)도 직접 해결하세요.
3. 지점마다 아래 형식으로 보고하세요.
- 의심 내용:
- 실행한 명령/스크립트(그대로):
- 로그/출력 원문:
- 결과: 버그 확인 / 정상 동작 확인 / 실행 못함(이유)
[규칙]
- 실행하지 않은 것은 "실행함"이라고 쓰지 마세요.
- 실패 시 설정 문제, assertion 문제, 환경 문제 중 어디인지 구분하세요.
- 정상 동작도 증거와 함께 "테스트됨"으로 기록하세요.Terminology
관련 논문
GPT-5.6 Sol, 평화 모드 Factorio를 13.5시간에 클리어
GPT-5.6 Sol이 Codex 낮은 사고 수준으로 평화 모드 Factorio 로켓 발사까지 갔다
AI가 SRE를 대체하는 게 아니라 실력을 깎아먹는다
인시던트 95%를 AI에 맡기자 나머지 5%를 다룰 SRE의 실력이 녹슬 수 있다
Cursor Marketplace의 Claude Code 확장에 심어진 SSH 백도어
Cursor Marketplace의 변조된 Claude Code 확장이 SSH 백도어를 심었다
AI-native 엔지니어링 조직 만들기: FurtherAI 9개월 회고
배포 전 과정을 단계별로 자동화하자 엔지니어 1인당 일일 머지가 약 5배 늘었다
Minecraft·Mindustry에서 AI 에이전트 군집 50마리를 돌려 봤다
에이전트 50개를 Minecraft에 풀었더니 배급 장부와 관료제가 생겼다
Cursor Agent SDK 출시: 에이전트를 코드로 정의하고 한 줄로 배포
Cursor가 에이전트를 코드로 정의·배포하는 Agent SDK를 정식 공개했다
에이전트가 코드를 짜는 시대, 엔지니어가 여전히 알아야 할 것: 기초·폭넓은 지식·필요할 때 깊이 파기
에이전트가 짠 코드의 오너십은 기초, 폭넓은 지식, 즉시 깊이 파는 능력에 달렸다
AI가 일을 줄여준다더니, 이렇게 많이 일한 적이 없다
에이전트를 병렬로 돌렸더니 GitHub 활동이 엔지니어 시절 수준으로 돌아왔다