AI 카탈로그
GitLab v19.5Offering: GitLab.com
요약
AI 카탈로그는 에이전트와 플로를 모아 놓은 중앙 목록입니다. AI 카탈로그로 다음 작업을 수행합니다. AI 카탈로그는 다음 두 가지 방법으로 볼 수 있습니다. GitLab Self-Managed에서는 다음 에이전트가 AI 카탈로그에 표시되지 않습니다.
Model information
- 에이전트와 플로가 사용하는 모델은 Agent Platform AI 모델을 참고합니다.
히스토리
global_ai_catalog라는 기능 플래그와 함께 GitLab 18.5에서 도입되었습니다. GitLab.com에서 실험 기능으로 활성화되었습니다.- 외부 에이전트 지원이
ai_catalog_third_party_flows라는 플래그와 함께 GitLab 18.6에서 도입되었습니다. GitLab.com에서 실험 기능으로 활성화되었습니다. - GitLab 18.7에서 베타로 변경되었습니다.
- GitLab 18.8에서 일반 공개되었습니다.
- 기능 플래그
global_ai_catalog가 18.10에서 제거되었습니다. - GitLab 18.10에서 GitLab Credits를 사용해 GitLab.com의 Free 티어에서 사용할 수 있습니다.
AI 카탈로그는 에이전트와 플로를 모아 놓은 중앙 목록입니다. 프로젝트에 이러한 에이전트와 플로를 추가하면 에이전트 기반 AI 작업 오케스트레이션을 시작할 수 있습니다.
AI 카탈로그로 다음 작업을 수행합니다.
- GitLab 팀과 커뮤니티 구성원이 만든 에이전트와 플로를 찾습니다.
- 사용자 정의 에이전트와 플로를 만들어 다른 사용자와 공유합니다.
- 프로젝트에서 에이전트와 플로를 활성화해 GitLab Duo Agent Platform 전반에서 사용합니다.
AI 카탈로그 보기#
히스토리
- GitLab Duo 사이드바로 AI 카탈로그를 보는 기능이 GitLab 18.11에서 도입되었습니다.
사전 요구 사항:
- GitLab Duo Agent Platform 사전 요구 사항을 충족해야 합니다.
- Agent Platform 이 켜져 있어야 합니다.
- GitLab Self-Managed에서는 인스턴스에 GitLab Duo가 켜져 있어야 합니다.
- AI 카탈로그의 에이전트와 플로를 활성화하려면 다음 조건을 충족해야 합니다.
- 그룹에서는 Maintainer 또는 Owner 권한이 있어야 합니다.
- 프로젝트에서는 Maintainer 또는 Owner 권한이 있어야 합니다.
AI 카탈로그는 다음 두 가지 방법으로 볼 수 있습니다.
- 상단 바 사용:
- 상단 바에서 Search or go to > Explore를 선택합니다.
- AI Catalog를 선택합니다.
- GitLab Duo 사이드바 사용:
- 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- GitLab Duo 사이드바에서 GitLab Duo AI Catalog ([tanuki-ai])를 선택합니다.
에이전트 목록이 표시됩니다.
GitLab Self-Managed에서는 다음 에이전트가 AI 카탈로그에 표시되지 않습니다.
- GitLab.com에서 만든 사용자 정의 에이전트
- 인스턴스에 추가되지 않은 GitLab 관리형 외부 에이전트
사용할 수 있는 플로를 보려면 Flows 탭을 선택합니다.
항목을 관리하는 프로젝트를 확인하려면 항목을 선택하고 Managed by 필드를 확인합니다.
항목 정의의 위치#
항목 정의는 리포지터리가 아니라 AI 카탈로그에 저장됩니다. 생성하는 각 항목에는 해당 항목을 관리하는 프로젝트가 있으며, 항목을 생성할 때 이 프로젝트를 선택합니다. 항목을 생성한 뒤에는 프로젝트를 변경할 수 없습니다.
관리 프로젝트에서 Maintainer 또는 Owner 권한이 있는 멤버는 항목을 편집할 수 있습니다. 관리 프로젝트는 비공개 또는 제한된 항목을 볼 수 있는 사용자도 결정합니다. 프로젝트 하나가 여러 항목을 관리할 수 있습니다. 기반 에이전트와 GitLab 관리 외부 에이전트처럼 GitLab이 제공하는 항목에는 관리 프로젝트가 없습니다.
항목을 변경하려면 AI 카탈로그에서 편집합니다. 커밋이나 머지 리퀘스트는 필요하지 않습니다. 자세한 내용은 에이전트 편집 또는 플로 편집을 참고합니다.
항목 구성의 변경 사항을 저장하면 버전 고정에 따라 어떤 프로젝트와 그룹이 새 버전을 사용하는지 결정됩니다.
- 관리 프로젝트처럼 버전을 고정하지 않은 프로젝트는 새 버전을 즉시 사용합니다.
- 이전 버전에 고정된 프로젝트와 그룹은 고정을 업데이트하기 전까지 해당 버전을 유지합니다.
항목의 이름, 설명, 공개 범위에 대한 변경은 항목에 직접 적용되며 버전을 만들지 않습니다. 자세한 내용은 버전 고정을 참고합니다.
머지 리퀘스트로 정의 업데이트#
에이전트와 플로 정의를 리포지터리에 저장하고 머지 리퀘스트에서 변경 사항을 리뷰할 수 있습니다.
AI 카탈로그 CI/CD 컴포넌트는
agents/ 및 flows/ 디렉터리의 정의를 AI 카탈로그에 게시합니다.
두 디렉터리 이름은 모두 구성할 수 있습니다. 이 컴포넌트는 태그 파이프라인에서 실행됩니다.
컴포넌트를 추가하고 디렉터리 이름을 변경하려면 컴포넌트 README의 빠른 시작(Quick Start)과 입력 파라미터(Input Parameters)를 참고합니다.
항목 정의를 업데이트하려면 다음 단계를 완료합니다.
- 정의 파일을 변경한 머지 리퀘스트를 엽니다.
- 머지 리퀘스트가 머지된 후 기본 브랜치에서 태그를 생성합니다. 태그 파이프라인이 변경 사항을 AI 카탈로그에 게시합니다.
태그를 생성하면 컴포넌트가 각 항목에 대해 다음 작업을 수행합니다.
- 정의 파일을 해시하고 마지막 동기화 때의
.ai-catalog-mapping.json에 있는 해시와 비교합니다. - 파일이 변경되지 않았다면 항목을 건너뜁니다.
- 파일이 변경되었다면 AI 카탈로그에 있는 항목의 이름, 설명, 공개 범위를 덮어쓰고, 정의가 다르면 새 버전을 추가합니다.
컴포넌트는 AI 카탈로그가 아니라 리포지터리 파일과 비교하므로, AI 카탈로그 편집기에서 한 편집은 감지하지 못합니다. 이러한 편집은 리포지터리 파일이 변경될 때까지 그대로 유지되며, 그다음 게시에서 덮어쓰입니다.
에이전트 및 플로 버전#
히스토리
- GitLab 18.7에서 도입되었습니다.
AI 카탈로그의 각 사용자 정의 에이전트와 플로는 버전 이력을 유지합니다. 항목의 구성을 변경하면 GitLab 이 자동으로 새 버전을 만듭니다. 기반 에이전트와 플로는 버전 관리를 사용하지 않습니다.
GitLab은 변경 범위를 나타내기 위해 시맨틱 버저닝을 사용합니다.
예를 들어 에이전트의 버전 번호는 1.0.0 또는 1.1.0과 같은 형태입니다.
GitLab 이 시맨틱 버저닝을 자동으로 관리합니다. 에이전트나 플로를 업데이트하면 항상 마이너 버전이 올라갑니다.
버전 관리를 통해 프로젝트와 그룹은 검증된 안정적인 에이전트·플로 구성을 계속 사용할 수 있습니다. 이로써 예기치 않은 변경이 워크플로에 영향을 주지 않습니다.
버전 생성#
GitLab은 다음 경우에 버전을 만듭니다.
- 사용자 정의 에이전트의 시스템 프롬프트를 업데이트하는 경우
- 외부 에이전트나 플로의 구성을 수정하는 경우
일관된 동작을 보장하기 위해 버전은 변경할 수 없습니다.
버전 고정#
히스토리
- 에이전트나 플로를 관리하는 프로젝트가 해당 항목의 최신 버전을 항상 사용하도록 하는 동작이 GitLab 18.10에서 도입되었습니다.
AI 카탈로그 항목을 활성화하면 다음과 같이 동작합니다.
- 그룹에서는 GitLab 이 최신 버전을 고정합니다.
- 해당 항목을 관리하지 않는 프로젝트에서는 GitLab 이 프로젝트의 최상위 그룹과 동일한 버전을 고정합니다.
버전 고정은 다음을 의미합니다.
- 프로젝트나 그룹이 항목의 고정된 버전을 사용합니다.
- AI 카탈로그에서 에이전트나 플로가 업데이트되어도 구성에 영향을 주지 않습니다.
- 새 버전을 언제 적용할지 직접 결정할 수 있습니다.
이 방식은 AI 기반 워크플로에 안정성과 예측 가능성을 제공합니다.
항목을 관리하는 프로젝트에서 AI 카탈로그 항목을 활성화하면 GitLab은 버전을 고정하지 않습니다. 대신 해당 프로젝트는 항상 해당 항목의 최신 버전을 사용합니다.
GitLab 18.10 이전에 에이전트나 플로를 관리하는 프로젝트에서 활성화했다면 구성은 고정된 버전으로 유지됩니다.
최신 버전으로 처음 업데이트하고 나면 그 이후로는 GitLab 이 자동으로 최신 버전을 사용합니다.
현재 버전 보기#
사전 요구 사항:
- Developer, Maintainer 또는 Owner 권한이 있어야 합니다.
에이전트나 플로의 현재 버전을 보려면 다음 단계를 수행합니다.
- 상단 바에서 Search or go to를 선택하고 프로젝트 또는 그룹을 찾습니다.
- 왼쪽 사이드바에서 다음 중 하나를 선택합니다.
- AI > Agents
- AI > Flows
- 세부 정보를 보려면 해당 에이전트나 플로를 선택합니다.
세부 정보 페이지에는 다음 내용이 표시됩니다.
- 프로젝트나 그룹이 사용 중인 고정 버전
- 버전 식별자. 예를 들어
1.2.0입니다. - 해당 버전 구성에 대한 세부 정보
최신 버전으로 업데이트#
사전 요구 사항:
- Maintainer 또는 Owner 권한이 있어야 합니다.
그룹이나 프로젝트가 에이전트나 플로의 최신 버전을 사용하게 하려면 다음 단계를 수행합니다.
- 상단 바에서 Search or go to를 선택하고 프로젝트 또는 그룹을 찾습니다.
- 왼쪽 사이드바에서 다음 중 하나를 선택합니다.
- AI > Agents
- AI > Flows
- 업데이트할 에이전트나 플로를 선택합니다.
- 최신 버전을 꼼꼼히 검토합니다. 업데이트하려면 View latest version > **Update to
<x.y.z>**를 선택합니다.
구성 크기 제한#
히스토리
- 플로와 외부 에이전트 YAML에 대한 별도 크기 제한이 GitLab 19.3에서 도입되었습니다.
AI 카탈로그 항목의 구성은 다음 최대 크기를 초과할 수 없습니다.
| 항목 유형 | 최대 크기 | 측정 대상 |
|---|---|---|
| 사용자 정의 에이전트 | 80 KiB | 저장된 구성 |
| 플로 | 40 KiB | 입력한 YAML 구성 |
| 외부 에이전트 | 40 KiB | 입력한 YAML 구성 |
플로와 외부 에이전트는 제한이 더 낮습니다. GitLab은 입력한 YAML과 그로부터 생성하는 구조화된 구성을 모두 저장합니다. 이 둘을 합치면 YAML 크기의 약 두 배가 됩니다.
구성이 제한을 초과하면 GitLab 이 오류를 표시하고 항목을 저장하지 않습니다. 이 오류를 해결하려면 구성의 크기를 줄입니다.
항목 표시 범위#
히스토리
에이전트나 플로를 만들 때는 이를 관리할 프로젝트를 선택하고, 해당 항목을 공개, 비공개, 제한 중 어느 범위로 둘지 선택합니다. 표시 범위는 누가 항목을 보고, 활성화하고, 실행할 수 있는지를 제어합니다. 이 규칙은 사용자 정의 에이전트, 외부 에이전트, 플로에 모두 적용됩니다.
공개 항목#
- 누구나 볼 수 있으며, 사전 요구 사항을 충족하는 모든 프로젝트에서 켤 수 있습니다.
비공개 항목#
- 관리 프로젝트의 구성원 중 Guest, Planner, Reporter, Developer, Maintainer 또는 Owner 권한이 있는 구성원만 볼 수 있습니다.
- 관리 프로젝트 외의 프로젝트에서는 켤 수 없습니다.
관리 프로젝트가 아닌 다른 프로젝트에서 이미 켜 놓은 항목은 공개나 제한에서 비공개로 바꿀 수 없습니다.
제한 항목#
- 관리 프로젝트의 최상위 그룹에 속한 모든 프로젝트의 구성원이 보고 사용할 수 있습니다.
- 같은 최상위 그룹의 다른 프로젝트에서 켤 수 있습니다.
- 해당 최상위 그룹 밖에서는 보거나 켤 수 없습니다.
- Explore의 AI 카탈로그에서는 볼 수 없습니다.
- Explore의 AI 카탈로그에서는 만들 수 없습니다.
해당 최상위 그룹 밖의 프로젝트에서 이미 켜 놓은 공개 항목은 제한으로 바꿀 수 없습니다.
제한 항목과 공유된 프로젝트 또는 그룹#
GitLab에서는 프로젝트나 그룹을 공유해 다른 프로젝트나 그룹에 연결할 수 있습니다. 활성화와 관련된 제한 표시 범위 규칙은 관리 프로젝트의 실제 최상위 그룹만 고려합니다. 공유된 프로젝트나 그룹 관계는 고려하지 않습니다.
공유를 통해 프로젝트나 그룹에 접근하게 된 협업자는 해당 공유 컨테이너 안에서 작업하는 동안에만 제한 항목을 보고, 활성화하고, 실행할 수 있습니다. 공유는 협업자 본인의 최상위 그룹까지 제한 항목 접근 권한을 확장하지 않습니다.
AI 카탈로그를 그룹 계층으로 제한#
히스토리
- GitLab 19.0에서 도입되었습니다.
최상위 그룹에서 AI 카탈로그를 제한하면, 해당 그룹 계층의 프로젝트에서 사용자가 다음 항목만 보고, 활성화하고, 실행하게 할 수 있습니다.
- GitLab 이 관리하는 기반 에이전트와 플로
- 같은 최상위 그룹 계층의 프로젝트가 소유한 공개 에이전트와 플로
- 해당 프로젝트 자체가 소유한 비공개 에이전트와 플로
계층 밖의 프로젝트가 소유한 에이전트와 플로는 다음과 같이 처리됩니다.
- AI 카탈로그에서 숨겨집니다.
- 활성화가 차단됩니다.
- 프로젝트가 이전에 활성화했더라도 실행이 차단됩니다.
이 설정은 최상위 그룹에서만 구성할 수 있습니다. 설정은 해당 계층의 모든 프로젝트에 적용됩니다. 이 설정의 변경 사항은 감사 로그에 기록됩니다.
사전 요구 사항:
- 최상위 그룹의 Owner 권한이 있어야 합니다.
AI 카탈로그를 그룹 계층으로 제한하려면 다음 단계를 수행합니다.
- 상단 바에서 Search or go to를 선택하고 최상위 그룹을 찾습니다.
- Settings > GitLab Duo를 선택합니다.
- Change configuration을 선택합니다.
- Data and privacy 섹션의 AI Catalog에서 Confine the AI Catalog to this group 체크박스를 선택합니다.
- Save changes를 선택합니다.
항목 삭제#
에이전트나 플로를 삭제하면 GitLab은 인스턴스에서 해당 항목을 제거합니다. 관리 프로젝트가 아닌 다른 프로젝트가 해당 항목을 켜 두었다면 GitLab은 항목을 제거하는 대신 숨깁니다. 이 항목은 더 이상 AI 카탈로그에 나열되지 않으며 어떤 프로젝트도 활성화할 수 없습니다. 절차는 에이전트 삭제와 플로 삭제를 참고합니다.