원문 캡처 · github.com
원문 캡처 · github.com

프로젝트는 2026년 9월 29일 기준 릴리스 133회, 리뷰 1,000건 이상, 댓글 수용률 67%를 기록했다고 소개했다. langgraph-harness는 GitLab의 병합 요청 검토와 이슈·작업 해결을 자동화하려는 팀이 자체 서버에서 운영할 수 있는 AI 코딩 에이전트 플랫폼이다.

이 도구는 무엇을 하나

langgraph-harness는 GitLab 작업을 맡는 네 가지 에이전트 기능을 제공한다. 여러 작업자가 이어 달리는 작업대에 빗대면 이해하기 쉽다. 각 기능은 공통 기반을 쓰며, 실제로는 병합 요청 검토, 작업 처리, 대화형 지원을 수행하는 에이전트다.

병합 요청 검토 기능은 웹훅 이벤트를 받아 변경 내용을 읽고 검토 댓글을 작성해 게시한다. 주기적으로 확인하거나 사람이 직접 실행할 필요가 없다는 것이 프로젝트의 설명이다. 댓글은 게시 전에 모두 검사한다. 에이전트가 호출을 반복하거나, 무한 반복에 빠지거나, 질문으로 작업을 끝내거나, 필요한 점검을 건너뛰면 실행 중에 이를 잡아 수정한다. 진행 상태를 저장하는 체크포인트를 이용해 중단된 실행을 처음부터 다시 시작하지 않고 이어 갈 수 있다.

GitLab 이슈나 작업을 맡기면 코드 변경 에이전트는 격리된 가상 머신에서 작업하고 초안 병합 요청을 연다. Kata Containers를 사용하며, 프로젝트는 이를 시스템 호출만 가로채는 방식이 아니라 샌드박스마다 전용 게스트 커널을 두는 격리라고 설명한다. 같은 브랜치에서 후속 댓글에 계속 응답한다. 자유 형식 지시로 시작하는 작업 해결 기능도 같은 샌드박스 작업 흐름을 쓰며, 필요할 때 실행하거나 반복 일정에 맞춰 시작할 수 있다.

대화 기능은 GitLab 데이터를 다루고 헤드리스 브라우저를 사용할 수 있는 보조 도구다. 자체 검토·대화 기록을 활용하며, 민감한 도구 호출은 실행 전에 사람의 명시적 승인을 기다린다.

무엇이 준비됐고 무엇이 계획인가

저장소는 자동 병합 요청 검토, 이슈에서 초안 병합 요청 만들기, 필요할 때 시작하는 작업, GitLab을 이해하는 대화 기능을 현재 기능으로 소개한다. 코드 변경 작업을 위한 격리 샌드박스, 대화 기능의 민감한 작업에 대한 사람의 승인, 프로젝트별 기억, 중단된 실행의 재개도 현재 기반에 포함한다고 설명한다. 프로젝트 기억은 리뷰를 거치며 쌓인 지속성 있는 사실을 저장하고, 대화 기능에는 개인 기억이 있다.

향후 계획에는 반복 일정 작업과 기억 기능의 개선이 포함된다. 기억이 스스로 최신 상태를 유지하고 학습한 내용을 보여주는 기능, 관련 사실을 연결해 중요도에 따라 찾는 자체 호스팅 기억 엔진, 알려진 웹페이지를 가져오는 데 그치지 않는 웹 검색 기능이 계획에 올라 있다. GitHub 지원도 계획 항목이며, 이슈를 봇에 할당해 초안 풀 리퀘스트를 만드는 내용이 공개 이슈 #35에 연결돼 있다. 나머지 계획은 열린 이슈에 기록돼 있다.

자체 서버에서 쓰려면 무엇이 필요한가

프런트엔드는 대시보드, 스레드, 대화, 워크플로를 제공하는 React 관리 화면이다. 백엔드는 영속 체크포인트를 사용하는 LangGraph 에이전트를 구동하는 Elysia API 서버다. 에이전트는 OpenRouter, Gemini, Groq, Ollama, sglang 중 하나를 통해 언어 모델을 사용하고, GitLab MCP 도구와 기능별 워크플로를 활용한다. 작업 큐에는 BullMQ를 쓰며, 재검토 요청을 묶어 처리하고 동시 실행 수를 제한하며 큐 상태를 화면에 보여준다.

시작하려면 Node.js 22 이상, Docker, api 권한 범위의 GitLab 개인 액세스 토큰(PAT), GitLab OAuth 앱이 필요하다. OpenRouter·Gemini·Groq 키 중 하나 또는 로컬 Ollama·sglang 인스턴스도 준비해야 한다. 저장소에 안내된 기본 절차는 다음과 같다.

bash
npm install
cp backend/.env.example backend/.env
# fill in GITLAB_PAT, GITLAB_OAUTH_CLIENT_ID/SECRET, SESSION_SECRET, SECRETS_ENCRYPTION_KEY,
# ADMIN_GITLAB_USERNAMES, and one of OPENROUTER_API_KEY / GEMINI_API_KEY / GROQ_API_KEY / OLLAMA_BASE_URL / SGLANG_BASE_URL
npm run dev

프런트엔드는 http://localhost:5173, API는 http://localhost:3698에서 실행된다. 실제 설정에는 GitLab OAuth 앱과 웹훅 구성, 저장소별 .harness.yml 설정이 필요하며, 저장소는 이를 별도의 시작 안내서에서 설명한다고 한다. 배포는 Docker Compose를 이용한 자체 호스팅 방식이다. 운영 환경 배포는 푸시 때 GitLab CI로 자동화되며, 서버 설정과 sglang 백엔드 배포 안내도 제공한다.

프로젝트는 LangChain과 무관한 독립 프로젝트이며, LangGraph라는 이름은 프레임워크를 설명하기 위해 사용했다고 밝힌다. 라이선스는 MIT다. 릴리스 수와 리뷰 수, 댓글 수용률은 프로젝트가 제시한 수치다. 수용률 산정 방식이나 독립적인 검증 결과, 운영 비용과 지원 범위는 공개된 설명에 나오지 않는다.