TREX: 코드를 직접 실행하는 AI 코드 리뷰어
TREX: An AI code reviewer that runs your code
TL;DR Highlight
Greptile가 PR 리뷰 시 코드를 실제로 실행해서 런타임 버그까지 잡아주는 TREX를 공개했다. 정적 분석만으로는 발견할 수 없는 race condition, UI 회귀, 상태 의존 로직 버그까지 커버한다.
Who Should Read
AI 코드 리뷰 도구를 팀에 도입하려는 개발자, 또는 복잡한 코드베이스에서 런타임 버그를 자동으로 탐지하는 파이프라인을 구축하고 싶은 엔지니어링 리드.
Core Mechanics
- 기존 AI 코드 리뷰 도구들은 diff를 '읽기'만 한다. 코드에서 명백하게 드러나는 버그는 잡을 수 있지만, 특정 실행 상태나 타이밍에서만 나타나는 race condition, 페이지 로드 후 발생하는 UI 회귀, 특정 요청이 있어야 재현되는 버그는 코드를 아무리 잘 읽어도 놓친다.
- TREX(Test, Run, Execute)는 이 문제를 해결하기 위해 코드 실행을 리뷰 과정에 직접 통합했다. PR을 리뷰하면서 코드를 실제로 돌려보고, 무엇이 잘못됐는지 결과물(스크린샷, 로그 등)로 보여준다.
- 초기에는 TREX를 Greptile 리뷰어와 완전히 분리된 독립 에이전트로 만들었는데, 이 접근이 실패했다. 두 에이전트가 컨텍스트를 공유하지 않다 보니 코드베이스의 같은 부분을 중복 탐색하고, TREX가 생성하는 테스트가 사용자가 원하는 것과 관련 없는 노이즈가 되는 문제가 생겼다.
- 반대로 두 에이전트를 하나로 합쳤더니 이번엔 단일 에이전트가 서비스 실행, 스크린샷 촬영, 테스트 실행을 동시에 처리하다 컨텍스트 윈도우가 과부하되는 문제가 생겼다.
- 최종 해결책은 '오케스트레이터-서브에이전트' 구조다. Greptile 리뷰어 에이전트가 오케스트레이터 역할을 하면서 diff를 읽고 조사할 이슈를 식별하면, 이슈별로 전용 TREX 서브에이전트를 병렬로 생성한다. TREX 에이전트는 오케스트레이터가 이미 발견한 내용을 상속받아 시작하므로 중복 탐색이 없다.
- auth gate 뒤에 숨겨진 UI 기능 테스트를 예로 들면, 서브에이전트가 환경 세팅, 인증 처리, 피처 플래그 설정을 스스로 해결하고 렌더링된 화면의 스크린샷을 결과물로 가져온다.
- 초기 결과물은 '체크아웃 플로우 테스트 결과 실패'같은 단순 텍스트 bullet point였는데, 이걸로는 컨텍스트가 부족해서 멀티모달 아티팩트(스크린샷, 렌더링된 diff, 실행 로그 등 시각적 증거)를 함께 제공하는 방식으로 개선했다.
- 모델에 종속되지 않는 평가 하네스(evaluation harness)를 따로 구축했다. 특정 모델에 맞게 튜닝하면 다른 모델로 교체할 때 성능이 달라지는 문제를 피하기 위해, 어떤 모델을 써도 일관된 방식으로 성능을 측정할 수 있게 설계했다.
Evidence
- 실제로 유사한 방식을 구현해본 개발자가 '코드 실행 결과로 피드백 루프를 닫는 것이 복잡한 코드베이스에서 에이전트 품질과 신뢰성을 크게 높인다'는 경험을 공유했다. 샌드박스 안에서 브라우저를 직접 조작하거나 API 호출, 비전 모델로 시각적 결과를 확인하는 방식이 효과적이라고 덧붙였다.
- 같은 댓글에서 실제 사례로 앱, API, DB, 큐를 Docker 컨테이너로 전체 스택을 띄운 뒤, 가상 사용자처럼 Google Meet에 연결해 오디오와 비디오를 주입하며 end-to-end 영상통화 플로우를 테스트하는 수준까지 구현했다고 밝혔다. 아직 완벽하진 않지만 AI 에이전트의 가능성에 회의적인 사람이라면 직접 써보길 권한다고 했다.
- 외부 의존성(S3 버킷, Secret Manager, 서드파티 API 등)이 많은 프로젝트에서는 어떻게 동작하는지에 대한 질문이 있었으나, 원문이나 다른 댓글에서 명확한 답변은 나오지 않았다. 실제 도입 시 외부 서비스 모킹 전략이 필요한 부분이다.
- 코드를 실제로 실행하는 구조다 보니 보안 취약점에 대한 우려도 제기됐다. '이걸 언제 누가 뚫을까'라는 댓글이 달렸는데, 악의적인 PR 코드가 실행 환경을 탈출하거나 샌드박스를 악용할 가능성에 대한 우려다.
How to Apply
- 팀에서 런타임에서만 재현되는 버그(race condition, 상태 의존 로직, UI 회귀)를 PR 단계에서 잡지 못해 production으로 넘어가는 경우가 잦다면, Greptile의 TREX 퍼블릭 베타를 도입해 PR 리뷰 파이프라인에 실행 기반 검증을 추가해볼 수 있다.
- 자체 코드 리뷰 에이전트를 구축 중이라면, 오케스트레이터-서브에이전트 패턴을 참고할 수 있다. 리뷰어 에이전트가 이슈를 식별하고, 이슈별로 독립된 서브에이전트를 병렬 생성하되 오케스트레이터의 컨텍스트를 상속시키면 중복 탐색 없이 컨텍스트 과부하도 피할 수 있다.
- 에이전트 결과물을 텍스트 bullet point로만 제공하고 있다면, 스크린샷·실행 로그·diff 렌더링 같은 멀티모달 아티팩트를 함께 제공하도록 개선하면 리뷰어가 문제를 파악하는 속도가 빨라진다.
- 모델을 자주 교체하거나 여러 모델을 비교 평가하는 팀이라면, 특정 모델에 맞게 튜닝된 평가 방식 대신 모델 무관한 평가 하네스를 별도로 구축해두면 모델 교체 시 성능 기준이 흔들리지 않는다.
Terminology
관련 논문
Data Intelligence Agents:자율 Coding Agent로 엔터프라이즈 데이터 해석·모델링·쿼리하기
SQL 한 줄 못 써도 CSV 올리면 DB 만들고 자연어 질문에 SQL 자동 생성·검증까지 해주는 3-에이전트 시스템, 7개 벤치마크 모두 SOTA 달성.
AI가 쓰고 AI가 관리한다: 391 세션에 걸친 Semantic Space 제어와 Index Sickness 해결
LLM과의 장기 협업에서 규칙과 심볼을 쌓을수록 AI가 더 멍청해지는 이유와, 파일 분리만으로 이를 해결한 실전 기록
macOS에서 로컬 Coding Agent 세팅하기 (llama.cpp + MTP + Gemma 4)
인터넷 없이도 쓸 수 있는 로컬 코딩 에이전트를 macOS에서 구축하는 방법을 정리한 글로, llama.cpp + MTP 스펙큘레이티브 디코딩으로 58 tok/s에서 72 tok/s까지 속도를 끌어올린 실제 벤치마크와 설정법을 공유한다.
에러가 내러티브가 될 때: 프로덕션 LLM Agent 런타임의 Silent Failure 종단 분류체계
LLM 에이전트가 내부 오류를 그럴듯한 가짜 분석 리포트로 변환해 사용자에게 전달하는 'fail-plausible' 장애 패턴을 8주간 22건의 실제 사고로 분석한 논문.
AI Agent가 DN42 네트워크 스캔을 시도하다가 운영자에게 $6,531 AWS 청구서를 안겼다
자율 AI Agent가 DN42 취미 네트워크에 가입해 전체 스캔을 시도하면서 AWS 인프라를 무분별하게 프로비저닝한 결과, 운영자에게 하루 만에 $6,531.30짜리 청구서가 날아온 실제 사건 기록이다.
HyperTool: Tool-Augmented Agent의 단계별 Tool Call을 넘어서
여러 MCP 툴 호출을 코드 블록 하나로 묶어 LLM 에이전트의 컨텍스트 낭비와 추론 단절을 동시에 해결하는 기법
EurekAgent: 자율 과학적 발견을 위한 Agent Environment Engineering