에이전트 기반 채팅을 페어 프로그래머로 사용하기

이 문서에서는 통합 개발 환경(IDE)에서 Gemini Code Assist 에이전트 모드를 페어 프로그래머로 구성하고 사용하는 방법을 설명합니다.

VS Code에서 에이전트 모드를 사용할 수 있습니다.

에이전트 모드에서 Gemini Code Assist를 사용할 수 있는 방법은 다음과 같습니다.

  • 코드에 대해 질문합니다.
  • 에이전트 모드에서 내장 도구와 컨텍스트를 사용하여 생성된 콘텐츠를 개선합니다.
  • MCP 서버를 구성하여 에이전트의 기능을 확장합니다.
  • 여러 단계가 있는 복잡한 작업의 해결 방법을 알아보세요.
  • 설계 문서, 문제, TODO 주석에서 코드를 생성합니다.
  • 실행 중에 계획과 도구 사용을 댓글로 달고, 수정하고, 승인하여 에이전트 동작을 제어합니다.

에이전트 모드 작동 방식

에이전트 모드에서는 사용 가능한 도구 목록과 함께 프롬프트가 Gemini API로 전송됩니다. Gemini API는 프롬프트를 처리하고 응답을 반환합니다. 대답은 직접적인 대답이거나 사용 가능한 도구를 사용하라는 요청일 수 있습니다.

도구가 요청되면 에이전트는 도구를 사용할 준비를 하고 명시적 권한 없이 도구를 사용할 수 있는지 확인합니다. 파일 시스템을 수정하거나 리소스에 대한 변이 작업을 실행하는 도구 요청의 경우, 항상 도구를 허용하도록 Gemini를 구성하지 않은 한 Gemini에서 작업을 허용해 달라고 요청합니다. 읽기 전용인 도구 요청은 작업을 완료하기 전에 권한을 요청하지 않을 수 있습니다. 도구 사용을 허용하라는 메시지가 표시되면 작업을 허용하거나 거부할 수 있습니다. 에이전트에서 도구나 서버를 항상 허용하거나 유사한 작업을 허용하는 옵션을 제공할 수도 있습니다.

도구 사용 권한이 부여되면 에이전트는 도구를 사용하여 필요한 작업을 완료하고 작업 결과는 Gemini API로 다시 전송됩니다. Gemini는 도구 작업의 결과를 처리하고 다른 대답을 생성합니다. 이러한 행동과 평가의 사이클은 작업이 완료될 때까지 계속됩니다.

복잡한 작업의 경우 Gemini가 승인을 위해 개략적인 계획을 표시할 수 있습니다. 프로세스를 시작하기 전에 계획을 세부적으로 조정하고 채팅에서 질문할 수 있습니다. 계획이 마음에 들면 승인할 수 있습니다. 에이전트가 첫 번째 작업을 시작하고 계획을 실행하면서 필요에 따라 명확한 설명이나 권한을 요청합니다.

에이전트 모드 컨텍스트

컨텍스트를 사용하면 상담사가 주어진 프롬프트에 대해 더 나은 대답을 생성할 수 있습니다. 컨텍스트는 IDE의 파일, 로컬 시스템 폴더의 파일, 도구 응답, 프롬프트 세부정보에서 가져올 수 있습니다.

IDE 및 설정에 따라 에이전트가 사용할 수 있는 컨텍스트가 다를 수 있습니다.

다음과 같은 컨텍스트 가져오기 방법은 일반적으로 에이전트 모드의 Gemini Code Assist에서 사용할 수 있습니다.

  • IDE 작업공간의 정보입니다.
  • grep, 터미널, 파일 읽기 또는 파일 쓰기와 같은 내장 도구의 도구 응답입니다.
  • Google 검색 응답
  • 프롬프트 또는 도구에서 제공된 특정 URL의 콘텐츠입니다.
  • 모든 프로젝트, 특정 프로젝트 또는 프로젝트의 특정 구성요소, 모듈 또는 하위 섹션에 대한 특정 지침으로 범위가 지정된 Markdown으로 만든 컨텍스트 파일 컨텍스트 파일에는 에이전트 모드에서 상호작용하는 동안 Gemini가 인식해야 하는 안내, 가이드라인 또는 컨텍스트가 포함될 수 있습니다.

에이전트 모드 메모리

Gemini Code Assist 에이전트 모드는 Gemini CLI 메모리 검색 서비스를 활용하여 에이전트의 컨텍스트를 제공하는 GEMINI.md 파일을 찾아 로드합니다. 메모리 검색 서비스는 현재 작업 디렉터리에서 시작하여 프로젝트 루트와 홈 디렉터리로 이동하면서 계층적으로 파일을 검색합니다. 하위 디렉터리에서도 검색합니다.

전역, 프로젝트 수준, 구성요소 수준 컨텍스트 파일을 사용할 수 있으며, 이러한 파일은 모두 결합되어 모델에 가장 관련성 높은 정보를 제공합니다.

/memory show 명령어를 사용하여 로드된 모든 GEMINI.md 파일의 조합된 콘텐츠를 확인하고 /memory refresh 명령어를 사용하여 다시 로드할 수 있습니다.

Gemini CLI 확장 프로그램

VS Code에서 Gemini CLI 확장 프로그램을 사용하여 Gemini Code Assist 에이전트 모드 기능을 구성하고 확장할 수 있습니다.

에이전트는 다음 두 위치에서 확장 프로그램을 찾습니다.

  • WORKSPACE/.gemini/extensions(여기서 WORKSPACE은 현재 작업공간임)
  • ~/.gemini/extensions(여기서 ~은 홈 디렉터리임)

에이전트는 두 위치에서 모든 확장 프로그램을 로드하지만 동일한 이름의 확장 프로그램이 두 위치에 모두 있는 경우 워크스페이스 디렉터리의 확장 프로그램이 우선합니다. 각 확장 프로그램은 gemini-extension.json 파일이 포함된 디렉터리입니다. 이 파일에는 확장 프로그램의 구성이 포함되어 있습니다.

자세한 내용은 Gemini CLI 확장 프로그램을 참고하세요.

제한사항

에이전트 모드를 사용할 때는 다음과 같은 제한사항이 적용됩니다.

  • 에이전트가 Gemini Code Assist 도구를 호출할 수 없습니다. 이러한 도구를 사용하려면 에이전트 모드를 종료해야 합니다.
  • 상담사는 코드 맞춤설정을 사용할 수 없습니다. 코드 맞춤설정을 사용하려면 에이전트 모드를 종료해야 합니다.
  • 에이전트 모드에서는 루트가 여러 개인 프로젝트가 지원되지 않습니다. 루트 디렉터리가 여러 개인 프로젝트에서 에이전트 모드를 사용하는 경우 에이전트는 처음 발견한 루트 디렉터리에만 액세스할 수 있습니다.
  • Gemini for Google Cloud logs는 에이전트 모드에서 지원되지 않습니다.

시작하기 전에

  1. Gemini Code Assist를 설정합니다.
  2. Gemini Code Assist 출시 채널을 Insiders 빌드로 설정합니다.
    1. 명령어 팔레트 (Cmd + Shift + P)를 열고 사용자 설정 JSON 열기를 선택합니다.
    2. 사용자 설정 JSON에 다음 줄을 추가합니다.
      "geminicodeassist.updateChannel": "Insiders",

에이전트 모드 사용

에이전트 모드에서는 Gemini에게 높은 수준의 목표와 복잡한 작업을 완료해 달라고 요청할 수 있습니다.

에이전트 모드를 최대한 활용하려면 프롬프트 권장사항을 따르고 최대한 많은 세부정보를 제공하세요.

상담사 모드로 전환하려면 다음 단계를 따르세요.

VS Code

  1. Gemini Code Assist 채팅을 열려면 IDE의 작업 표시줄에서 spark Gemini Code Assist를 클릭합니다.
  2. 에이전트 전환 버튼을 클릭하여 에이전트 모드로 전환합니다. 에이전트 모드로 전환하면 전환 스위치가 강조 표시되고 일반 채팅에서는 회색으로 표시됩니다.
  3. Gemini Code Assist 채팅에 프롬프트를 입력합니다.

Gemini가 프롬프트에 대한 대답을 제공하거나 도구를 사용할 수 있는 권한을 요청합니다.

에이전트를 중지하려면 중지를 클릭합니다.

표준 Gemini Code Assist 채팅을 사용하려면 새 채팅을 클릭하여 새 채팅을 만듭니다.

Gemini Code Assist 에이전트 모드는 Gemini CLI를 기반으로 합니다.

IntelliJ

IntelliJ 또는 기타 JetBrains IDE용 Gemini Code Assist에서는 이 기능을 지원하지 않습니다.

에이전트 모드의 도구 구성

도구는 프롬프트에 대한 대답에서 에이전트가 컨텍스트와 작업을 위해 사용할 수 있는 광범위한 서비스 카테고리입니다. 예를 들어 grep, 파일 읽기/쓰기와 같은 기본 제공 도구, 로컬 또는 원격 모델 컨텍스트 프로토콜 (MCP) 서버, 맞춤 서비스 구현이 있습니다.

MCP 서버 구성

에이전트 모드에서 사용할 수 있는 서버를 제어하려면 서버 문서에 따라 Gemini 설정 JSON에 서버를 추가하세요.

VS Code

  1. MCP 서버에 필요한 종속 항목을 설치합니다.
  2. ~/.gemini/settings.json에 있는 Gemini 설정 JSON을 엽니다. 여기서 ~은 홈 디렉터리입니다.
  3. 서버 안내에 따라 Gemini 설정 JSON에 로컬 또는 원격 MCP 서버를 추가합니다.

    다음 예에서는 원격 Cloudflare MCP 서버를 추가하고 로컬 머신에 GitHub 및 GitLab 서버를 설치합니다.

    {
        "mcpServers": {
        "github": {
          "command": "npx",
          "args": [
            "-y",
            "@modelcontextprotocol/server-github"
          ],
          "env": {
            "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_example_personal_access_token12345"
          }
        },
        "gitlab": {
          "command": "npx",
          "args": [
              "-y",
              "@modelcontextprotocol/server-gitlab"
          ]
        },
            "cloudflare-observability": {
                "command": "npx",
                "args": ["mcp-remote", "https://observability.mcp.cloudflare.com/sse"]
            },
            "cloudflare-bindings": {
                "command": "npx",
                "args": ["mcp-remote", "https://bindings.mcp.cloudflare.com/sse"]
            }
        }
    }
    

  4. 명령어 팔레트를 열고 개발자: 창 새로고침을 선택합니다.

구성된 MCP 서버는 에이전트 모드에서 에이전트가 사용할 수 있습니다.

IntelliJ

IntelliJ 또는 기타 JetBrains IDE용 Gemini Code Assist에서는 이 기능을 지원하지 않습니다.

MCP 서버 인증

인증이 필요한 MCP 서버의 경우 Gemini 설정 JSON에 추가할 수 있습니다.

다음 예에서는 GitHub용 개인 액세스 토큰을 추가합니다.

{
//other settings...

"github": {
  "command": "/Users/username/code/github-mcp-server/cmd/github-mcp-server/github-mcp-server",
  "args": ["stdio"],
  "env": {
    "GITHUB_PERSONAL_ACCESS_TOKEN": "ACCESS_TOKEN"
  }
},

// other settings...
}

여기서 ACCESS_TOKEN은 사용자의 액세스 토큰입니다.

컨텍스트 파일 만들기

VS Code

  1. 컨텍스트를 적용할 범위와 일치하는 위치에 GEMINI.md이라는 파일을 만듭니다. 다음 표에는 다양한 범위의 컨텍스트 파일 위치가 자세히 나와 있습니다.

    범위 위치
    모든 프로젝트 ~/.gemini/GEMINI.md
    특정 프로젝트 작업 디렉터리 또는 프로젝트 루트 (.git 폴더로 식별됨) 또는 홈 디렉터리까지의 상위 디렉터리
    프로젝트의 특정 구성요소, 모듈 또는 하위 섹션 작업 디렉터리의 하위 디렉터리입니다.

    에이전트의 메모리 시스템은 여러 위치에서 컨텍스트 파일을 로드하여 생성됩니다. 특정 구성요소나 모듈의 파일과 같은 더 구체적인 파일의 컨텍스트는 ~/.gemini/GEMINI.md의 전역 컨텍스트 파일과 같은 더 일반적인 컨텍스트 파일의 콘텐츠를 재정의하거나 보완합니다.

  2. 에이전트가 사용할 규칙, 스타일 가이드 정보 또는 컨텍스트를 마크다운으로 작성하고 파일을 저장합니다. 자세한 내용은 GitHub의 예시 컨텍스트 파일을 참고하세요.

IntelliJ

IntelliJ 또는 기타 JetBrains IDE용 Gemini Code Assist에서는 이 기능을 지원하지 않습니다.

명령어 사용

Gemini Code Assist 에이전트 모드에서 사용할 수 있는 Gemini CLI 명령어를 보려면 Gemini 채팅에 /를 입력합니다.

에이전트 모드에서는 다음 Gemini CLI 명령어를 사용할 수 있습니다.

  • /tools: 에이전트 모드 세션에서 사용할 수 있는 도구 목록을 표시합니다. 하위 명령어는 다음과 같습니다.
    • desc 또는 descriptions: 각 도구에 관한 자세한 설명을 표시합니다.
    • nodesc 또는 nodescriptions: 도구 설명을 숨기고 도구 이름만 표시합니다.
  • /memory: GEMINI.md 파일에서 로드된 에이전트의 안내 컨텍스트를 관리합니다. 하위 명령어는 다음과 같습니다.
    • show: 사용 가능한 모든 GEMINI.md 파일에서 로드된 현재 메모리의 연결된 전체 콘텐츠를 표시합니다.
    • refresh: 사용 가능한 위치의 모든 GEMINI.md 파일에서 메모리를 다시 로드합니다. GEMINI.md 파일이 에이전트의 계층적 메모리에 어떻게 기여하는지에 관한 자세한 내용은 Gemini CLI 구성 문서를 참고하세요.
  • /mcp: 구성된 Model Context Protocol (MCP) 서버, 연결 상태, 서버 세부정보, 사용 가능한 도구를 나열합니다. 하위 명령어에는 다음이 포함됩니다.
    • desc 또는 descriptions: MCP 서버 및 도구에 대한 자세한 설명을 표시합니다.
    • nodesc 또는 nodescriptions: MCP 서버 설명을 숨기고 MCP 서버 이름만 표시합니다.
    • schema: MCP 서버의 구성된 매개변수의 전체 JSON 스키마를 표시합니다.
  • /stats: 자세한 에이전트 모드 세션 통계와 기간을 표시합니다.

Gemini CLI 명령어에 대한 자세한 내용은 Gemini CLI 명령어를 참고하세요. 일부 Gemini CLI 명령어는 에이전트 모드에서 사용할 수 없습니다.

Yolo 모드

yolo 모드를 사용하여 모든 에이전트 작업을 자동으로 허용할 수 있습니다.

yolo 모드를 구성하려면 다음 단계를 따르세요.

  1. VS Code 사용자 설정 JSON 파일을 엽니다.

    1. 명령어 팔레트 (ctrl/command + Shift + P)를 엽니다.
    2. 기본 설정: 사용자 설정 열기 (JSON)를 선택합니다.
  2. VS Code 사용자 설정 JSON 파일에 다음을 추가합니다.

    //other settings...
    
    "geminicodeassist.agentYoloMode": "true",
    //other settings...
    
  3. 명령어 팔레트를 열고 개발자: 창 새로고침을 선택합니다.

에이전트 모드는 yolo 모드를 사용하며, 프롬프트를 전송할 때 작업을 실행하기 전에 권한을 요청하지 않습니다.

추가 프롬프트

다음 프롬프트를 사용하여 자체 정보를 입력해 보세요.

  • '이 저장소는 어떤 역할을 하나요? 아키텍처를 이해할 수 있게 도와줘.'
  • '이 [클래스/함수] 는 뭘 해?'
  • '이 코드베이스('[코드베이스 링크 또는 경로]')에 기능을 추가해 줘.'
  • '[C] 라는 공통 메서드를 사용하도록 [A] 와 [B] 함수를 리팩터링해 줘.'
  • 'GitHub 문제 [GitHub 문제 링크]를 수정해 줘.'
  • '[환경] 에서 사용자가 [작업] 을 할 수 있는 UI로 [목표]를 수행하는 애플리케이션을 빌드해 줘.'
  • '이 저장소의 라이브러리 버전을 [X] 에서 [Y]로 이전해 줘.'
  • '이 Go 코드가 더 빠르게 실행되도록 성능을 최적화해 줘.'
  • '[API 이름] 을 사용하여 이 기능을 빌드해 줘.'
  • '[x], [Y], [Z]를 실행하는 알고리즘을 구현해 줘.'

다음 단계