이 출시되었습니다! 11월의 새로운 기능 및 수정 사항을 읽어보세요.

Visual Studio Code의 백그라운드 에이전트

Visual Studio Code의 백그라운드 에이전트는 로컬 머신에서 백그라운드로 실행되는 Copilot CLI와 같은 CLI 기반 에이전트입니다. 에디터에서 다른 작업을 계속하는 동안 자율적으로 작동합니다. 백그라운드 에이전트는 Git worktree를 사용하여 메인 작업 공간에서 격리된 상태로 작업하고 활성 작업과의 충돌을 방지할 수 있습니다.

이 문서에서는 백그라운드 에이전트의 주요 기능과 Copilot CLI 또는 OpenAI Codex에서 백그라운드 세션을 시작하고 관리하는 방법을 다룹니다.

Screenshot of background agent session as a chat editor in VS Code.

백그라운드 에이전트란?

VS Code의 에디터 컨텍스트를 인식하고 그 안에서 작동하는 로컬 에이전트와 달리, 백그라운드 에이전트는 로컬 머신에서 명령줄 인터페이스(CLI)를 통해 독립적으로 실행됩니다. VS Code의 통합 채팅 보기를 통해 모든 백그라운드 에이전트 세션을 보고 관리할 수 있습니다. 이 보기에서는 VS Code에서 직접 새로운 백그라운드 에이전트 세션을 만들거나 로컬 에이전트 대화를 백그라운드 에이전트로 넘겨줄 수도 있습니다.

백그라운드 에이전트는 사용자 상호 작용 없이 백그라운드에서 실행되므로, 범위가 잘 정의되어 있고 필요한 모든 컨텍스트를 갖춘 작업에 적합합니다. 예를 들어 계획에 따라 기능을 구현하거나, 개념 증명(proof of concept)의 여러 변형을 만들거나, 명확하게 정의된 수정 또는 기능을 구현하는 작업 등이 있습니다.

백그라운드 에이전트는 자동으로 코드베이스에 변경 사항을 적용합니다. 에디터에서 활성 작업과의 간섭을 방지하기 위해, 백그라운드 에이전트는 Git worktree를 사용하여 격리된 환경에서 실행될 수 있으며, 이 환경에서는 메인 작업 공간에 영향을 주지 않고 변경을 수행할 수 있습니다. worktree 격리 기능을 사용하여 백그라운드 에이전트 세션을 시작하면 VS Code는 해당 세션을 위한 별도의 폴더를 자동으로 생성합니다. 백그라운드 에이전트를 메인 작업 공간에서 실행하도록 선택할 수도 있지만, 이 경우 충돌이 발생할 수 있습니다.

백그라운드 에이전트는 CLI를 통해 실행되며 VS Code의 내장 도구와 런타임 컨텍스트(예: 실패한 테스트 또는 텍스트 선택)에 직접 액세스할 수 없습니다. 또한 MCP 서버나 확장 프로그램에서 제공하는 도구에 액세스할 수도 없습니다. CLI 도구를 통해 사용 가능한 모델로 제한됩니다. 백그라운드 에이전트는 터미널 명령을 실행할 수 있으며 필요한 경우 승인을 요청할 수 있습니다.

백그라운드 에이전트에 작업을 할당하려면 채팅 보기에서 직접 새로운 백그라운드 세션을 만들거나, 에이전트 전용 CLI를 사용하거나, VS Code의 로컬 에이전트 대화를 백그라운드 에이전트 세션으로 넘겨줄 수 있습니다.

Copilot CLI

Copilot CLI는 VS Code의 주요 백그라운드 에이전트입니다. 터미널에서 직접 Copilot CLI를 사용하거나 VS Code 내에서 세션을 시작하고 관리할 수 있습니다.

시작하려면 Copilot CLI를 설치하고 설정했는지 확인하세요. VS Code에서 자동으로 처리해주지만, 다음 명령을 사용하여 CLI를 수동으로 설치하도록 선택할 수도 있습니다.

npm install -g @github/copilot

GitHub 설명서에서 Copilot CLI에 대해 자세히 알아보세요.

OpenAI Codex

OpenAI Codex 백그라운드 에이전트는 OpenAI의 Codex를 사용하여 코딩 작업을 자율적으로 수행합니다. OpenAI Codex 에이전트를 사용하려면 Visual Studio Marketplace에서 OpenAI Codex 확장을 설치했는지 확인하세요.

VS Code의 OpenAI Codex는 Copilot Pro+ 구독을 사용하여 추가 설정 없이 Codex를 인증하고 액세스할 수 있도록 합니다. GitHub 설명서에서 GitHub Copilot 결제 및 프리미엄 요청에 대한 자세한 정보를 얻으세요.

백그라운드 에이전트 세션 보기 및 관리

VS Code의 채팅 보기에서 모든 백그라운드 에이전트 세션을 보고 관리할 수 있습니다. 필터 옵션에서 **백그라운드 에이전트**를 선택하여 세션 목록을 백그라운드 에이전트 세션만 표시하도록 필터링하세요.

Screenshot of background agent filter in VS Code Chat view.

목록에서 백그라운드 에이전트 세션을 선택하면 채팅 보기에서 세션 세부 정보를 열 수 있습니다. 세션을 에디터 탭(채팅 에디터)으로 보려면 세션을 마우스 오른쪽 버튼으로 클릭하고 **에디터로 열기**를 선택하세요.

백그라운드 세션을 VS Code의 채팅 대화 대신 터미널에서 보려면 채팅 보기에서 세션을 마우스 오른쪽 버튼으로 클릭하고 **터미널에서 에이전트 세션 재개**를 선택하세요. VS Code에서 Copilot CLI와 직접 상호 작용할 수 있습니다.

Screenshot showing the Copilot CLI session inside VS Code.

백그라운드 에이전트 세션 시작

워크플로우에 따라 여러 가지 방법으로 백그라운드 에이전트 세션을 시작할 수 있습니다. CLI를 사용하여 새 세션을 만들고 작업 세부 정보를 직접 제공하거나, VS Code의 채팅 보기에서 새 세션을 시작할 수 있습니다.

또 다른 접근 방식 - 특히 복잡한 작업의 경우 - 먼저 VS Code 채팅에서 로컬 에이전트와 상호 작용하여 범위와 세부 정보를 명확히 한 다음, 해당 작업을 백그라운드 에이전트 세션으로 넘겨주는 것입니다. 예를 들어, 계획 에이전트를 사용하여 다단계 기능 구현을 개요화한 다음, 실제 코딩을 백그라운드 에이전트에 위임할 수 있습니다.

Copilot CLI 백그라운드 에이전트 세션 만들기

VS Code에서 Copilot CLI 백그라운드 에이전트 세션을 만드는 방법은 여러 가지가 있습니다.

  • 채팅 보기에서

    1. 채팅 보기 열기(⌃⌘I (Windows, Linux Ctrl+Alt+I))

    2. 새 채팅 드롭다운 > 새 백그라운드 에이전트 선택

  • 로컬 채팅 세션 중에

    • 채팅 입력란에 @cli <작업 설명>을 입력하고 메시지 전송

    • 프롬프트를 입력한 다음 계속 > 백그라운드 에이전트 선택

  • 명령 팔레트(⇧⌘P (Windows, Linux Ctrl+Shift+P))에서 채팅: 새 백그라운드 에이전트 명령 실행

새로운 백그라운드 에이전트 세션이 열리면 추가 작업 세부 정보를 제공하고 Copilot CLI 세션의 진행 상황을 추적할 수 있습니다.

터미널에서 GitHub Copilot CLI를 사용하여 세션을 시작하면 VS Code의 채팅 보기는 이 백그라운드 세션을 자동으로 감지하고 표시합니다. VS Code 내에서 이 백그라운드 세션과 계속 상호 작용할 수 있습니다.

OpenAI Codex 백그라운드 에이전트 세션 만들기

채팅 보기에서 새로운 OpenAI Codex 백그라운드 에이전트 세션을 만들려면

  • 채팅 보기에서

    1. 채팅 보기 열기(⌃⌘I (Windows, Linux Ctrl+Alt+I))

    2. 새 채팅 드롭다운 > 새 Codex 에이전트 선택

  • 명령 팔레트(⇧⌘P (Windows, Linux Ctrl+Shift+P))에서 Codex: 새 Codex 에이전트 명령 실행

새로운 Codex 백그라운드 에이전트 세션이 열리면 추가 작업 세부 정보를 제공하고 Codex 세션의 진행 상황을 추적할 수 있습니다.

에이전트 세션을 백그라운드 에이전트로 넘겨주기

복잡한 작업의 경우, 먼저 VS Code 채팅에서 로컬 에이전트와 상호 작용하여 요구 사항을 명확히 한 다음, 작업을 백그라운드 에이전트로 넘겨 자율적으로 실행하도록 하는 것이 도움이 될 수 있습니다. 로컬 에이전트 대화를 백그라운드 에이전트 세션으로 넘겨줄 때, 전체 대화 기록과 컨텍스트가 백그라운드 에이전트로 전달됩니다.

로컬 에이전트 세션을 백그라운드 에이전트 세션으로 계속하려면

  1. 채팅 보기 열기(⌃⌘I (Windows, Linux Ctrl+Alt+I))

  2. 작업을 백그라운드 에이전트로 넘겨줄 준비가 될 때까지 로컬 에이전트와 상호 작용

  3. 백그라운드 에이전트로 넘겨주려면 다음 옵션이 있습니다.

    • 계속을 선택한 다음 백그라운드 선택

      Screenshot showing the "Continue in Chat" button in VS Code chat interface.

    • 계획 에이전트를 사용하는 경우, **구현 시작** 드롭다운을 선택하고 **백그라운드에서 계속**을 선택하여 백그라운드 에이전트 세션에서 구현을 실행합니다.

      Screenshot showing the "Start Implementation" button in VS Code chat interface.

    • 채팅 입력란에 @cli를 입력하여 작업을 백그라운드 에이전트로 넘겨줍니다.

백그라운드 에이전트 세션이 자동으로 시작되며, 전체 대화 기록과 컨텍스트가 전달됩니다. 채팅 보기에서 백그라운드 에이전트의 진행 상황을 모니터링할 수 있습니다.

격리된 백그라운드 에이전트 세션 만들기 (실험적)

백그라운드 에이전트의 변경 사항을 메인 작업 공간에서 격리하려면, Git worktree를 사용하는 백그라운드 에이전트 세션을 만들 수 있습니다. worktree를 만들 때 VS Code는 세션을 위한 별도의 폴더를 생성합니다. 백그라운드 에이전트는 이 격리된 폴더에서 작동하여 활성 작업과의 충돌을 방지합니다.

백그라운드 에이전트 세션에서 Git worktree를 사용하려면

  1. VS Code에서 새로운 Copilot CLI 백그라운드 에이전트 세션을 시작합니다.

  2. 채팅 입력 상자에서 격리 모드를 **Worktree**로 선택합니다.

    Screenshot showing the "Worktree" isolation mode option in VS Code chat interface.

    **Workspace**를 선택하면 백그라운드 에이전트가 변경 사항을 메인 작업 공간에 직접 적용합니다.

  3. 에이전트 세션을 시작하기 위한 프롬프트를 입력합니다. VS Code는 새 Git worktree를 자동으로 생성합니다.

    백그라운드 에이전트가 수행하는 모든 변경 사항은 worktree 폴더에 적용되어 메인 작업 공간과 격리됩니다.

  4. 소스 제어 보기의 **리포지토리** 보기에서 Git worktree를 볼 수 있습니다.

    Screenshot showing Git worktree in VS Code Source Control view.

    에이전트 보기에도 백그라운드 에이전트 세션의 worktree 경로가 표시됩니다.

  5. 에이전트 보기에서 백그라운드 에이전트의 진행 상황 모니터링

  6. 백그라운드 에이전트가 작업을 완료한 후, worktree의 변경 사항을 검토하고 메인 작업 공간으로 병합할 수 있습니다.

    변경 사항을 병합하기 전에, 채팅 에디터의 **변경 사항 적용** 버튼을 사용하여 worktree에서 메인 작업 공간으로 직접 적용할 수 있습니다.

VS Code 소스 제어에서 Git worktree 사용에 대해 자세히 알아보세요.

사용자 지정 에이전트와 백그라운드 에이전트 사용 (실험적)

사용자 지정 에이전트를 사용하면 VS Code에서 에이전트의 사용자 지정 페르소나와 역할을 정의할 수 있습니다. 예를 들어 코드 검토를 수행하는 사용자 지정 에이전트를 만들 수 있습니다. 사용자 지정 에이전트는 특정 지침과 동작을 정의할 수 있습니다.

백그라운드 에이전트 세션을 만들 때, 사용자 지정 에이전트를 선택하여 작업을 처리하도록 할 수 있습니다. 백그라운드 에이전트는 사용자 지정 에이전트의 정의된 동작에 따라 작동합니다.

백그라운드 에이전트와 함께 사용자 지정 에이전트 사용

  1. github.copilot.chat.cli.customAgents.enabled 설정을 사용하여 백그라운드 에이전트의 사용자 지정 에이전트 활성화

  2. 명령 팔레트(⇧⌘P (Windows, Linux Ctrl+Shift+P))에서 채팅: 새 사용자 지정 에이전트 명령을 사용하여 작업 공간에서 사용자 지정 에이전트 만들기

    참고

    현재 작업 공간에 정의된 사용자 지정 에이전트만 백그라운드 에이전트 세션에서 사용할 수 있습니다. 사용자 지정 에이전트 만들기에 대해 자세히 알아보세요.

  3. 새 백그라운드 에이전트 세션을 만들고 에이전트 드롭다운에서 사용자 지정 에이전트 선택

    Screenshot showing custom agent selection in VS Code chat interface.

  4. 프롬프트를 입력하면 사용자 지정 에이전트가 작업을 처리하는 데 사용되는 것을 확인할 수 있습니다.

© . This site is unofficial and not affiliated with Microsoft.