GitLab Duo Chat
GitLab Duo Chat의 아키텍처, 기여 방법, 도구 추가, 디버깅, 테스트, GraphQL 쿼리 등 개발자를 위한 전반적인 내용을 설명합니다.
GitLab Duo Chat은 소프트웨어 개발 수명 주기(Software Development Lifecycle, SDLC) 전반에 걸쳐 아이디에이션·창작 작업과 학습 작업에 AI를 활용하여 사용자가 더 빠르고 효율적으로 작업할 수 있도록 지원하는 것을 목표로 합니다. Chat 은 GitLab Duo 오퍼링의 일부입니다. Chat은 다양한 질문에 답하고 특정 작업을 수행할 수 있습니다. 이는 프롬프트 와 도구 의 도움으로 이루어집니다. Chat 인터페이스에서 사용자가 질문하면, GitLab은 GraphQL 요청 을 Rails 백엔드에 전송합니다. Rails 백엔드는 AI Gateway 를 통해 대형 언어 모델(Large Language Model, LLM)에 지시를 전송합니다. Chat 기여에 가장 적합한 유스케이스는 무엇인가요? # 저희는 대형 언어 모델(LLM)이 주도하는 사용자 와 AI 간의 대화형 상호작용으로 이점을 얻을 수 있는 모든 유스케이스와 워크플로에 Chat을 활용하고자 합니다. 일반적으로 이에 해당하는 것들은 다음과 같습니다: 일회성 상호작용보다 반복 을 통해 더 효과적이고 효율적으로 해결할 수 있는 창작·아이디에이션 작업 및 학습 작업. 일반적으로 일회성 상호작용으로 충족될 수 있지만 정제가 필요하거나 대화로 이어질 수 있는 작업 . 후자 중에는 AI가 처음에는 정확하지 않을 수 있지만 사용자가 AI에게 더 정확히 원하는 것을 알려줌으로써 쉽게 방향을 수정할 수 있는 작업이 포함됩니다. 예를 들어, "이 코드를 설명해줘"는 대부분의 경우 만족스러운 답변을 제공하는 일반적인 질문이지만, 때로는 사용자가 추가적인 질문을 할 수 있습니다. 사용자와 AI 모두 반복적으로 같은 내용을 말할 필요가 없도록 대화 기록의 혜택을 받는 작업 . Chat은 컨텍스트를 인식하고 궁극적으로 사용자가 접근할 수 있는 GitLab의 모든 리소스에 접근하는 것을 목표로 합니다. 초기에는 개별 이슈와 에픽의 내용, 그리고 GitLab 문서로 제한되었으나, 이후 코드 선택 및 코드 파일과 같은 추가 컨텍스트가 더해졌습니다. 현재 취약점 컨텍스트와 파이프라인 job 컨텍스트가 개발 중이어서, 사용자가 이러한 컨텍스트에 대해 질문할 수 있게 될 예정입니다. 전체 DevSecOps 도메인에 걸쳐 컨텍스트 인식을 확장하고, 그에 따라 창작·아이디에이션·학습 유스케이스를 확장하기 위해, GitLab Duo Chat 팀은 다른 GitLab 팀과 더 넓은 커뮤니티로부터 Chat 플랫폼에 대한 기여를 환영합니다. 이들이 가속화할 유스케이스와 워크플로의 전문가들입니다. 독립형 AI 기능으로 구현하는 것이 더 나은 유스케이스는 무엇인가요? # 독립형 AI 기능으로, 또는 적어도 독립형 AI 기능으로도 구현하는 것이 더 나은 유스케이스는 무엇인가요? AI를 기존 워크플로에 깊이 통합하여 가속화할 수 있는 범위가 좁게 정해진 작업. AI와의 대화에서 이점을 얻을 수 없는 작업. 좀 더 구체적으로 설명하기 위해 예시를 들겠습니다. 변경 내용을 기반으로 커밋 메시지를 생성