Skip to main content

효율성을 최대화하고 비용을 절감하도록 AI 사용량 최적화

올바른 모델을 선택하고, 프롬프트를 구성하고, 작업을 보다 효율적으로 완료하고 더 적게 Copilot사용할 수 있도록 AI credits 가드레일을 추가하는 방법을 알아봅니다.

Introduction

이 문서에 설명된 전략은 효율성을 개선하는 Copilot 방법을 보여 하며 결과적으로 더 적은 AI credits수를 사용합니다.

1. 올바른 작업에 적합한 모델 선택

작업에 적합한 기능 수준을 선택하고, 추론을 적절하게 구성하고, 특정 워크로드에 대해 더 저렴한 모델을 활용하여 자동 모델 선택 품질을 유지하면서 토큰 소비를 크게 줄일 수 있습니다.

올바른 모델 선택

모델 선택은 비용 효율성을 개선하는 가장 빠른 방법 중 하나이지만 종종 간과됩니다. 일반적인 패턴은 기본적으로 모든 작업에 가장 적합한 모델로 설정되지만 결과를 개선하지 않으면서 토큰 사용량이 증가하는 경우가 많습니다. 일부 실행이 많은 시나리오에서는 모델이 작업을 과도하게 생각하거나 불필요한 변경을 도입할 수 있으므로 추론 모델을 과도하게 사용하면 품질이 저하됩니다.

관련된 작업에 따라 모델을 선택합니다.

  • 추론 모델: 아키텍처 결정, 복잡한 디버깅, 시스템 디자인 및 심층 분석이 필요한 작업에 가장 적합합니다.
  • 중간 계층 모델: 계획이 이미 명확하고 에이전트를 효율적으로 실행해야 하는 경우에 가장 적합합니다.
  • 더 가벼운 모델: 리팩터링, 서식 지정, 설명서 업데이트 및 기타 일상적인 범위가 잘 지정된 변경에 가장 적합합니다.

작업에 필요한 만큼의 기능을 사용하고 필요한 만큼 적게 사용합니다. 작업과 일치하는 기능은 결과를 향상시키고 대규모 비용을 직접 제어합니다.

모델 및 작업 유형별 분석은 다른 작업을 사용하여 AI 모델 비교을 참조하세요.

모델의 추론 수준 구성

또한 일부 모델은 모델이 응답하기 전에 모델의 이유를 제어하는 구성 가능한 추론 수준을 지원합니다. 수준이 높을수록 복잡한 문제에 대한 답변이 향상될 수 있지만 더 많은 토큰을 사용하므로 크레딧이 더 많이 사용되므로 기본적으로 일반 수준을 사용하고 더 어려운 작업에 대해서만 발생시켜야 합니다. 구성 가능한 추론은 지원되는 모델에 대해 사용할 수 있습니다 Visual Studio Code코파일럿 CLI .

GitHub Copilot에서 지원되는 AI 모델을(를) 참조하세요.

기본값으로 사용 Copilot 자동 모델 선택

자동 모델 선택 는 작업의 의도에 따라 지원 모델을 선택합니다.

작은 라우터는 프롬프트를 보고 가장 효율적으로 처리할 수 있는 모델로 전송하여 복잡한 문제에 대한 비용이 많이 드는 추론 모델을 예약합니다. 또한 토큰 예산을 빠르게 소모하는 모델을 방지합니다.

자동 모델 선택 또한 캐시를 보호합니다. 모델은 자연스러운 캐시 경계에서만, 즉 새 세션이 시작될 때나 /compact를 실행한 후에만 변경되며, 작업 도중에는 절대 변경되지 않습니다. 이것이 중요한 이유에 대해 자세히 이해하려면 4를 참조하세요 . 캐시를 유지합니다.

자동 모델 선택 또한 성능이 저하되거나 사용 중인 모델을 중심으로 라우팅되므로 속도 제한 및 오류가 적습니다.

If you are on a paid Copilot plan, you qualify for a 10% discount on model costs while using 자동 모델 선택 in 공동 파일럿 채팅, 코파일럿 CLI, or Copilot 클라우드 에이전트.

기능 및 해당 가용성에 대한 자세한 내용은 정보 Copilot자동 모델 선택을 참조하세요.

더 저렴한 모델 사용 하위 에이전트

저렴한 모델에서 실행 하위 에이전트 합니다. 하위 대리인 는 자체 세션에서 실행되며 주 에이전트의 대화 기록을 상속하지 않습니다. 컨텍스트가 하나의 집중된 작업으로 한정되기 때문에 더 가벼운 모델로도 충분한 경우가 많으며, 그런 모델을 할당하더라도 세션 도중 모델을 전환할 때처럼 메인 에이전트의 캐시에 영향을 주지는 않습니다.

2. 프롬프트에 명확한 지침 제공

프롬프트는 에이전트가 수행하는 모든 작업에 대한 방향을 설정합니다. 프롬프트가 모호한 경우 에이전트는 의도를 유추하고, 더 많은 컨텍스트를 탐색하고, 판단 호출을 해야 합니다. 이는 종종 재시도, 범위 드리프트 및 불필요한 토큰 사용으로 이어집니다.

잘 구성된 프롬프트에는 다음 세 가지 특성이 있습니다.

  • 명확한 작업 정의입니다. "이 문제 해결" 대신 문제가 무엇인지, 발생하는 위치 및 예상 결과가 어떻게 표시되는지 설명합니다.
  • 미리 제공된 관련 컨텍스트입니다. 어떤 파일, 서비스, 로그, 오류 또는 입력이 중요한지 이미 알고 있는 경우 이를 포함합니다. 이렇게 하면 에이전트가 불필요한 탐색을 방지할 수 있습니다.
  • 명확한 중지 조건입니다. 에이전트에게 "완료"가 무엇을 의미하는지 알려주세요. 중지 지점이 없으면 에이전트는 추가 커밋을 추가하거나 관련 없는 코드를 리팩터링하거나 범위를 확장하여 목표를 초과하여 계속할 수 있습니다.

이 추가된 지침은 토큰 사용량을 의미 있는 것으로 증가시키지는 않지만 올바른 결과에 도달하는 데 필요한 에이전트 실행 수를 크게 줄일 수 있습니다.

프롬프트 엔지니어링 모범 사례는 GitHub Copilot 채팅에 대한 프롬프트 엔지니어링을 참조하세요.

3. 컨텍스트를 간결하게 유지하세요

Copilot 는 입력 토큰으로 액세스할 수 있는 컨텍스트를 보내고, 해당 컨텍스트가 추가됩니다. 즉, 편집기 탭 열기, 첨부된 파일 및 긴 대화의 전체 앞뒤로 모두 컨텍스트로 계산됩니다.

컨텍스트를 제어하려면 다음을 수행하는 것이 좋습니다.

문제를 전환할 때 새 대화 시작

긴 스레드는 새로운 요청이 있을 때마다 전체 대화 이력을 함께 가져갑니다. 관련 없는 작업으로 이동하면 새 대화를 시작합니다. 다음은 그 예입니다.

  • 코파일럿 CLI에서는 /new(또는 /clear)을(를) 사용하세요.
  • 에서 공동 파일럿 채팅새 채팅 세션을 시작합니다.

계속할 긴 코파일럿 CLI 세션 압축하기

스레드를 계속 진행해야 하지만 크기가 커지면 실행 /compact코파일럿 CLI 하여 기록을 요약하고 컨텍스트 창을 축소하고 필요에 따라 요약에 초점을 맞춥니다(예 /compact focus on the auth module: ).

또한 언제든지 현재 사용량을 확인하는 데 사용할 /context 수 있습니다.

GitHub Copilot 명령 줄 인터페이스 (CLI)에서 컨텍스트 관리을(를) 참조하세요.

프로젝트의 지도 제공 Copilot

잘 관리되는 사용자 지정 지침 파일(예: AGENTS.md 또는 .github/copilot-instructions.md 파일)은 에이전트에게 리포지토리의 구조를 개괄적으로 보여 주므로, 전체 구조를 파악하기 위해 많은 파일을 일일이 읽지 않아도 됩니다. 다양한 유형의 사용자 지정 지침 지원을(를) 참조하세요.

필요한 도구만 가져오기

대규모 도구 집합(예: 전체 MCP 서버의 도구 가치)은 모든 요청의 컨텍스트에 추가됩니다. 워크플로에 맞는 경우 작업과 관련된 도구 집합만 사용하도록 설정합니다.

GitHub MCP 서버에 대한 도구 집합 구성을(를) 참조하세요.

4. 캐시 유지

캐싱을 사용하면 AI 모델이 대화 컨텍스트의 일부를 저장할 수 있으므로 모든 요청에서 다시 처리할 필요가 없습니다. 동일한 큰 컨텍스트(시스템 프롬프트, 파일 콘텐츠, 도구 정의)가 여러 번 반복적으로 전송되는 에이전트 코딩에서 캐싱은 영향을 줍니다. 이전 응답의 캐시된 부분은 다시 처리되지 않고 재사용되며 캐시된 토큰은 일반적으로 일반 입력 가격의 10% 청구됩니다. GitHub Copilot에 대한 모델 및 가격 책정을(를) 참조하세요.

그러나 다음 작업은 캐시를 무효화하여 전체 컨텍스트를 다시 보내고 새 입력 토큰으로 청구합니다.

  • 세션 중간에 모델 전환. 다른 모델은 다른 모델의 캐시를 다시 사용할 수 없으므로 다음 요청은 처음부터 다시 빌드합니다. 모델을 하나 선택하거나(Copilot 자동 모델 선택을(를) 사용) 세션 동안 계속 그것을 사용하세요.
  • 이전 세션으로 돌아갑니다. 캐시는 비활성 기간(OpenAI 모델의 경우 24시간, 대부분의 다른 모델의 경우 1시간) 후에 만료됩니다. 한동안 자리를 비웠다면 새 세션을 시작하거나 코파일럿 CLI에서 /compact을(를) 실행하세요. 그러면 전체 기록이 아니라 짧은 요약만 다시 빌드됩니다.
  • 세션 중간에 추론 변경. 세션 중에 추론 작업 수준, 컨텍스트 크기 또는 사용 가능한 도구 및 MCP 서버 집합을 변경하면 캐시가 무효화됩니다. 이러한 설정을 시작하기 전에 구성하고 세션에 대해 변경하지 않은 상태로 둡니다.

5. 연구, 계획, 구현

에이전트를 효과적으로 작업하는 가장 큰 변화 중 하나는 단일 세션에서 모든 작업을 수행하는 것에서 벗어나는 것입니다. 연구, 계획, 구현이 모두 동시에 이루어지면 맥락 정보가 빠르게 늘어나고 불필요한 정보가 쌓입니다.

작업을 명확한 단계로 나누기:

  • 연구: 에이전트를 사용하여 코드베이스를 탐색하고, 관련 파일을 식별하고, 종속성을 이해합니다.
  • 계획: 변경하기 전에 상세하고 구조화된 계획 또는 사양을 만듭니다. 여기서 추론 모델은 항상 강력한 추론 모델을 사용하여 계획한 다음 더 저렴한 모델로 작업을 구현하는 것이 가장 중요합니다.
    • 코파일럿 CLI에서 /plan를 사용합니다.
    • 공동 파일럿 채팅의 Visual Studio Code에서 에이전트 드롭다운에서 "Plan"을 선택하거나 컨텍스트 창에 plan을 입력합니다.
  • 구현: 포커스가 있는 컨텍스트 및 실행에 적합한 모델을 사용하여 계획에 대해 실행합니다.

단계 간에 새 세션을 시작하면 불필요한 컨텍스트를 전달하지 못하게 되므로 토큰 사용량이 증가하고 에이전트의 명확성이 감소할 수 있습니다. 각 단계는 필요한 것만 사용하여 작동해야 합니다. 세션 범위를 효과적으로 지정하는 방법에 대한 지침은 GitHub Copilot 사용하여 작업에 대한 모범 사례을 참조하세요.

6. 학습을 활용하여 모든 턴에서 더 효율적

인사이트를 생성하는 데 사용 /chronicle

코파일럿 CLI에서 /chronicle는 회원님의 세션 기록을 바탕으로 유용한 인사이트를 생성할 수 있습니다.

  • /chronicle tips를 사용하여 최근 세션 기록을 분석하고 Copilot를 더 효율적으로 사용할 수 있는 기회를 찾으세요.
  • 토큰 사용 패턴을 이해하고 비용을 절감하는 방법에 대한 인사이트를 얻는 데 사용합니다 /chronicle cost-tips .

세션 데이터에 대한 정보 GitHub Copilot 명령 줄 인터페이스 (CLI)을(를) 참조하세요.

인사이트를 copilot-instructions.md 파일에 추가

copilot-instructions.md 리포지토리 수준의 파일은 리포지토리와 관련된 지침을 인코딩하는 가장 직접적인 방법입니다. 개인 및 조직 수준 지침은 더 광범위한 일관성을 위해 위에 계층화할 수 있습니다.

/chronicle 반복 패턴(과도하게 사용되는 도구, 계속 잘못 읽히는 프롬프트)을 표시하면 해당 관찰을 파일에서 직접 인코딩합니다copilot-instructions.md. 이를 통해 한 번 얻은 인사이트를, 사용자가 다시 반복해서 말할 필요 없이 앞으로의 모든 세션에 적용되는 지속적인 지침으로 전환할 수 있습니다.

자세한 내용은 GitHub Copilot 대한 리포지토리 사용자 지정 지침 추가을(를) 참조하세요.

copilot-instructions.md 파일에 맞게 구체적이고 명확하게 유지하세요

영구 지침은 에이전트 상호 작용 간에 일관성을 향상하지만 해당 값은 전적으로 작성 방법에 따라 달라집니다. 가장 좋은 지침은 짧고 구체적이며 실제 관찰된 에이전트 동작에 근거합니다. 좋은 소리는 들지만 시스템에 적용되지 않는 일반적인 모범 사례는 아닙니다.

포함할 내용:

  • 필수 프레임워크, 라이브러리 또는 디자인 패턴
  • 에이전트가 반복하는 것으로 알려진 실수
  • '간결하게' 또는 '코드만 출력'과 같은 출력 요구사항
  • 에이전트가 따라야 하는 팀별 규칙
  • 빌드, 테스트 및 린트 명령

피해야 할 사항:

  • 긴 일반 설명서
  • 실제 시스템을 반영하지 않는 AI 생성 지침
  • 일회성 기본 설정 또는 거의 사용되지 않는 세부 정보
  • 컨텍스트를 시끄럽게 만드는 오버로드된 명령

코드베이스, 아키텍처, 표준 및 워크플로가 진화함에 따라 지침을 업데이트된 상태로 유지합니다. 이러한 지침은 모든 실행 시 에이전트의 컨텍스트에 포함되기 때문에 작은 개선 사항조차도 반복되는 오류를 줄이고 시간이 지남에 따라 낭비되는 토큰 사용량을 줄일 수 있습니다.

7. 결정적 가드레일 추가

에이전트는 비결정적이며, 특히 다단계 워크플로에서 매번 올바르지 않습니다. 가드레일이 없으면 작은 오류가 빠르게 복잡해질 수 있습니다. 에이전트는 잘못된 출력을 기반으로 빌드하고, 목표에서 더 멀리 표류하며, 디버깅을 더 비싸고 시간이 많이 걸립니다.

결정적 컨트롤은 명확한 통과/실패 신호를 도입합니다.

  • 단위 테스트는 에이전트의 변경 내용이 예상된 동작을 생성했는지 확인합니다.
  • Linter는 구조와 일관성을 적용하여 서식 문제, 스타일 드리프트 및 피할 수 있는 정리 작업을 방지합니다.
  • 보안 스캔은 되돌리기 더 어려워지기 전에 위험한 패턴을 초기에 탐지합니다.

이러한 컨트롤은 함께 긴밀한 피드백 루프를 만듭니다. 에이전트는 변경, 테스트, 규칙 또는 검사를 수행하며 에이전트는 계속 진행하기 전에 조정합니다. 이렇게 하면 토큰 낭비의 가장 큰 동인 중 하나인 잘못된 변경의 긴 체인을 방지할 수 있습니다.

이러한 가드레일에 투자하는 팀은 재시도 횟수가 줄어들고, 작업 완료 속도가 빨라지고, 에이전트 동작이 더 예측 가능합니다. 개별 단계에서 약간 더 많은 토큰을 미리 사용하는 경우에도 총 토큰 사용량을 줄이는 경우가 많습니다.

다음 단계

AI credits을 최대한 활용하려면 지출을 모니터링하고 관리하세요: