Copilot 맞춤 설정

GitHub Copilot을 활용한 소프트웨어 개발

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

GitHub Copilot을 활용한 소프트웨어 개발

GitHub Copilot을 활용한 소프트웨어 개발

GitHub Copilot을 활용한 소프트웨어 개발

GitHub Copilot을 활용한 소프트웨어 개발

맞춤 지침의 동작 방식

$$

정의:

  • 코딩 규칙
  • 도구 선호도
  • 프로젝트 맥락

GitHub Copilot을 활용한 소프트웨어 개발

맞춤 지침의 동작 방식

$$

정의:

  • 코딩 규칙
  • 도구 선호도
  • 프로젝트 맥락

GitHub Copilot을 활용한 소프트웨어 개발

맞춤 지침 정의 방법

.github/copilot-instructions.md에 포함하십시오

## Project context
Python project for processing data pipelines with Airflow.

## Coding style - Use type hints for all functions
- Follow PEP8
- Use snake_case naming
- Write Google-style docstrings
## Testing - Use pytest
- Include one test per function
## More instructions...
GitHub Copilot을 활용한 소프트웨어 개발

효과적인 지침의 요소

$$

✅ 효과적인 지침:

  • 짧고 구체적
  • 자체 포함형
  • 맥락·관련 정보 추가

$$

❌ 비효과적인 지침:

  • 외부 문서·저장소 의존
  • 특정 톤·문체 강제
  • 세부·서식 제한 요구
1 https://docs.github.com/en/copilot/how-tos/configure-custom-instructions/add-repository-instructions
GitHub Copilot을 활용한 소프트웨어 개발

$$

$$

## Style guidelines

- Conform to the coding styles defined 
in styleguide.md in repo my-org/my-repo

- Answer in the style of a friendly 
colleague, using informal language

- Answer in fewer than 1,000 characters

GitHub Copilot을 활용한 소프트웨어 개발

$$

$$

## Style guidelines

- Conform to the coding styles defined 
in styleguide.md in repo my-org/my-repo

- Answer in the style of a friendly 
colleague, using informal language

- Answer in fewer than 1,000 characters

GitHub Copilot을 활용한 소프트웨어 개발

맞춤 지침 활성화 방법

  • copilot-instructions.md 파일을 저장합니다
  • 프롬프트에 자동 포함됩니다

GitHub Copilot을 활용한 소프트웨어 개발

맞춤 지침 활성화 방법

  • copilot-instructions.md 파일을 저장합니다
  • 프롬프트에 자동 포함됩니다

GitHub Copilot을 활용한 소프트웨어 개발

여러 지침 파일 사용하기

GitHub Copilot을 활용한 소프트웨어 개발

여러 지침 파일 사용하기

GitHub Copilot을 활용한 소프트웨어 개발

여러 지침 파일 사용하기

$$

GitHub Copilot을 활용한 소프트웨어 개발

조직 수준 지침 설정하기

$$

GitHub Copilot을 활용한 소프트웨어 개발

조직 수준 지침 설정하기

$$

회사 공통 규칙 예:

  • 사내 도구 사용
  • 지정 라이브러리 강제
  • 일관된 스타일 적용
  • 사용 중단 패턴 경고
GitHub Copilot을 활용한 소프트웨어 개발

다층 지침의 우선순위

$$

$$

$$

Scope Priority
Personal instructions Highest
Project instructions Medium
Organization instructions Lowest
GitHub Copilot을 활용한 소프트웨어 개발

$$

예시 프롬프트: "숫자 리스트의 평균을 계산하는 함수를 작성하시오."

def calculate_average(numbers: List[float]) -> float:
    """Calculate the average of a list of numbers.

    Args:
        numbers (List[float]): A list of numbers to average.

    Returns:
        float: The average value of the numbers.

    Raises:
        ValueError: If the list is empty.
    """
    if not numbers:
        raise ValueError("The list of numbers cannot be empty.")
    return sum(numbers) / len(numbers)
GitHub Copilot을 활용한 소프트웨어 개발

$$

예시 프롬프트: "숫자 리스트의 평균을 계산하는 함수를 작성하시오."

def calculate_average(numbers: List[float]) -> float:
    """Calculate the average of a list of numbers.

    Args:
        numbers (List[float]): A list of numbers to average.

    Returns:
        float: The average value of the numbers.

    Raises:
        ValueError: If the list is empty.
    """
    if not numbers:
        raise ValueError("The numbers list cannot be empty.")
    return sum(numbers) / len(numbers)

$$

GitHub Copilot을 활용한 소프트웨어 개발

Vamos praticar!

GitHub Copilot을 활용한 소프트웨어 개발

Preparing Video For Download...