ai-coding-assistant

3 개의 포스트

github

GitHub Copilot 앱으로 첫 프롬프트 작성하기 (새 탭에서 열림)

GitHub Copilot 앱에서 첫 프롬프트를 작성할 때 완벽한 문장보다 작업 대상과 원하는 결과를 명확히 전달하는 것이 중요하다. 프로젝트를 연결한 뒤 자연어로 작은 작업부터 요청하고, 결과에 따라 프롬프트·모델·실행 방식을 점진적으로 조정하면 된다. 음성 입력, 모델 선택, 에이전트 및 원격 세션 같은 기능은 필요할 때 활용할 수 있다. ## 작업에 필요한 컨텍스트 연결 - Copilot이 코드를 수정하려면 먼저 작업 대상이 필요하다. - GitHub 저장소나 로컬 컴퓨터의 폴더를 에이전트 세션에 연결할 수 있다. - Copilot은 연결된 프로젝트의 코드와 파일을 살펴보고 요청과 관련된 부분을 찾아 작업한다. - 앱 홈 화면에서 기존 프로젝트를 선택하거나 새 프로젝트·로컬 폴더를 추가한다. ## 자연어로 원하는 작업 설명하기 - 별도의 문법이나 정해진 프롬프트 형식을 배울 필요가 없다. - 원하는 변경 사항을 평범한 문장으로 설명하면 된다. - 예시: `게임 목록에 가장 많이 투자된 순서 정렬 옵션을 추가해줘.` - 첫 요청이 충분하지 않으면 세부 조건을 추가하거나 수정 사항을 다시 요청할 수 있다. - 프롬프트는 한 번에 완성하는 것이 아니라 결과를 보며 반복적으로 다듬는 방식이다. ## 작업에 맞는 AI 모델 선택 - Copilot 앱에서는 작업을 처리할 AI 모델을 직접 선택할 수 있다. - 모델마다 복잡한 추론 능력이나 처리 속도 등 강점이 다르다. - 처음에는 기본 모델을 사용해도 충분하다. - 복잡한 작업이거나 결과가 기대에 미치지 못하면 다른 모델로 전환할 수 있다. - 모델 선택은 매번 사전에 세밀하게 설정해야 하는 항목이 아니라, 필요할 때 활용하는 도구다. ## 음성 입력으로 프롬프트 작성 - 프롬프트는 키보드로만 입력할 필요가 없다. - 내장 음성 입력을 사용하면 문제를 말로 설명하면서 긴 요청을 작성할 수 있다. - 음성은 프롬프트 입력창의 텍스트로 변환된다. - 전송 전에 내용을 검토하고 수정할 수 있어, 생각나는 대로 말한 뒤 정리하는 방식도 가능하다. ## 에이전트와 원격 세션 활용 - 세션 제목 메뉴에서 다른 에이전트를 선택하거나 원격 제어를 활성화할 수 있다. - 에이전트마다 작업 유형에 맞게 설정할 수 있으므로 목적에 맞는 에이전트를 고르면 된다. - 원격 세션을 사용하면 작업을 로컬 컴퓨터에서 시작한 뒤 웹이나 다른 기기에서 이어서 확인할 수 있다. - 노트북을 닫아도 세션의 진행 상황을 잃지 않고 나중에 다시 작업할 수 있다. - 이러한 설정은 첫 프롬프트 전에 반드시 구성할 필요는 없으며, 더 많은 제어가 필요할 때 선택하면 된다. ## 작은 작업부터 반복하기 - 이미 익숙한 프로젝트에서 작은 변경 사항부터 요청하는 것이 좋다. - 처음부터 모든 세부 사항을 예측하거나 완벽한 프롬프트를 작성할 필요는 없다. - 결과를 확인하면서 요청을 구체화하고, 필요하면 모델이나 세션 실행 방식을 바꾼다. - 핵심은 프로젝트를 선택하고 자연어로 작업을 요청해 실제 결과를 확인하는 것이다. 실용적으로는 “프로젝트 연결 → 작은 작업 요청 → 결과 검토 → 프롬프트 보완” 순서로 시작하는 것이 가장 쉽다. Copilot의 모델·음성 입력·원격 세션 기능은 기본 흐름에 익숙해진 뒤 작업 상황에 맞게 추가하면 된다.

github

GitHub Copilot 앱의 슬래시 명령어 가이드 (새 탭에서 열림)

GitHub Copilot 앱의 슬래시 명령어는 채팅 입력창에서 `/`로 시작해 세션 관리, 프로젝트 탐색, 작업 모드 전환을 빠르게 수행하도록 돕는다. CLI가 터미널과 디렉터리·작업 경로 관리에 초점을 둔다면, 앱의 명령어는 시각적 인터페이스와 멀티 세션 워크플로에 맞춰 계획 수립, 비판적 검토, 자동 구현 등을 지원한다. 특히 `/plan`으로 작업을 설계하고 `/spar`로 위험을 검토한 뒤 `/autopilot`으로 구현하는 흐름이 핵심이다. ## 슬래시 명령어의 개념과 앱·CLI의 차이 - 채팅 입력창에 `/`를 입력하면 현재 상황에서 사용할 수 있는 명령어 자동완성 메뉴가 표시된다. - CLI 명령어는 터미널 중심으로 설계되어 디렉터리 추가(`/add-dir`), 작업 디렉터리 변경(`/cwd`) 등을 담당한다. - Copilot 앱은 프로젝트 컨텍스트와 파일 접근을 시각적으로 관리하므로 `/add-dir`, `/cwd` 같은 명령어가 필요하지 않다. - 앱에서는 세션 이동, 프로젝트 관리, 에이전트 작업 방식 제어 등 워크플로 중심의 명령어를 제공한다. - `/clear`, `/model`처럼 CLI와 앱에서 공통으로 사용할 수 있는 명령어도 있다. ## `/plan`으로 코딩 전에 작업 설계 `/plan`은 구현에 앞서 작업을 분석하고 단계별 계획을 세우는 명령어다. 실행하면 세션이 **Plan 모드**로 전환되며, 채팅 입력창의 **Mode** 메뉴에서도 같은 모드를 선택할 수 있다. - 새 기능 개발: - 변경이 필요한 파일, 컴포넌트, 의존성을 파악한다. - 예: `/plan`으로 2단계 인증 도입에 필요한 작업과 구현 순서를 정리한다. - 대규모 리팩터링: - 복잡한 코드 변경의 범위와 위험 요소를 확인한다. - 한 번에 전환하지 않고 점진적으로 마이그레이션할 방법을 수립한다. - 버그 조사: - 원인이 불명확한 장애의 가능한 원인을 탐색한다. - 진단 절차와 수정 작업을 단계별로 계획한다. ## `/spar`로 가정과 설계 검증 `/spar`는 Copilot이 반대 의견을 제시하도록 해 설계의 허점, 위험, 트레이드오프를 검토하는 명령어다. - 아키텍처 선택 검증: - Redis 캐시의 무효화 전략, 확장성, 일관성 문제 등을 점검한다. - 구현 방식 비교: - REST와 GraphQL, 동기 처리와 비동기 처리처럼 여러 접근법의 장단점을 비교한다. - 애플리케이션 요구사항에 맞는 선택을 추천하도록 요청할 수 있다. - 마이그레이션 계획 검토: - 데이터베이스나 인프라 이전 과정의 엣지 케이스와 배포 위험을 찾는다. - 무중단 또는 최소 다운타임 조건에서 발생할 문제를 미리 점검한다. - 성능 최적화 비판: - 지연 로딩 등 최적화가 사용자 경험을 해치거나 불필요한 복잡성을 만들 가능성을 확인한다. - 숨은 병목과 부작용, 더 단순한 대안을 함께 검토한다. ## `/autopilot`으로 구현 자동화 `/autopilot`은 계획한 목표를 바탕으로 여러 구현 단계를 Copilot이 직접 수행하도록 하는 명령어다. 실행하면 세션이 **Autopilot 모드**로 전환되며, Mode 메뉴에서도 선택할 수 있다. - 새 기능 구현: - 필요한 파일을 식별하고 코드를 수정한다. - 관련 테스트를 추가하거나 업데이트하도록 요청할 수 있다. - 예: 사용자 보고서를 CSV로 내보내는 기능을 설계부터 구현까지 진행한다. - 대규모 유지보수: - 의존성 업데이트, 리팩터링, 문서 개선처럼 여러 단계가 필요한 작업에 적합하다. - React 버전 업그레이드 시 호환성 문제를 수정하고 테스트 통과 여부까지 확인하도록 할 수 있다. - 사용자는 세부 단계마다 지시하기보다 최종 목표와 제약 조건을 전달하는 방식으로 작업할 수 있다. ## `/rubber-duck`로 문제를 대화형 검토 `/rubber-duck`는 문제를 설명하고 다른 관점에서 검토받는 디버깅 지원 명령어다. - Copilot이 별도의 모델을 사용해 독립적으로 검토하는 방식으로 소개된다. - 혼자 문제를 설명하며 사고를 정리하는 ‘러버 덕 디버깅’ 과정을 Copilot과 수행할 수 있다. - 제공된 글 내용은 이 명령어 설명 중간에서 끝나므로, 구체적인 사용 예와 전체 동작 방식은 확인할 수 없다. 실무에서는 먼저 `/plan`으로 범위와 순서를 정리하고, `/spar`로 설계의 위험을 검증한 다음, 충분히 구체화된 작업을 `/autopilot`에 넘기는 방식이 효과적이다. 자동 구현을 사용하더라도 테스트와 변경 내용을 직접 검토해 결과를 확인하는 것이 좋다.

github

입문자를 위한 GitHub Copilot CLI: GitHub Copilot CLI 시작하기 (새 탭에서 열림)

GitHub Copilot CLI는 에이전트형 AI를 터미널에 통합해 코드 작성, 테스트 실행, 오류 수정 등을 지원하는 도구다. 이 글은 npm을 통한 설치부터 GitHub 인증, 폴더 권한 설정, 첫 프롬프트 실행까지의 시작 과정을 소개한다. 또한 프로젝트 분석, 엔드포인트 생성, Copilot Cloud Agent로 작업 위임 같은 활용 사례를 설명한다. ## GitHub Copilot CLI란? - Copilot의 에이전트 기능을 명령줄 환경에서 사용할 수 있게 해주는 도구다. - 저장소 전체 맥락을 바탕으로 파일을 탐색하고 코드를 작성할 수 있다. - 코드 빌드와 테스트 실행을 자율적으로 수행하며, 오류를 발견하면 스스로 수정할 수 있다. - 사용자는 작업을 요청한 뒤 결과를 검토하고 추가 변경을 지시할 수 있어, 다른 도구로 전환하지 않고 개발 흐름을 유지할 수 있다. - CLI에서 Copilot Cloud Agent에 작업을 위임하는 것도 가능하다. ## 설치 방법 Node.js가 설치되어 있다면 npm으로 전역 설치할 수 있다. ```bash npm install -g @github/copilot ``` - Windows에서는 WinGet, macOS에서는 Homebrew 등 패키지 관리자를 사용할 수도 있다. - 패키지 관리자별 정확한 설치 명령은 해당 도구의 문서를 확인해야 한다. ## 최초 실행과 인증 설치가 끝나면 터미널에서 `Copilot` 명령으로 실행한다. ```plaintext Copilot ``` 처음 사용하는 경우 `/login` 명령으로 GitHub 계정에 로그인한다. ```plaintext /login ``` 로그인 과정에서 다음 작업이 수행된다. - Copilot 클라이언트와 GitHub Copilot 계정을 연결한다. - GitHub 리소스에 접근할 수 있도록 읽기 전용 GitHub MCP 서버를 연결한다. ## 폴더 권한 설정 Copilot이 프로젝트를 분석하거나 파일을 수정하려면 해당 폴더에 대한 접근 권한을 부여해야 한다. - 현재 세션에서만 권한을 허용할 수 있다. - 같은 프로젝트에서 반복적으로 사용할 경우 권한 설정을 저장할 수 있다. - 파일을 생성하거나 수정하는 작업에서는 Copilot이 별도로 사용자 승인을 요청할 수 있다. - 권한을 부여한 뒤 자연어로 프로젝트 분석, 코드 작성, 테스트 등의 작업을 요청할 수 있다. ## 프로젝트 분석과 코드 생성 Copilot CLI는 저장소의 파일과 문서를 직접 탐색해 프로젝트 구조와 개발 관례를 파악한다. 예를 들어 다음과 같이 요청할 수 있다. ```plaintext Give me an overview of this project ``` - 주요 파일과 프로젝트 구성을 확인한 뒤 개요를 제공한다. - 새 기능을 요청하면 기존 문서와 코드 예제를 참고해 프로젝트 스타일에 맞추려 한다. - 예를 들어 카테고리 전체를 반환하는 새 엔드포인트를 추가하도록 요청할 수 있다. ```plaintext Let’s add a new endpoint to return all categories ``` - 파일 생성이나 변경 전에는 필요한 권한을 요청한다. ## Copilot Cloud Agent로 작업 위임 명확하게 정의된 작업은 CLI에서 Copilot Cloud Agent에 넘길 수 있다. ```plaintext /delegate Let’s deal with issue #14 to add the rest of the CRUD endpoints to games ``` 위임하면 Copilot이 다음 작업을 수행한다. - 현재 CLI 세션의 컨텍스트를 유지한다. - 새 브랜치를 생성한다. - 초안 상태의 Pull Request를 연다. - 백그라운드에서 요청된 변경 작업을 진행한다. - 작업 완료 후 사용자가 결과를 검토하도록 한다. ## 이후 학습할 기능 이 글은 입문 시리즈의 첫 번째 내용으로, 다음 주제들이 후속 글에서 다뤄질 예정이라고 안내한다. - 대화형 모드와 비대화형 모드 비교 - `-p` 플래그를 이용한 빠른 요약 - Copilot CLI의 슬래시 명령 - MCP 서버 연동 - CLI 사용법과 모범 사례 Copilot CLI는 터미널을 떠나지 않고 프로젝트를 이해하고 코드를 수정할 수 있게 해주는 도구다. 처음에는 작은 프로젝트 개요나 단순한 기능 추가부터 사용하고, 파일 변경과 권한 요청 결과를 직접 검토하면서 점차 작업 위임 범위를 넓히는 것이 좋다.