InfoGrab DocsInfoGrab Docs

Software Development Flow

요약

Software Development Flow는 소프트웨어 개발 수명 주기 전반의 작업에 대해 AI가 생성한 솔루션을 만들도록 돕습니다. 이 플로는 VS Code, Visual Studio, JetBrains에서 사용할 수 있습니다.

Model information
히스토리
  • GitLab 17.4에서 duo_workflow라는 기능 플래그와 함께 비공개 베타로 도입되었습니다. GitLab 팀 구성원에게만 활성화되었습니다.
  • GitLab 18.2에서 GitLab.com, GitLab Self-Managed, GitLab Dedicated에서 활성화되고 베타로 변경되었습니다.
  • GitLab 18.8에서 정식 출시되었습니다. 기능 플래그 duo_workflow가 제거되었습니다.
  • GitLab 18.10에서 GitLab.com의 Free 티어에서 GitLab Credits와 함께 사용할 수 있게 되었습니다.

Software Development Flow는 소프트웨어 개발 수명 주기 전반의 작업에 대해 AI가 생성한 솔루션을 만들도록 돕습니다. 이전에 GitLab Duo Workflow로 불렸던 이 플로는 다음과 같은 특징이 있습니다.

  • IDE에서 실행되므로 컨텍스트나 도구를 전환할 필요가 없습니다.
  • 프롬프트에 따라 계획을 만들고 그 계획을 차례로 수행합니다.
  • 제안된 변경 사항을 프로젝트의 리포지터리에 스테이징합니다. 제안을 수락, 수정, 거부하는 시점은 사용자가 정합니다.
  • 프로젝트 구조, 코드베이스, 히스토리의 컨텍스트를 이해합니다. 관련 GitLab 이슈나 머지 리퀘스트 같은 자신만의 컨텍스트를 추가할 수도 있습니다.

이 플로는 VS Code, Visual Studio, JetBrains에서 사용할 수 있습니다.

사전 요구 사항#

플로와 Chat 비교#

Software Development Flow와 GitLab Duo Chat은 모두 IDE의 서로 다른 탭에서 사용할 수 있습니다.

복잡한 개발 작업에는 Software Development Flow를 사용합니다.

  • 이 플로는 포괄적인 컨텍스트를 수집하고, 검토할 수 있는 상세한 계획을 만들며, 작업을 체계적으로 수행합니다.
  • 이 플로는 큰 컨텍스트 창이 필요한 더 길고 깊은 세션에 이상적인 구조화된 접근 방식을 사용하며, 반복이 필요한 코드 생성에서 더 나은 결과를 냅니다.
  • 각 플로에는 시작과 끝이 있습니다. 새 플로를 시작하면 컨텍스트를 다시 수집하고 프로젝트의 현재 상태를 기반으로 새 계획을 만듭니다.

사용자가 방향을 이끄는 대화형 상호작용에는 GitLab Duo Chat을 사용합니다.

  • Chat은 질문에 답하기 위해 정보를 수집하고, 제안을 제공하며, 프롬프트에 따라 사용자를 대신해 자율적으로 작업을 수행할 수 있습니다.
  • Chat은 대화를 계속 이어 가므로 진행 중인 어떤 논의로든 돌아가 중단한 지점에서 이어서 진행할 수 있습니다.

둘 다 비슷한 작업을 도울 수 있지만 작동 방식은 다릅니다. 플로는 포괄적인 컨텍스트를 먼저 수집하고 사람의 개입을 최소화한 채 실행됩니다. Chat은 사용자와 끊임없이 피드백을 주고받는 방식으로 작동하며 대화 중 필요할 때 컨텍스트를 수집합니다. 예를 들어 플로는 접근 방식을 제안하기 전에 여러 솔루션을 고려하지만, Chat은 빠른 결과를 주기 위해 처음 찾은 실행 가능한 경로로 바로 갑니다.

Software Development Flow 사용#

플로를 사용하려면 다음을 수행합니다.

  1. IDE에서 GitLab Duo Agent Platform([duo-agentic-chat])을 선택합니다.

  2. Flows 탭을 선택합니다.

  3. 텍스트 상자에 코드 작업을 자세히 지정합니다.

    • 플로는 프로젝트 브랜치에서 Git이 사용할 수 있는 모든 파일을 인식합니다.

    • Chat에 추가 컨텍스트를 제공할 수 있습니다.

    • 플로는 외부 소스나 웹에 접근할 수 없습니다.

    • 예를 들면 다음과 같습니다.

      I have a large Ruby class that is used in a few places and I want to break it down.
      Analyze this class and see what sub-methods or properties can be delegated to a
      separate class. Then, propose a transition plan to implement this new sub-class
      and update all of the required tests.
      
  4. Start를 선택합니다.

작업을 설명하면 플로가 계획을 생성하고 실행합니다. 플로를 일시 중지하거나 계획을 조정하도록 요청할 수 있습니다.

지원하는 언어#

Software Development Flow는 다음 언어를 공식 지원합니다.

  • CSS
  • Go
  • HTML
  • Java
  • JavaScript
  • Markdown
  • Python
  • Ruby
  • TypeScript

플로가 접근할 수 있는 API#

솔루션을 만들고 문제의 컨텍스트를 이해하기 위해 플로는 여러 GitLab API에 접근합니다.

구체적으로 ai_workflows 범위가 있는 OAuth 토큰은 다음 API에 접근할 수 있습니다.

감사 로그#

Software Development Flow는 API 요청마다 감사 이벤트를 생성합니다. GitLab Self-Managed 인스턴스에서는 인스턴스 감사 이벤트 페이지에서 이 이벤트를 볼 수 있습니다.

위험#

Software Development Flow는 GitLab 계정을 사용해 작업을 수행할 수 있는 AI 에이전트를 사용합니다. 대규모 언어 모델 기반 AI 도구는 예측할 수 없을 수 있습니다. 사용하기 전에 잠재적 위험을 검토합니다.

VS Code, JetBrains IDE, Visual Studio의 Software Development Flow는 로컬 워크스테이션에서 워크플로를 실행합니다. 이 제품을 활성화하기 전에 문서화된 모든 위험을 고려합니다. 주요 위험은 다음과 같습니다.

  • Software Development Flow는 Git이 추적하지 않거나 .gitignore에서 제외된 파일을 포함해 프로젝트의 로컬 파일 시스템에 있는 파일에 접근할 수 있습니다. 여기에는 .env 파일의 자격 증명 같은 민감한 정보가 포함될 수 있습니다.
  • Software Development Flow에는 사용자 신원에 연결된, 유효 기간이 제한된 ai_workflows 범위의 GitLab OAuth 토큰이 부여됩니다. 이 토큰은 워크플로 기간 동안 지정된 GitLab API에 대한 접근을 허용합니다. 기본적으로 명시적 승인 없이는 읽기 작업만 수행되지만, 사용자의 권한에 따라 쓰기 작업도 가능합니다.
  • Software Development Flow에 추가 자격 증명이나 시크릿(예: 메시지나 목표에 포함)을 제공하지 않습니다. 의도하지 않게 사용되거나 코드 또는 API 호출에 노출될 수 있기 때문입니다.

Software Development Flow

GitLab v19.5
Tier: [Free](../subscriptions/gitlab_credits.md#for-the-free-tier), Premium, Ultimate
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
원문 보기

요약

Software Development Flow는 소프트웨어 개발 수명 주기 전반의 작업에 대해 AI가 생성한 솔루션을 만들도록 돕습니다. 이 플로는 VS Code, Visual Studio, JetBrains에서 사용할 수 있습니다.

Model information
히스토리
  • GitLab 17.4에서 duo_workflow라는 기능 플래그와 함께 비공개 베타로 도입되었습니다. GitLab 팀 구성원에게만 활성화되었습니다.
  • GitLab 18.2에서 GitLab.com, GitLab Self-Managed, GitLab Dedicated에서 활성화되고 베타로 변경되었습니다.
  • GitLab 18.8에서 정식 출시되었습니다. 기능 플래그 duo_workflow가 제거되었습니다.
  • GitLab 18.10에서 GitLab.com의 Free 티어에서 GitLab Credits와 함께 사용할 수 있게 되었습니다.

Software Development Flow는 소프트웨어 개발 수명 주기 전반의 작업에 대해 AI가 생성한 솔루션을 만들도록 돕습니다. 이전에 GitLab Duo Workflow로 불렸던 이 플로는 다음과 같은 특징이 있습니다.

  • IDE에서 실행되므로 컨텍스트나 도구를 전환할 필요가 없습니다.
  • 프롬프트에 따라 계획을 만들고 그 계획을 차례로 수행합니다.
  • 제안된 변경 사항을 프로젝트의 리포지터리에 스테이징합니다. 제안을 수락, 수정, 거부하는 시점은 사용자가 정합니다.
  • 프로젝트 구조, 코드베이스, 히스토리의 컨텍스트를 이해합니다. 관련 GitLab 이슈나 머지 리퀘스트 같은 자신만의 컨텍스트를 추가할 수도 있습니다.

이 플로는 VS Code, Visual Studio, JetBrains에서 사용할 수 있습니다.

사전 요구 사항#

플로와 Chat 비교#

Software Development Flow와 GitLab Duo Chat은 모두 IDE의 서로 다른 탭에서 사용할 수 있습니다.

복잡한 개발 작업에는 Software Development Flow를 사용합니다.

  • 이 플로는 포괄적인 컨텍스트를 수집하고, 검토할 수 있는 상세한 계획을 만들며, 작업을 체계적으로 수행합니다.
  • 이 플로는 큰 컨텍스트 창이 필요한 더 길고 깊은 세션에 이상적인 구조화된 접근 방식을 사용하며, 반복이 필요한 코드 생성에서 더 나은 결과를 냅니다.
  • 각 플로에는 시작과 끝이 있습니다. 새 플로를 시작하면 컨텍스트를 다시 수집하고 프로젝트의 현재 상태를 기반으로 새 계획을 만듭니다.

사용자가 방향을 이끄는 대화형 상호작용에는 GitLab Duo Chat을 사용합니다.

  • Chat은 질문에 답하기 위해 정보를 수집하고, 제안을 제공하며, 프롬프트에 따라 사용자를 대신해 자율적으로 작업을 수행할 수 있습니다.
  • Chat은 대화를 계속 이어 가므로 진행 중인 어떤 논의로든 돌아가 중단한 지점에서 이어서 진행할 수 있습니다.

둘 다 비슷한 작업을 도울 수 있지만 작동 방식은 다릅니다. 플로는 포괄적인 컨텍스트를 먼저 수집하고 사람의 개입을 최소화한 채 실행됩니다. Chat은 사용자와 끊임없이 피드백을 주고받는 방식으로 작동하며 대화 중 필요할 때 컨텍스트를 수집합니다. 예를 들어 플로는 접근 방식을 제안하기 전에 여러 솔루션을 고려하지만, Chat은 빠른 결과를 주기 위해 처음 찾은 실행 가능한 경로로 바로 갑니다.

Software Development Flow 사용#

플로를 사용하려면 다음을 수행합니다.

  1. IDE에서 GitLab Duo Agent Platform([duo-agentic-chat])을 선택합니다.

  2. Flows 탭을 선택합니다.

  3. 텍스트 상자에 코드 작업을 자세히 지정합니다.

    • 플로는 프로젝트 브랜치에서 Git이 사용할 수 있는 모든 파일을 인식합니다.

    • Chat에 추가 컨텍스트를 제공할 수 있습니다.

    • 플로는 외부 소스나 웹에 접근할 수 없습니다.

    • 예를 들면 다음과 같습니다.

      I have a large Ruby class that is used in a few places and I want to break it down.
      Analyze this class and see what sub-methods or properties can be delegated to a
      separate class. Then, propose a transition plan to implement this new sub-class
      and update all of the required tests.
      
  4. Start를 선택합니다.

작업을 설명하면 플로가 계획을 생성하고 실행합니다. 플로를 일시 중지하거나 계획을 조정하도록 요청할 수 있습니다.

지원하는 언어#

Software Development Flow는 다음 언어를 공식 지원합니다.

  • CSS
  • Go
  • HTML
  • Java
  • JavaScript
  • Markdown
  • Python
  • Ruby
  • TypeScript

플로가 접근할 수 있는 API#

솔루션을 만들고 문제의 컨텍스트를 이해하기 위해 플로는 여러 GitLab API에 접근합니다.

구체적으로 ai_workflows 범위가 있는 OAuth 토큰은 다음 API에 접근할 수 있습니다.

감사 로그#

Software Development Flow는 API 요청마다 감사 이벤트를 생성합니다. GitLab Self-Managed 인스턴스에서는 인스턴스 감사 이벤트 페이지에서 이 이벤트를 볼 수 있습니다.

위험#

Software Development Flow는 GitLab 계정을 사용해 작업을 수행할 수 있는 AI 에이전트를 사용합니다. 대규모 언어 모델 기반 AI 도구는 예측할 수 없을 수 있습니다. 사용하기 전에 잠재적 위험을 검토합니다.

VS Code, JetBrains IDE, Visual Studio의 Software Development Flow는 로컬 워크스테이션에서 워크플로를 실행합니다. 이 제품을 활성화하기 전에 문서화된 모든 위험을 고려합니다. 주요 위험은 다음과 같습니다.

  • Software Development Flow는 Git이 추적하지 않거나 .gitignore에서 제외된 파일을 포함해 프로젝트의 로컬 파일 시스템에 있는 파일에 접근할 수 있습니다. 여기에는 .env 파일의 자격 증명 같은 민감한 정보가 포함될 수 있습니다.
  • Software Development Flow에는 사용자 신원에 연결된, 유효 기간이 제한된 ai_workflows 범위의 GitLab OAuth 토큰이 부여됩니다. 이 토큰은 워크플로 기간 동안 지정된 GitLab API에 대한 접근을 허용합니다. 기본적으로 명시적 승인 없이는 읽기 작업만 수행되지만, 사용자의 권한에 따라 쓰기 작업도 가능합니다.
  • Software Development Flow에 추가 자격 증명이나 시크릿(예: 메시지나 목표에 포함)을 제공하지 않습니다. 의도하지 않게 사용되거나 코드 또는 API 호출에 노출될 수 있기 때문입니다.