gitlab-orbit

5 개의 포스트

gitlab

GitLab Transcend 해커톤: 개발자들이 GitLab Orbit에서 만든 것 (새 탭에서 열림)

GitLab Orbit 해커톤은 코드·머지 리퀘스트·파이프라인·배포·소유권을 연결한 실시간 코드 그래프가 AI 에이전트의 시스템 이해 문제를 해결할 수 있음을 보여줬다. 1,576명이 참가해 265개 프로젝트를 만들었고, 참가자들은 변경 영향 분석, 테스트 최적화, 마이그레이션 비용 산정, 보안 취약점 추적 같은 반복적인 실무 문제에 집중했다. 특히 에이전트의 실행 속도뿐 아니라 근거와 책임성을 확보하는 것이 중요하다는 점이 강조됐다. ## GitLab Orbit와 해커톤 규모 - GitLab Orbit는 다음 정보를 관계형 그래프로 연결하고 최신 상태로 유지한다. - 소스 코드와 의존성 - 머지 리퀘스트 - CI 파이프라인 - 배포 정보 - 팀과 코드 소유권 - AI 에이전트는 코드 작성에는 강하지만, 변경 사항이 시스템 전체에 미치는 영향 파악에는 취약하다. - Orbit를 사용하면 “무엇이 이 변경에 의존하는가”, “어떤 테스트가 영향을 받는가”, “문제 발생 시 담당 팀은 누구인가” 같은 질문을 단일 쿼리로 처리할 수 있다. - 해커톤에는 1,576명이 등록했고, 265개의 Showcase Track 프로젝트가 제출됐다. - 별도로 26명의 기여자가 Orbit 코드베이스에 61개의 개선 사항을 병합했다. ## 개발자들이 가장 많이 해결하려 한 문제 - 70개 팀이 변경 사항의 잠재적 영향 범위를 분석하는 도구를 만들었다. - 하위 호출자 - 영향받는 파이프라인 - 관련 팀과 소유자 - 30개 이상의 팀은 코드베이스 온보딩과 이해를 돕는 도구를 개발했다. - 그 밖에도 다음 문제가 주요 주제로 등장했다. - 장애의 근본 원인 분석 - 아키텍처 드리프트 탐지 - 불안정한 파이프라인 진단 - 여러 저장소에 걸친 CVE 추적 - 공통점은 기존에는 Git, CI, 배포 도구, 대시보드에 흩어진 정보를 사람이 직접 조합해야 했다는 점이다. - Orbit는 단순히 에이전트를 자동화하는 것이 아니라, 실행에 필요한 시스템 맥락과 통제 수단을 함께 제공한다. ## 시스템 통합과 자동화 ### Sankofa: 상황별 세 가지 에이전트 - 기술 구현 부문 우승작이다. - 사용자의 업무 상황에 따라 세 에이전트가 작동한다. - **Radar**: 머지 리퀘스트가 열리면 변경의 영향 범위와 관련 파이프라인, 담당 팀을 분석한다. - **Guide**: 이슈가 할당되면 작업 시작에 필요한 요약 보고서를 작성한다. - **Shield**: 보안 취약점이 발생하면 코드 그래프를 한 번 탐색해 취약점의 전파 경로를 추적한다. - 취약점의 영향을 여러 저장소와 의존성에 걸쳐 수동으로 추적하던 작업을 자동화했다. ### Stayed Shipped: AI 코드의 실제 운영 여부 추적 - AI 에이전트가 지난달 병합한 변경 중 실제 운영 환경에 남아 있는 비율을 확인한다. - 이후 시니어 개발자가 조용히 수정하거나 대체한 변경도 추적한다. - 기존 대시보드가 제공하지 못하는 “AI가 만든 코드가 실제로 살아남았는가”라는 지표를 제시한다. ## 마이그레이션 비용과 작업 계획 ### Carver: 레거시 마이그레이션 견적 - 디자인·사용성 부문 우승작이다. - 사용자가 원하는 마이그레이션을 입력하면 Orbit의 의존성 그래프를 분석해 다음을 산출한다. - 작업 단위 수 - 예상 기간 - 수행 순서 - 위험 요소 - 예시로 AngularJS에서 Angular로의 전환을 약 9주간의 인력 작업과 약 10달러의 생성 비용으로 추정한다. - 테스트되지 않은 핵심 서비스처럼 위험도가 높은 부분은 별도로 표시한다. - Orbit에서 실제 서비스를 찾지 못하면 임의의 수치를 만들지 않고 사용자에게 실제 코드 위치를 확인한다. ### Marshal: 조직 전체의 자율 마이그레이션 - 조직 단위 목표를 선언하면 영향받는 저장소를 찾고 작업 순서를 계획한다. - 작업을 여러 웨이브로 나누어 머지 리퀘스트를 생성하고, 대상 저장소가 누락되지 않았는지 확인한다. - Carver가 통제 가능한 견적과 설명에 집중한다면, Marshal은 최대한의 자율 실행을 지향한다. ## 영향 기반 테스트와 정밀한 리팩터링 ### CrossCut: 변경에 필요한 테스트만 실행 - 영향력 부문 우승작이다. - 머지 리퀘스트에서 변경된 심볼을 찾고, Orbit의 호출 그래프를 따라 실제로 영향을 받는 테스트를 계산한다. - 모델의 추측 없이 그래프 탐색만으로 테스트 파이프라인을 구성한다. - 대규모 또는 여러 저장소에 걸친 테스트 스위트에서 CI 실행량을 90% 이상 줄일 수 있다. ### OrbitWeaver: 의존성 순서를 반영한 리팩터링 - 벡터 유사도 검색이 아니라 정확한 영향 범위를 사용한다. - 영향을 받는 모든 파일을 매핑하고 의존성 순서에 따라 수정한다. - 단순한 의미적 유사성보다 실제 코드 그래프가 안전한 자동 리팩터링에 적합하다는 점을 보여준다. ## 시맨틱 웹과 에이전트 거버넌스 ### Transcend: Orbit 위에 새로운 추론 계층 구축 - 아이디어 품질 부문 우승작이다. - Orbit API를 단순히 호출하는 대신 OWL, SPARQL, RDF를 활용한 시맨틱 웹 기반 추론 엔진을 추가했다. - 기본 API만으로는 어려운 다음 작업을 수행한다. - 전이적 폐쇄 계산 - 코드베이스와 외부 지식 그래프의 조인 - 코드와 관련 논문, 저자, 발표 연도의 연결 - 예를 들어 코드베이스가 구현한 지식 그래프 임베딩 기법의 클래스명과 이를 뒷받침한 논문 정보를 함께 조회한다. ### Universal Agent OS: 에이전트의 책임성과 검증 - 에이전트 자체보다 에이전트를 통제하는 거버넌스 계층을 만든다. - 다음 절차를 강제한다. - 먼저 사용자 인터뷰 수행 - 코딩 전 계획 수립 - 의사결정 근거 보존 - 결과 검증 - AI가 작성하는 코드의 비중이 커질수록 빠른 실행보다 누가 어떤 근거로 결과를 승인했는지가 중요해진다는 문제의식을 담고 있다. ## Orbit 자체에 대한 커뮤니티 기여 - Contribute Track에서는 26명이 Orbit에 직접 61개의 머지 리퀘스트를 병합했다. - 주요 개선 내용은 다음과 같다. - C++20 concepts 지원 - Go 패키지 선언 지원 - Kotlin 코루틴 지원 - Ruby 람다 지원 - 온톨로지 수정 - CI에서 발생하던 SIGPIPE 버그 수정 - 첫 Orbit 쿼리 튜토리얼 작성 - `max_depth`와 `max_hops` 차이를 포함한 문서 정리 - 참가자들은 Orbit를 활용한 애플리케이션뿐 아니라 기반 플랫폼 자체도 개선했다. 실무에서는 AI 에이전트에 코드를 바로 작성하게 하기보다, 먼저 변경 영향 분석·관련 테스트 선택·소유 팀 확인·근거 기록을 Orbit로 연결하는 것이 효과적이다. 특히 대규모 저장소에서는 정확한 의존성 그래프가 CI 비용 절감과 안전한 리팩터링의 기반이 될 수 있다.

gitlab

GitLab Duo로 작업 항목 할당 자동화 (새 탭에서 열림)

GitLab Duo Agent Platform의 새로운 **“Work item created” 트리거**는 작업 항목이 생성되는 즉시 플로우를 실행해 자동으로 분류하고 담당자를 배정한다. 이를 통해 사람이 일일이 팀원의 업무량과 가용성을 확인하던 과정을 없애고, 대규모 작업도 몇 초 안에 일관되게 라우팅할 수 있다. 예시에서는 GitLab Orbit과 두 개의 에이전트를 활용해 업무량이 가장 적은 팀원에게 새 이슈를 자동 배정했다. ## 수동 담당자 배정의 한계 - 새 이슈가 생성될 때마다 담당자가 팀원의 현재 업무량과 우선순위를 확인해야 한다. - 회의, 휴가, 휴식 시간 등으로 인해 배정이 지연될 수 있다. - 작업량이 증가하면 업무가 특정 팀원에게 몰리거나 초기 트리아지가 늦어진다. - 기존 GitLab Duo Flow는 멘션, 수동 할당, 리뷰어 지정 등 사람의 행동이 있어야 시작할 수 있었다. - 따라서 자동화된 배정 로직이 있어도 마지막 실행 단계는 수작업으로 남아 있었다. ## “Work item created” 트리거의 동작 - 프로젝트에서 새 작업 항목이 생성되는 순간 플로우를 자동 실행한다. - 별도의 멘션이나 UI 조작 없이 백그라운드에서 지속적으로 동작한다. - 조직이 정의한 조건에 따라 작업을 분류하고 적절한 담당자에게 라우팅한다. - 개발자는 반복적인 배정 업무보다 판단과 창의성이 필요한 작업에 집중할 수 있다. ## 자동화로 얻는 효과 - **즉각적인 트리아지:** 작업 생성 직후 배정이 시작된다. - **확장성:** 작업이 한 건이든 수백 건이든 담당자의 추가 개입 없이 처리한다. - **균형 잡힌 배정:** 팀원의 현재 미해결 작업 수와 가용성을 기준으로 배정할 수 있다. - **일관성:** 사람이 매번 판단하던 기준을 에이전트가 동일하게 적용한다. - **반복 업무 감소:** 팀 리드가 업무량을 확인하고 수동으로 라우팅하는 시간을 줄인다. ## 두 에이전트로 구성한 자동 배정 플로우 예시 프로젝트는 `Intra-account-transfers`이며, 플로우 이름은 `Work item assigner`다. - 프로젝트에서 “Work item created” 트리거를 활성화한다. - 첫 번째 에이전트는 GitLab Orbit을 사용해 조직 내 각 리소스의 미해결 작업 수를 조회한다. - 두 번째 에이전트는 업무량이 가장 적은 팀원을 식별하고 새 작업 항목의 담당자로 지정한다. - 배정 절차와 도구 사용 방법은 각 에이전트의 프롬프트에 정의된다. - 트리거가 플로우 전체를 실행하므로 별도의 수동 시작 작업이 필요하지 않다. ## 실행 과정과 결과 - 새 이슈를 생성하면 트리거가 즉시 `Work item assigner` 플로우를 실행한다. - 플로우 활동 로그에서 각 단계의 진행 상황을 확인할 수 있다. - 첫 번째 에이전트가 최상위 그룹 내 사용자의 미해결 작업 수를 집계한다. - 두 번째 에이전트가 가장 적은 업무량을 가진 팀원을 선택한다. - 예시에서는 William이 담당자로 선정되었고, 이슈에 자동으로 할당되었다. ## 확장 가능한 개선 방향 - **HR 또는 휴가 시스템 연동:** MCP를 통해 PTO 기간을 조회하고 휴가 중인 팀원을 배정 대상에서 제외할 수 있다. - **캘린더 연동:** 회의 일정과 실제 가용 시간을 확인해 더 정확한 담당자 배정이 가능하다. - 업무량뿐 아니라 전문 분야, 우선순위, 프로젝트 소속 등의 조건을 추가해 라우팅 기준을 고도화할 수 있다. ## 실용적인 결론 반복적인 이슈 배정이 병목이 되는 팀이라면 “Work item created” 트리거와 업무량 조회 에이전트를 결합하는 것이 효과적이다. 초기에는 미해결 작업 수처럼 단순하고 검증 가능한 기준으로 시작한 뒤, 휴가·캘린더·전문성 정보를 MCP로 추가하는 방식이 현실적이다.

gitlab

GitLab의 Claude Sonnet 5: 더욱 안정적이고 효율적으로 (새 탭에서 열림)

Claude Sonnet 5가 GitLab Duo Agent Platform에 모든 요금제와 배포 모델로 제공된다. GitLab 평가 제품군의 모든 벤치마크 작업을 완료한 첫 모델로, 이전 모델인 Sonnet 4.6의 93.8%보다 높은 안정성과 8.8% 더 많은 이슈 해결 성과를 보였다. GitLab은 이를 다단계 코딩 작업의 완주율과 결과 품질을 높이면서도 대규모 운영 비용을 낮출 수 있는 모델로 소개한다. ## GitLab Duo Agent Platform에 Claude Sonnet 5 출시 - Anthropic의 Claude Sonnet 5가 GitLab AI Gateway를 통해 GitLab Duo Agent Platform에 통합됐다. - 모든 GitLab 요금제와 배포 모델에서 사용할 수 있다. - 주요 대상은 다음과 같은 소프트웨어 개발 업무다. - 다단계 에이전트 작업 - 코드 생성 및 리뷰 대응 - 테스트 생성 - 보안 조사 - 저장소 이력 분석 - 파이프라인 장애 조사 ## 모든 에이전트 실행을 완료하는 안정성 - Sonnet 5는 GitLab 평가 제품군의 모든 벤치마크 작업을 완료한 첫 모델이다. - 이전 모델인 Sonnet 4.6은 벤치마크의 93.8%를 완료했다. - 에이전트가 작업 중간에 멈추면 재실행, 재프롬프트, 부분 결과 검증에 추가 비용이 발생한다. - Sonnet 5는 다음과 같은 작업에서 중단 가능성을 줄이는 것을 목표로 한다. - 여러 파일을 수정하는 리팩터링 - 실제로 활용 가능한 테스트 커버리지 생성 - 저장소 이력을 추적하는 보안 조사 - 장시간 실행되는 파이프라인 장애 분석 - 단순히 결과를 반환하는 데 그치지 않고, 8.8% 더 많은 이슈를 해결해 검토 가능한 결과를 제공하는 데 초점을 둔다. ## 효율성과 운영 비용 - 에이전트가 더 많은 작업을 완료하고 작업 과정에서 자원을 적게 사용할수록 실제 완료 작업당 비용이 낮아진다. - GitLab Duo Agent Platform의 모델마다 GitLab Credits 소비율이 다르다. - 팀은 작업 난이도와 모델의 비용 특성을 고려해 일상적인 개발 작업에 적절한 모델을 선택해야 한다. - GitLab은 모델별 크레딧 소비량을 GitLab Credits 문서에서 제공한다. ## 작업에 맞는 모델 선택 - Sonnet 5가 모든 작업에 적합하다는 의미는 아니다. - 일반적인 개발 업무에서는 품질, 속도, 비용의 균형을 제공하는 안정적인 기본 모델로 활용할 수 있다. - 더 복잡하고 긴 추론이 필요한 장기 에이전트 작업에는 Claude Opus 4.8을 선택할 수 있다. - GitLab 인스턴스의 모델 선택 기능에서 작업별로 사용할 모델을 지정할 수 있다. ## 이용 방법 - Claude Sonnet 5는 GitLab AI Gateway를 통해 즉시 사용할 수 있다. - 다른 모델과 마찬가지로 GitLab Credits를 사용한다. - 신규 사용자는 GitLab Duo Agent Platform 무료 체험 또는 GitLab Free 등급에서 시작할 수 있다. - 기존 GitLab Premium 및 Ultimate 구독자는 구독에 포함된 GitLab Credits를 이용할 수 있다. 실무에서는 반복적인 리팩터링, 테스트 생성, 장애 분석처럼 빈번한 개발 작업에 Sonnet 5를 기본 모델로 사용하고, 높은 추론 능력이 필요한 장기 작업에만 Opus 4.8을 선택하는 방식이 비용과 품질의 균형을 맞추는 방법이다.

gitlab

Google Antigravity 에이전트, GitLab Orbit로 전체 컨텍스트 확보 (새 탭에서 열림)

Google Antigravity에 GitLab Orbit를 연결하면 코딩 에이전트가 단순히 파일과 터미널만 보는 것을 넘어 GitLab의 프로젝트, 의존성, 파이프라인, 머지 리퀘스트, 취약점, 코드 소유권까지 함께 이해할 수 있다. Orbit는 GitLab 데이터를 지식 그래프로 구성하고 MCP를 통해 에이전트에 제공하며, 이를 통해 변경 영향 분석과 코드베이스 탐색 같은 작업의 정확도와 속도를 높인다. 글에 따르면 초기 내부 테스트에서 응답 속도는 최대 11배 빨라지고, 토큰 사용량은 최대 4.5배, 환각은 최대 45배 줄었다. ## GitLab Orbit가 제공하는 컨텍스트 그래프 - GitLab 인스턴스의 다음 요소를 노드와 관계로 색인한다. - 그룹과 프로젝트 - 사용자와 코드 소유자 - 이슈 및 작업 항목 - 머지 리퀘스트 - 파이프라인 - 취약점 - 소스 코드와 프로젝트 간 의존성 - 지식 그래프는 코드 변경과 GitLab 활동을 연결해 에이전트가 시스템 전체의 맥락을 파악하도록 한다. - MCP 도구 두 가지를 제공한다. - `query_graph`: GitLab Orbit의 JSON DSL로 그래프를 질의 - `get_graph_schema`: 사용 가능한 노드 유형, 속성, 관계 확인 - 코드 변경 후 몇 분 내에 그래프를 다시 색인하므로 오래된 위키보다 최신 상태를 반영한다. ## Antigravity 에이전트의 활용 범위 확대 Orbit가 없으면 Antigravity 에이전트는 주로 현재 열려 있는 파일과 터미널에 의존한다. Orbit를 연결하면 다음과 같은 질문에 답할 수 있다. - 특정 모듈에 의존하는 프로젝트와 서비스는 무엇인가? - 해당 프로젝트에 해결되지 않은 취약점이 있는가? - 과거 리뷰 이력과 파일 소유권을 기준으로 적절한 리뷰어는 누구인가? - 특정 그룹에서 파이프라인 실패가 가장 많은 프로젝트는 무엇인가? 에이전트는 브라우저를 오가거나 사용자가 정보를 복사해 주지 않아도 구조화된 그래프 결과를 받아 답변을 생성한다. ## 변경 영향도와 충돌 분석 공유 인증 라이브러리처럼 여러 서비스가 사용하는 코드를 리팩터링할 때 Orbit가 특히 유용하다. - 해당 모듈을 import하는 모든 프로젝트를 조회한다. - 관련 파일을 수정 중인 열린 머지 리퀘스트를 확인한다. - 각 변경 사항의 담당자와 소유자를 찾아낸다. - 리팩터링이 기존 작업과 충돌할 가능성과 사전에 협의해야 할 사람을 한 번에 파악할 수 있다. 기존 에이전트가 파일 자체만 분석하는 것과 달리, 코드 의존성과 진행 중인 협업 작업까지 함께 고려한다는 점이 핵심이다. ## 온보딩과 코드베이스 탐색 익숙하지 않은 서비스에 복귀하거나 새로 합류한 개발자는 에이전트에게 다음 정보를 요청할 수 있다. - 서비스가 의존하는 프로젝트와 모듈 - 주요 진입점 파일 - 최근 일주일 동안 해당 서비스에 열린 머지 리퀘스트 에이전트는 조회 결과를 일회성 채팅 답변이 아니라 다시 볼 수 있는 **Walkthrough Artifact** 형태의 탐색 자료로 만들 수 있다. 그래프가 변경 후 빠르게 갱신되기 때문에 낡은 문서에 의존하지 않고 현재 코드베이스를 기준으로 학습할 수 있다. ## 실시간 의존성 다이어그램 생성 - 기술 리드는 그룹의 서비스 의존성 그래프를 조회한 뒤 Nano Banana Pro를 사용해 아키텍처 다이어그램으로 렌더링할 수 있다. - 특정 보안 취약점이 열려 있는 서비스만 필터링하는 등 범위를 좁혀 새 다이어그램을 만들 수 있다. - 다이어그램의 노드와 연결선은 최신 GitLab 그래프에서 생성된다. - 사용자의 GitLab 권한에 따라 결과가 필터링되므로 접근 권한이 없는 정보가 포함되지 않는다. - GitLab도 Software Architecture Map을 개발 중이지만, 글에서는 Antigravity 환경에서 이 기능을 즉시 사용할 수 있다고 설명한다. ## 설치와 사용 조건 - Antigravity 설정의 **Customization → MCP** 섹션에서 MCP Store를 연다. - **Add MCP**를 선택하고 GitLab Orbit를 추가한다. - 화면 안내에 따라 GitLab 인증을 완료하면 별도 설정 파일이나 터미널 작업 없이 에이전트가 Orbit 도구를 사용할 수 있다. - Orbit는 GitLab Duo Agent Platform과 동일한 컨텍스트 엔진을 사용한다. - 지원 언어는 Ruby, Java, Kotlin, Python, TypeScript, JavaScript, Rust, C#이며 기본 브랜치의 코드를 색인한다. - MCP 질의에는 GitLab Credits가 사용되지만 `get_graph_schema` 호출은 무료다. - GitLab.com의 Premium 및 Ultimate 요금제에서 사용할 수 있으며, 먼저 최상위 그룹에서 Orbit를 활성화해야 한다. ## 실용적인 결론 대규모 GitLab 환경에서 의존성 분석, 보안 점검, 리뷰어 선정, 온보딩을 자주 수행한다면 Orbit를 연결할 가치가 크다. 다만 성능 개선 수치는 초기 내부 테스트 결과이므로 실제 효과는 저장소 규모, 그래프 품질, 질의 설계에 따라 검증하고 GitLab Credits 사용량과 권한 설정도 함께 관리하는 것이 좋다.

gitlab

GitLab Orbit 소개 (새 탭에서 열림)

GitLab Orbit은 코드뿐 아니라 머지 리퀘스트, 파이프라인, 배포, 취약점, 소유권까지 연결한 실시간 그래프를 제공해 AI 에이전트가 시스템 전체 맥락을 한 번에 이해하도록 하는 서비스다. 이를 통해 에이전트는 파일을 반복 탐색하는 대신 관계형 질의를 수행하며, 최대 11배 빠르고 토큰 사용량은 4.5배 적어질 수 있다. GitLab은 Orbit이 코드 리뷰와 장애 대응, 보안, 마이그레이션처럼 여러 시스템을 함께 봐야 하는 작업의 정확성과 처리 속도를 높인다고 설명한다. ## 기존 AI 코딩 에이전트의 한계 - AI 에이전트는 코드 작성에는 강하지만 다음 정보를 찾는 데는 취약하다. - 관련 코드와 의존성 - 해당 코드를 실행하는 테스트와 파이프라인 - 실제 배포 환경 - 변경을 요청한 작업 항목 - 관련 팀과 담당자 - 대규모 모노레포에서는 에이전트가 파일을 탐색하는 데 토큰과 시간을 많이 사용한다. - 저장소가 여러 개로 나뉘면 컨텍스트가 부족해져 의존성을 놓치거나, 코드가 겉보기에는 맞지만 실제로는 되돌려지는 결과를 만들 수 있다. - 단순한 검색이나 RAG 방식만으로는 코드와 개발 lifecycle 데이터 사이의 관계를 충분히 복원하기 어렵다. ## 실제 머지 리퀘스트에서의 검증 - 영국 가격 비교 플랫폼 Compare the Market은 79개의 실제 머지 리퀘스트를 대상으로 AI 코드 리뷰의 컨텍스트 검색 방식을 비교했다. - Orbit을 사용한 리뷰어의 정확한 인라인 댓글 비율은 약 70%였다. - RAG 방식은 약 58%에 그쳤다. - 변경 사항 요약에서 핵심 변경을 포착한 비율도 Orbit이 68%, RAG가 66%였다. - RAG는 컨텍스트를 사용하지 않은 방식보다도 낮은 성능을 보였다. - 테스트 결과 Orbit은 단순히 현재 diff를 읽는 것이 아니라 코드베이스의 구조와 변경의 주변 영향을 이해하는 데 효과적이었다. ## 코딩 에이전트의 탐색 비용 감소 - Claude Code 같은 외부 에이전트를 MCP(Model Context Protocol)로 Orbit에 연결할 수 있다. - 에이전트는 다음 질문을 파일을 반복해서 읽으며 추론하지 않고 그래프에 직접 질의한다. - 특정 코드가 어디에 있는가? - 어떤 코드가 이를 의존하는가? - 어떤 테스트와 파이프라인이 이를 검증하는가? - 같은 모델과 같은 작업을 비교했을 때 다음과 같은 개선이 제시됐다. - 최대 11배 빠른 작업 수행 - 최대 4.5배 적은 토큰 사용 - 최대 45배 적은 환각 생성 - 결과적으로 에이전트가 실제 구현 작업을 시작하기 전에 소모하는 탐색 시간이 줄어든다. ## 파이프라인 장애의 전체 영향 추적 - 기존 에이전트는 실패한 파이프라인의 개별 job만 보고 원인을 고립된 문제로 판단하기 쉽다. - Orbit은 실패한 job에서 관련 파이프라인, 머지 리퀘스트, 프로젝트까지 연결해 추적한다. - 예시 질의는 실패한 CI job과 연결된 최근 머지 리퀘스트를 프로젝트별로 조회한다. ```cypher MATCH (job:CiJob {status: "failed", name: $job_name}) -[:RAN_IN]->(pipeline)-[:FOR]->(mr:MergeRequest) RETURN mr.title, mr.author, pipeline.started_at, mr.project_id ORDER BY pipeline.started_at DESC LIMIT 20 ``` - 이 방식으로 여러 프로젝트에서 동일한 장애를 만날 진행 중인 MR을 한 번에 찾을 수 있다. - 여러 팀이 같은 원인을 따로 해결하는 대신, 한 번의 대응으로 문제를 확산시키는 변경까지 파악할 수 있다. ## 취약점의 영향 범위와 담당자 파악 - 취약한 코드 자체를 찾는 것보다, 해당 코드가 시스템 어디까지 퍼졌는지를 확인하는 일이 더 어렵다. - Orbit은 다음 정보를 연결해 보여준다. - 취약한 컴포넌트를 포함한 서비스 - 해당 서비스를 빌드하는 파이프라인 - 실행되는 환경 - 각 구성 요소의 소유 팀 - 보안팀은 CVE가 공개된 직후 영향을 받는 구성 요소와 담당자를 포함한 remediation 계획을 만들 수 있다. - 수작업으로 여러 도구를 조사하는 데 걸리던 시간을 줄여 대응 속도를 높이는 것이 목표다. ## 조직 전반의 질의와 마이그레이션 계획 - Orbit은 고정된 대시보드에 없는 복합적인 질문에도 활용된다. - 예를 들어 팀별 cycle time을 파이프라인 실패율, 배포 빈도와 결합해 조회할 수 있다. - 공용 컴포넌트 마이그레이션에서는 다음 의존성을 한 번에 확인할 수 있다. - 종속 서비스 - 관련 job - 배포 환경 - 담당 소유자 - 숨은 downstream 의존성을 놓쳐 일정이 지연되는 위험을 줄이고, 마이그레이션 범위와 책임자를 구체화할 수 있다. ## Orbit의 기술 구조 - 소프트웨어 개발 lifecycle 데이터를 CDC(Change Data Capture) 방식으로 수집해 ClickHouse에 저장한다. - Rails 내부 API를 통해 12개 언어의 코드를 분석한다. - Ruby, Java, Kotlin, Python, TypeScript, JavaScript - Rust, Go, C#, C, C++, PHP - Cypher와 유사한 DSL, MCP, REST, GitLab CLI를 통해 그래프를 조회한다. - GitLab 자체 환경에서는 4만 개 이상의 프로젝트, 5억 개 노드, 20억 개 엣지를 45분 이내에 인덱싱한다고 설명한다. - 이벤트 기반 엔진이 변경 사항을 즉시 반영해 그래프를 최신 상태로 유지한다. - 인덱싱은 별도 서비스에서 수행되므로 쿼리 트래픽이 GitLab 인스턴스에 직접 부담을 주지 않는다. - GitLab 권한을 그대로 반영하므로 에이전트는 사용자가 UI에서 볼 수 있는 데이터만 조회한다. - 쿼리는 데이터베이스에 실행되기 전에 검증, 실행 계획 수립, 최적화, 보안 검사를 거친다. ## 다양한 사용 방식과 Data Explorer - GitLab Duo Agent Platform의 에이전트는 Orbit을 기본적으로 질의할 수 있다. - Claude Code, Codex, OpenCode 같은 외부 에이전트는 MCP와 GitLab CLI를 통해 연결한다. - 사내 도구나 맞춤형 에이전트는 REST API를 사용할 수 있다. - Data Explorer에서는 에이전트 없이 엔지니어가 같은 그래프를 직접 조회한다. - 장애 조사, 의존성 전파 추적, 반복적인 CI 실패 원인 분석처럼 정해진 프롬프트에 맞지 않는 작업에도 활용할 수 있다. Orbit은 코드 검색 도구라기보다 코드와 개발 lifecycle 전체를 연결하는 지식 그래프에 가깝다. 여러 저장소와 시스템에 걸친 의존성, 장애 영향, 보안 노출, 소유권을 자주 추적해야 하는 대규모 조직이라면 특히 효과가 크며, 도입 시에는 실제 MR 리뷰나 장애 대응 업무를 대상으로 기존 검색·RAG 방식과 정확도 및 비용을 비교해 검증하는 것이 좋다.