GitLab/데이터베이스 설계

19 개의 포스트

gitlab원문

에이전트 이해 (새 탭에서 열림)

GitLab Duo 에이전트 플랫폼은 소프트웨어 개발 수명 주기(SDLC) 전반에 걸쳐 협업할 수 있는 세 가지 유형의 AI 에이전트—기본(Foundational), 맞춤형(Custom), 외부(External)—를 제공합니다. 사용자는 별도의 설정 없이 바로 사용 가능한 기본 에이전트를 활용하거나, 특정 팀의 워크플로우에 맞춘 맞춤형 에이전트를 구축하고, 외부의 전문화된 AI 모델을 연동하여 비동기적인 자동화 워크플로우를 구현할 수 있습니다. 이러한 다각적인 접근 방식은 개발 팀이 코드 작성부터 보안 분석, 데이터 가공에 이르는 복잡한 작업을 효율적으로 관리할 수 있도록 지원합니다. ### 즉시 활용 가능한 기본 에이전트 GitLab에서 직접 구축하고 유지 관리하는 에이전트로, 별도의 설정 없이 IDE나 웹 UI의 'Agentic Chat'을 통해 즉시 사용할 수 있습니다. * **GitLab Duo:** 일반적인 개발 협업을 위한 기본 에이전트로, 코드 생성 및 수정, 머지 리퀘스트(MR) 생성, 이슈 트리이징 등 전반적인 SDLC 맥락 내에서의 작업을 수행합니다. * **Planner Agent:** 제품 기획 단계에서 에픽(Epic)을 세분화하고 구조화된 이슈를 생성하여 관리자가 기획 생산성을 높일 수 있도록 돕습니다. * **Security Analyst Agent:** 취약점 스캔 결과를 분석하여 오탐을 식별하고, 실제 위험도에 따라 보안 이슈의 우선순위를 정렬합니다. * **Data Analyst Agent:** GitLab 쿼리 언어(GLQL)를 사용하여 플랫폼 전체의 데이터를 조회하고 시각화하며, 이슈 해결 시간 트렌드나 팀별 작업량 등의 인사이트를 제공합니다. ### 팀 표준에 최적화된 맞춤형 에이전트 프로젝트나 그룹 설정 내에서 시스템 프롬프트를 정의하여 팀 고유의 워크플로우와 기준에 최적화된 에이전트를 생성할 수 있습니다. * **시스템 프롬프트 설정:** 에이전트의 전문 분야와 행동 방식을 정의하는 핵심 요소입니다. 예를 들어 디버깅 에이전트의 경우, CI/CD 로그와 런타임 데이터를 상관 분석하도록 역할을 부여할 수 있습니다. * **가시성 제어:** 프로젝트 멤버만 사용할 수 있는 'Private' 모드와 AI 카탈로그에 노출되어 다른 프로젝트에서도 활성화할 수 있는 'Public' 모드 중 선택이 가능합니다. * **주요 활용 사례:** 특정 프로그래밍 언어나 사내 규정에 맞춘 문서화 지원, 신규 팀원을 위한 온보딩 가이드, 현지 언어 기반의 고객 지원 서비스 등이 있습니다. ### 외부 AI 연동을 통한 비동기 자동화 플랫폼 외부에서 구동되는 에이전트로, 이슈나 머지 리퀘스트에서 '@mentions'를 통해 트리거되어 배경에서 작업을 수행합니다. * **전문 AI 모델 활용:** Anthropic의 'Claude Code'(코드 생성 및 분석)나 OpenAI의 'Codex'(작무 위임 및 코드 보조)와 같은 특화된 외부 LLM 기능을 GitLab 내로 가져올 수 있습니다. * **이벤트 기반 자동화:** 사용자와 실시간 대화하는 방식이 아니라, 특정 이벤트가 발생했을 때 백그라운드에서 실행되므로 복잡한 코드 리뷰나 분석 작업에 적합합니다. * **통합 자격 증명 관리:** GitLab은 사용자가 직접 API 키를 관리하거나 순환시킬 필요가 없도록 GitLab 관리형 자격 증명 방식을 지원하여 보안성을 높였습니다. ### 효과적인 에이전트 운용을 위한 제언 에이전트를 도입할 때는 처음부터 모든 권한을 부여하기보다 읽기 전용 권한으로 시작하여 충분한 테스트를 거치는 것이 중요합니다. 특히 맞춤형 에이전트를 제작할 때는 시스템 프롬프트에 역할과 책임을 구체적으로 명시하고, 예상되는 출력 예시를 포함하여 답변의 일관성을 확보해야 합니다. 이를 통해 반복적인 수동 작업을 줄이고 창의적인 개발 업무에 더 집중할 수 있는 환경을 구축할 수 있습니다.

gitlab원문

GitLab Duo Agentic Chat 시작하기 (새 탭에서 열림)

GitLab Duo Agentic Chat은 단순한 질의응답을 넘어 소프트웨어 개발 수명 주기(SDLC) 전반에서 능동적으로 작업을 수행하는 자율형 AI 협업 파트너입니다. 이 플랫폼은 코드 수정, 병합 요청(MR) 생성, 보안 취약점 해결 등 실질적인 액션을 실행하며, 프로젝트의 컨텍스트를 완벽히 이해하여 개발자의 생산성을 극대화합니다. 사용자는 웹 UI와 IDE 내에서 최적화된 모델과 전용 에이전트를 선택함으로써 복잡한 워크플로우를 자동화하고 고품질의 소프트웨어를 빠르게 배포할 수 있습니다. **자율적인 AI 협업 파트너의 핵심 역량** * **능동적 작업 수행:** 질문에 답하는 수준을 넘어 파일을 생성 및 수정하고, 이슈를 트리아지(Triage)하거나 CI/CD 파이프라인의 오류를 직접 해결합니다. * **맥락 인식 능력:** 대화 기록은 물론 프로젝트 아키텍처, 코드베이스, 위키, GitLab 문서 및 보안 스캔 결과까지 광범위한 컨텍스트를 활용합니다. * **확장성 및 통합:** Model Context Protocol(MCP)을 통해 외부 서비스와 통합할 수 있으며, 목적에 따라 전문화된 멀티 에이전트 시스템을 지원합니다. **작업별 최적화를 위한 모델 및 에이전트 선택** * **유연한 모델 구성:** 대규모 언어 모델(LLM)마다 강점이 다르므로 작업 요구사항에 따라 적절한 모델을 선택할 수 있으며, 이는 그룹 또는 사용자 단위로 설정 가능합니다. * **전용 에이전트 활용:** 제품 관리를 위한 'Planner Agent', 보안 분석을 위한 'Security Analyst Agent' 등 특정 도메인에 특화된 에이전트로 전환하여 전문적인 도움을 받을 수 있습니다. * **간편한 접근성:** 웹 UI의 사이드바나 IDE 내의 드롭다운 메뉴를 통해 작업 흐름을 끊지 않고 에이전트와 모델을 즉시 변경할 수 있습니다. **실무 생산성 향상을 위한 주요 활용 사례** * **이슈 및 보안 관리:** 특정 라벨이 지정된 이슈 목록 추출, 에픽(Epic)의 세부 작업 분할, 보안 취약점 분석 및 이를 해결하기 위한 자동 수정 MR 생성이 가능합니다. * **코드 이해 및 온보딩:** 복잡한 코드베이스의 아키텍처 개요 파악, 특정 함수의 호출 위치 검색, 신규 팀원을 위한 로컬 개발 환경 설정 안내 등을 수행합니다. * **디버깅 및 품질 개선:** 실패한 파이프라인 로그를 분석해 원인을 진단하고, 기존 코드를 SOLID 원칙에 맞춰 리팩토링하거나 최신 프로그래밍 언어 버전으로 변환하는 작업을 지원합니다. * **기능 구현 및 테스트:** REST API 엔드포인트 생성, 유닛 테스트 코드 자동 생성, UI 구성 요소의 접근성 검토 등 개발 전 과정을 보조합니다. GitLab Duo Agentic Chat의 잠재력을 최대한 끌어내기 위해서는 작업의 성격에 맞는 전용 에이전트를 선택하는 것이 가장 중요합니다. 보안 분석이나 기획 단계 등 정밀한 컨텍스트가 필요한 작업일수록 일반 채팅보다는 특화된 에이전트를 활용할 것을 권장하며, 향후 출시될 CLI 지원을 통해 터미널 환경에서도 동일한 AI 협업 경험을 확장해 나갈 수 있습니다.

gitlab원문

GitLab Duo Agent Platform을 사용자 정의 (새 탭에서 열림)

GitLab Duo Agent Platform은 개발 팀의 특정 워크플로우와 요구사항에 맞춰 AI 에이전트의 행동을 세밀하게 조정할 수 있는 강력한 사용자 정의 기능을 제공합니다. 개발자는 사용자, 워크스페이스, 프로젝트 등 다양한 수준에서 규칙을 설정하여 일관된 코딩 표준을 유지하고 자동화된 작업의 정확도를 높일 수 있습니다. 이를 통해 팀의 고유한 개발 환경에 최적화된 지능형 에이전트 환경을 구축하고 생산성을 극대화할 수 있습니다. ### 채팅 규칙을 통한 에이전트 행동 제어 * **다층적 설정 구조**: 규칙은 모든 프로젝트에 적용되는 '사용자 수준'과 특정 프로젝트에만 적용되는 '워크스페이스 수준'으로 나뉩니다. 워크스페이스 설정은 사용자 설정을 덮어쓰므로 프로젝트별 유연한 대응이 가능합니다. * **구체적인 지침 작성**: `chat-rules.md` 파일을 통해 "JSDoc 주석 필수 포함", "async/await 사용", "문자열에 홑따옴표 사용"과 같이 AI가 즉각적으로 이행할 수 있는 명확한 액션 위주의 규칙을 정의합니다. * **워크플로우 통합**: 설정된 규칙은 에이전트가 코드를 제안하거나 설명을 제공할 때 팀의 스타일 가이드를 준수하도록 강제하며, 코드 리뷰나 테스트 실행 방식에 일관성을 부여합니다. ### AGENTS.md를 활용한 표준화된 커스터마이징 * **업계 표준 준수**: `AGENTS.md`는 업계 표준 형식을 따르는 설정 파일로, GitLab 내부 에이전트뿐만 아니라 Claude Code와 같은 외부 AI 도구와도 호환되어 범용적인 지침으로 활용할 수 있습니다. * **상세한 페르소나 및 보안 정의**: 에이전트의 말투와 성격부터 프로젝트 아키텍처 패턴, 보안 지침(API 키 하드코딩 금지, 입력값 검증 등)까지 폭넓은 영역을 제어합니다. * **모노레포 지원**: 프로젝트 루트 외에도 하위 디렉토리에 개별 `AGENTS.md`를 배치할 수 있어, 모노레포 환경 내의 서비스나 모듈별로 서로 다른 기술 스택과 규칙을 적용할 수 있습니다. ### 사용자 정의 구현을 위한 최적의 실천법 * **구체성과 우선순위**: 모호한 설명 대신 구체적인 예시를 제공하고, 가장 중요한 규칙을 상단에 배치하여 AI의 이해도를 높여야 합니다. * **팀 협업 및 승인 프로세스**: `Code Owners` 기능을 활용해 규칙 파일의 변경 사항을 관리함으로써 팀의 합의된 표준이 유지되도록 관리하는 것이 권장됩니다. * **기술적 요구사항**: 해당 커스터마이징 기능을 활용하기 위해서는 GitLab 18.8 이상 버전이 필요하며, IDE 사용자의 경우 VS Code용 GitLab Workflow 확장 프로그램 6.60 이상 버전이 설치되어 있어야 합니다. 팀의 코딩 컨벤션과 보안 정책이 반영된 `AGENTS.md`를 프로젝트 루트에 먼저 구성해 보시기 바랍니다. 이를 통해 AI가 생성하는 코드의 품질을 별도의 수정 없이도 즉시 실무에 투입 가능한 수준으로 끌어올릴 수 있습니다.

gitlab원문

AI 카탈로그: 에이 (새 탭에서 열림)

GitLab의 AI 카탈로그는 조직 내에서 AI 에이전트와 워크플로우를 중앙 집중식으로 관리하고 공유할 수 있는 핵심 저장소입니다. 사용자는 이를 통해 사전 구축된 솔루션을 검색하여 즉시 적용하거나, 팀의 특정 요구사항에 맞춘 맞춤형 에이전트 및 플로우를 생성하여 개발 협업 효율성을 극대화할 수 있습니다. 결과적으로 개발 생명주기 전반에 걸쳐 일관되고 재사용 가능한 AI 자동화 환경을 구축하는 것을 목표로 합니다. ## AI 카탈로그의 구성과 활용 방식 * **중앙 저장소 역할:** 조직 내에서 생성된 모든 AI 자산(에이전트 및 플로우)을 한곳에서 탐색하고, 복제하여 커스터마이징하거나 프로젝트에 즉시 활성화할 수 있습니다. * **에이전트(Agents):** 특정 태스크나 전문 분야(예: 디버깅, 코드 리뷰)에 특화된 대화형 AI 도구로, 시스템 프롬프트와 도구 접근 권한을 설정하여 동작을 정의합니다. * **플로우(Flows):** 여러 단계로 구성된 복잡한 자동화 프로세스로, YAML 구조를 통해 여러 에이전트를 조율하고 반복 가능한 멀티 스텝 워크플로우를 실행합니다. ## 맞춤형 자산 생성 및 가시성 관리 * **세밀한 권한 설정:** 에이전트 생성 시 코드, 이슈, 머지 리퀘스트(MR) 등에 대한 도구 접근 권한을 제한적으로 부여하여 보안성을 높일 수 있습니다. * **비공개(Private) 모드:** 특정 프로젝트 멤버나 소유자만 접근할 수 있는 설정으로, 민감한 워크플로우를 개발하거나 초기 실험 단계에서 유용합니다. * **공개(Public) 모드:** 인스턴스 내 모든 사용자가 검색하고 자신의 프로젝트에 활성화할 수 있도록 공유하여 조직 전체의 생산성을 높입니다. * **공유 모범 사례:** `security-code-review`와 같이 명확한 명명 규칙을 사용하고, 상세한 사용 사례와 전제 조건을 문서화하여 품질을 유지할 것을 권장합니다. ## 안정성을 보장하는 버전 관리 시스템 * **자동 의미론적 버전 관리(Semantic Versioning):** 시스템 프롬프트나 구성이 변경될 때마다 GitLab이 자동으로 버전을 업데이트(예: 1.0.0에서 1.1.0으로)하며, 각 버전은 불변(Immutable) 상태로 유지됩니다. * **버전 고정(Version Pinning):** 하위 프로젝트에서 에이전트를 사용할 때 특정 버전으로 고정되어, 카탈로그의 원본이 업데이트되더라도 기존 워크플로우가 예기치 않게 변경되는 것을 방지합니다. * **수동 업데이트 방식:** 새로운 기능이나 개선 사항을 적용하려면 사용자가 직접 업데이트 버튼을 클릭하고 변경 사항을 검토한 후 최신 버전으로 갱신하는 '옵트인(Opt-in)' 방식을 채택합니다. 효과적인 AI 도입을 위해 처음에는 비공개 모드로 에이전트를 생성하여 충분히 테스트한 후, 검증된 자산에 한해 문서화와 함께 공개 모드로 전환하여 조직 전체에 배포하는 전략을 추천합니다.