에이전트 툴 거버넌스
GitLab v19.1Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
이 기능은 베타 상태입니다. 툴 거버넌스는 실행 경계에 위치합니다. 툴은 세 가지 작업 카테고리로 분류됩니다: Read: 정보만 검색하거나 표시하는 툴. Write: 리소스를 생성하거나 수정하는 툴. Delete: 리소스를 삭제하거나 되돌릴 수 없는 방식으로 제거하는 툴.
이 기능은 베타 상태입니다. 사전 고지 없이 변경될 수 있습니다. 자세한 내용은 GitLab Testing Agreement를 참조하세요.
툴 거버넌스는 실행 경계에 위치합니다. 에이전트가 프로젝트에 허용된 후, 툴이 호출되기 전에 거버넌스 레이어가 사용자의 권한과 툴의 작업 카테고리에 대해 구성된 규칙을 참조한 다음 결과 모드를 적용합니다.
툴은 세 가지 작업 카테고리로 분류됩니다:
-
Read: 정보만 검색하거나 표시하는 툴.
-
Write: 리소스를 생성하거나 수정하는 툴.
-
Delete: 리소스를 삭제하거나 되돌릴 수 없는 방식으로 제거하는 툴.
에이전트 툴 거버넌스(human-in-the-loop 가드레일)를 사용하면 관리자가 각 에이전트 툴이 실행 시점에 어떻게 적용될지 정의할 수 있습니다. 에이전트가 검토 없이 아무 툴이나 호출하도록 허용하는 대신, 각 툴을 다음 세 가지 모드 중 하나로 구성할 수 있습니다:
-
Always Allow: 툴이 사용자에게 알리지 않고 자동으로 실행됩니다.
-
Always Ask: 사용자에게 인라인 승인 카드가 표시되며, 작업이 진행되기 전에 승인하거나 거부해야 합니다.
-
Always Deny: 툴이 완전히 차단되어 에이전트에게 보이지 않습니다. 에이전트는 툴을 볼 수 없으며 사용자에게도 프롬프트가 표시되지 않습니다.
이 기능은 Agentic Chat, IDE 익스텐션, 플로 전반에 적용됩니다.
기본 거버넌스 매트릭스#
| 분류 | 모드 |
|---|---|
| Read | Always Allow |
| Write | Always Ask |
| Delete | Always Ask |
승인 프롬프트 (Always Ask)#
에이전트가 Always Ask로 구성된 툴을 호출하면 실행이 일시 중지되고 인라인 승인 카드가 표시됩니다. 카드에는 다음 내용이 표시됩니다:
-
호출되는 툴의 이름.
-
툴이 수행할 작업에 대한 설명.
-
Approve 및 Reject 버튼.
승인하면 툴이 실행되고 에이전트가 계속 진행합니다. 거부하면 툴이 실행되지 않습니다. 에이전트는 거부 신호를 받고 대안적인 접근 방식을 시도하거나 중지할 수 있습니다.
거부 메시지 (Always Deny)#
에이전트가 해당 권한에 대해 Always Deny로 구성된 툴을 호출하려 하면, 툴이 에이전트에게 표시되지 않습니다. 에이전트의 계획에 거부된 툴이 필요한 경우, 거버넌스 정책으로 인해 툴을 사용할 수 없다는 오류를 받게 됩니다.
규칙 해석 및 계단식 적용#
규칙은 가장 구체적인 것부터 덜 구체적인 순서로 다음과 같이 해석됩니다:
-
프로젝트 수준 규칙 (구성된 경우).
-
그룹 수준 규칙 (구성된 경우).
-
기본 매트릭스 값.
프로젝트 수준 규칙은 동일한 툴에 대해 그룹 수준 규칙을 재정의하지만, 그룹 수준 규칙과 동일하거나 더 엄격하게만 설정할 수 있습니다. 그룹 수준 규칙은 기본값을 재정의합니다. 어떤 수준에서도 규칙이 구성되지 않은 경우, 툴은 기본적으로 Always Allow로 설정됩니다.
페일-클로즈드(fail-closed) 원칙이 적용됩니다. 거버넌스 서비스가 규칙 해석 중 지속적인 오류가 발생하면, 에이전트는 자동으로 실행을 허용하는 대신 툴을 전혀 받지 못합니다.
그룹에 대한 툴 거버넌스 구성#
그룹 수준 규칙은 프로젝트 수준에서 재정의되지 않는 한 그룹 내 모든 프로젝트에 적용됩니다.
사전 요구 사항:
- 최상위 그룹에 대한 Owner 권한이 있어야 합니다.
그룹에 대한 툴 거버넌스 규칙을 구성하려면:
-
상단 바에서 Search or go to를 선택하고 최상위 그룹을 찾습니다.
-
Settings > GitLab Duo를 선택합니다.
-
Change governance를 선택합니다.
-
각 툴에 대해 Mode 드롭다운 목록에서 모드를 선택합니다: Always Allow, Always Ask, 또는 Always Deny.
-
Save changes를 선택합니다.
변경 사항은 프로젝트 수준 재정의가 없는 모든 하위 그룹 및 프로젝트에 적용됩니다.
프로젝트에 대한 툴 거버넌스 구성#
프로젝트 수준 규칙은 해당 프로젝트 내에서 동일한 툴에 대한 그룹 수준 규칙을 재정의합니다.
사전 요구 사항:
- 프로젝트에 대한 Maintainer 또는 Owner 권한이 있어야 합니다.
프로젝트에 대한 툴 거버넌스 규칙을 구성하려면:
-
상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
-
왼쪽 사이드바에서 Settings > GitLab Duo를 선택합니다.
-
Change governance를 선택합니다.
-
각 툴에 대해 드롭다운에서 모드를 선택합니다: Always Allow, Always Ask, 또는 Always Deny.
-
Save changes를 선택합니다.