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

AI + 원격 개발로 생산성 향상

2025년 5월 27일 by Brigit Murtaugh, Christof Marti, Josh Spicer, Olivia Guzzardo McVicker

VS Code를 유연하고 강력하게 만드는 기능 중 하나는 원격 개발(Remote Development)입니다. 로컬 데스크톱에서 보안 VM에 연결하든, 태블릿에서 매우 강력한 컴퓨터에 연결하든, 프로젝트에 필요한 모든 종속성을 갖춘 컨테이너화된 환경에 연결하든 상관없이 VS Code의 "어디서든 무엇이든 개발(develop anything from anywhere)" 기능은 거의 모든 설정에서 도움이 될 수 있습니다.

이제 이러한 기능을 VS Code의 AI의 유연성과 강력함과 결합하면 매우 다재다능한 개발 환경을 갖추게 됩니다. 원격 작업 공간에 대한 컨텍스트를 유지하는 채팅 대화를 보장하고, 원격 연결 설정 및 디버깅에 대한 AI 지원을 받고, 에이전트 모드가 자율적으로 작동할 수 있는 더 격리된 공간을 제공할 수 있습니다.

이 블로그에서는 기존 원격 설정을 "AI와 함께 작동하도록" 향상시키는 방법과 사용자 지정 지침, 채팅 참가자 및 에이전트 자동 승인을 포함하는 더 사용자 지정된 AI + 원격 워크플로에 대해 살펴보겠습니다.

원격 개발이란 무엇인가요?

VS Code 원격 개발을 설명할 때 우리는 다섯 가지 주요 경험을 언급합니다.

  • 원격 - SSH - SSH를 사용하여 원격 머신/VM에서 폴더를 열어 모든 위치에 연결합니다.
  • 개발 컨테이너(Dev Containers) - 컨테이너 내에서(또는 컨테이너로 마운트된) 별도의 툴체인 또는 컨테이너 기반 애플리케이션으로 작업합니다.
  • WSL - Linux용 Windows 하위 시스템에서 Linux 기반 개발 환경을 얻습니다.
  • 원격 - 터널 - SSH를 구성하지 않고도 보안 터널을 통해 원격 머신에 연결합니다.
  • GitHub Codespaces - 여러분을 위해 관리되는 원격 환경입니다.

Remote architecture

원격 환경에서 AI를 어떻게 사용할 수 있나요?

로컬 머신에서 작업하든 원격 환경에 연결되어 있든 VS Code에서 AI 코딩 경험을 최대한 원활하게 만들고 싶습니다. 이미 로컬에서 GitHub Copilot을 사용하고 있다면 원격에서도 자동으로 설치됩니다. GitHub Codespaces에도 구성되어 있습니다!

원격 환경에서 AI를 사용하는 것은 당연히 작동하지만, 원격 워크플로를 더욱 강력하게 만들 수 있는 추가 AI 기능이 있습니다.

  • 사용자 지정 지침 - 원격 환경에 맞게 AI 경험을 조정합니다.
  • 채팅 참가자 - 채팅을 사용하여 원격 환경을 설정하고 문제를 해결합니다.
  • 도구 승인 - 원격 환경에서 안전하게 자율 코딩 세션을 실행합니다.

원격 환경에 맞게 AI 경험을 조정합니다.

LLM과 함께 작업할 때 사용자로부터 가장 많이 듣는 요청 중 하나는 "LLM이 내 코드와 코딩 방식을 더 잘 이해하도록 어떻게 도울 수 있나요?"입니다. 이는 사용자 지정 지침을 통해 달성할 수 있습니다. 사용자 지정 지침은 특정 코딩 방식과 기술 스택에 맞는 응답을 얻기 위한 일반적인 지침 또는 규칙을 설명합니다. 모든 AI 채팅 쿼리에 이 컨텍스트를 수동으로 포함하는 대신, 사용자 지정 지침은 이 정보를 모든 채팅 요청과 함께 자동으로 통합합니다(최근 블로그 게시물에서 자세히 알아보세요).

우리 팀의 최근 자체 호스팅에서 Copilot에게 코드와 코딩 방식에 대해 알려줄 뿐만 아니라, 우리가 연결된 원격 환경 유형에 대한 추가 정보를 제공하는 데 사용자 지정 지침을 사용하는 것이 유용하다는 것을 알게 되었습니다. 예를 들면 다음과 같습니다.

  • 이것은 어떤 종류의 원격 환경인가요 (예: VM 대 개발 컨테이너)?
  • 어떤 언어 또는 툴체인이 설치되어 있나요? 그 목적은 무엇인가요?
  • 툴체인이 어디에 설치되어 있나요 (예: `PATH`에서 사용 가능한가요)?

우리 팀이 유용하다고 생각한 지침의 예시입니다.

This is a dev container that includes `python3` and `pip3` pre-installed and available on the `PATH`, along with the Python language extensions for Python development.

원격 환경에서 사용자 지정 지침으로 시작하려면 로컬에서 이미 사용했던 것과 동일한 지침 파일을 원격으로 사용할 수 있습니다.

개발 컨테이너에 대한 AI 구성

개발 컨테이너는 모든 도구와 종속성을 미리 구성하여 프로젝트 시작을 더 쉽게 만듭니다. 사용자 지정 지침을 추가하면 LLM이 일반적인 답변을 제공하는 대신 해당 환경에 맞게 조정되었는지 확인할 수 있습니다. 예를 들어, Python 코딩을 위한 개발 컨테이너에는 설치된 도구나 따라야 할 코딩 지침에 대한 사용자 지정 지침이 있을 수 있습니다(위의 예시 참조).

우리 팀은 개발 컨테이너를 사용할 때 여러분의 삶을 더욱 쉽게 만들기 위해 사용자 지정 지침을 미리 구성하는 단계를 밟았습니다. 개발 컨테이너를 생성하고 연결하는 과정을 용이하게 하기 위해 개발 컨테이너 리소스(이미지 및 기능 등)를 게시하며, 이제 이러한 파일에 사용자 지정 지침을 포함합니다. 다음은 우리 팀이 추가한 사용자 지정 개발 컨테이너 지침을 사용하는 방법의 예시입니다.

  • 이미지 또는 기능 중 하나를 사용하여 새 개발 컨테이너 구성을 생성합니다. 손으로 직접 하거나 Dev Containers 확장에서 제공하는 개발 컨테이너: 개발 컨테이너 구성 파일 추가... 명령을 통해 수행할 수 있습니다.

    Dev Containers: Add Dev Container Configuration Files command in VS Code Command Palette

  • 빠른 선택에서 단계를 따릅니다. 이 예시에서는 Python 템플릿을 선택합니다.

    Select Python 3 dev container config in VS Code Command Palette

  • VS Code에서 개발 컨테이너를 빌드하고 연결합니다.

    VS Code notification to reopen project in dev container

  • 선택하고 현재 연결된 환경은 우리 Python 템플릿을 기반으로 하며, Python 기능을 통해 사용자 지정 지침을 포함합니다. 개발 컨테이너 내에서 Copilot과 채팅해 보세요. Copilot이 Python 이미지에서 사용자 지정 지침을 자동으로 가져옵니다!

    AI chat using custom instructions

이미지 및 기능에 추가한 사용자 지정 지침을 사용하는 것 외에도 프로젝트의 `devcontainer.json`에 추가 사용자 지정 지침을 추가할 수 있습니다. 이미지 및 템플릿에 걸쳐 사용자 지정 지침이 성공적으로 병합되도록 만들었습니다. 위에서 설명한 Python 개발 컨테이너 구성에서 수행한 것처럼 `"github.copilot.chat.codeGeneration.instructions"` 설정을 사용할 수 있습니다.

다른 사람이 사용할 수 있도록 개발 컨테이너 구성을 게시하는 경우, 해당 구성에 사용자 지정 지침을 추가하는 방법을 탐색하는 것이 좋습니다! 여기는 Python 개발 컨테이너 기능에서 사용자 지정 지침을 사용하는 예시입니다.

"github.copilot.chat.codeGeneration.instructions": [
    {
        "text": "This dev container includes `python3` and `pip3` pre-installed and available on the `PATH`, along with the Python language extensions for Python development."
    }
],

채팅을 사용하여 원격 환경을 설정하고 문제를 해결합니다.

채팅 참가자는 데이터베이스 또는 특정 API와 상호 작용하는 방법과 같은 도메인별 지식을 제공하여 채팅 경험을 향상시킵니다. 채팅 입력 필드에 @를 입력하여 사용 가능한 참가자 목록을 보고 선택하면 됩니다. 이 참가자들은 Ask 모드에서 사용할 수 있습니다. @workspace, @vscode, @terminal과 같은 여러 기본 제공 채팅 참가자가 있습니다. 확장 프로그램도 채팅 참가자를 제공할 수 있습니다.

원격 - SSH 확장은 Copilot 채팅 참가자를 포함합니다. 원격 환경 요소의 구성 또는 문제 해결에 대한 도움을 받으려면 @remote-ssh에 문의하세요.

Using Remote - SSH participant in VS Code chat panel

이 참가자는 일반적인 SSH 및 원격 개발 주제에 대해서도 잘 알고 있습니다.

Asking Remote - SSH participant about remote auth

연결 실패가 발생하면 Copilot으로 진단 기능이 문제를 빠르게 이해할 수 있는 방법을 제공합니다.

Diagnose with Copilot option in notification

Copilot이 문제를 조사하고 실행 가능한 통찰력을 제공할 것입니다.

원격 환경에서 안전하게 자율 코딩 세션을 실행합니다.

사용자 프롬프트에 대한 작업을 완료하는 부분으로 에이전트 모드는 도구 및 터미널 명령을 실행할 수 있습니다. 에이전트 모드는 코드 변경을 제안할 뿐만 아니라 터미널 명령 및 도구를 실행할 수 있기 때문에 강력합니다. 예를 들어 프로젝트 종속성을 설치하거나 테스트를 실행할 수 있습니다. 그러나 이러한 작업 중 일부는 파일을 삭제하거나 로컬 구성을 수정하는 등 파괴적일 수 있습니다. 따라서 에이전트 모드에서 도구 및 터미널 명령 사용을 승인해야 합니다.

Agent mode tool approval options dropdown

모든 도구를 자동 승인하려는 경우, 실험적인 chat.tools.autoApprove 설정을 사용할 수 있습니다. 의도하지 않은 터미널 명령이나 도구 호출에 대한 어느 정도의 보호를 제공하기 위해, 로컬 개발 머신에 영향을 미치지 않도록 개발 컨테이너 또는 원격 머신에만 이 설정을 지정하도록 선택할 수 있습니다.

Auto Approve tool setting in VS Code remote settings

이렇게 하면 모든 도구가 자동으로 승인되며, 언어 모델이 도구를 실행하려고 할 때 VS Code는 확인을 요청하지 않습니다. 이렇게 하면 에이전트 모드에 더 많은 자율성을 부여하여 시간을 절약할 수 있지만, 이 설정을 사용하면 모델이 수행하려는 잠재적으로 파괴적인 작업을 취소할 기회가 없다는 점을 명심해야 합니다.

로컬 머신의 일부인 원격 환경(개발 컨테이너와 같은) 또는 자격 증명에 액세스할 수 있는 원격 환경은 서로 다른 수준의 위험을 초래한다는 점에 유의하십시오.

다음 단계

VS Code의 원격 개발 및 AI의 미래가 기대됩니다. 월간 릴리스는 흥미로운 새로운 기능으로 가득 차 있으며, 에서의 Copilot Chat 지원(vscode.dev, github.dev)과 같이 다음에 무엇이 올지 끊임없이 기대하고 있습니다.

행복한 (스마트하고 원격인) 코딩 되세요! Brigit, Christof, Josh, Olivia

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