Copilot 커스텀 에이전트란?* 커스텀 에이전트는 GitHub Copilot의 코딩 에이전트 전문 버전입니다. VS Code의 Copilot 에이전트 모드와 유사하지만, GitHub.com에서 백그라운드로 실행되어 Pull Request를 자동화합니다.
- 기본적으로 YAML 프론트매터와 에이전트의 동작 방식을 설명하는 시스템 프롬프트가 포함된 마크다운 파일입니다. 에이전트 프로필은 사용할 수 있는 도구, 연결할 MCP 서버, 문제 해결 방법에 대한 자세한 지침 등을 지정합니다.
Rails 디버깅을 위한 Copilot 에이전트 생성 방법
- “Rails Debugger”라는 커스텀 에이전트를 생성하여 Honeybadger에 연결하고 Ruby on Rails 오류를 조사하도록 구성할 수 있습니다.
- 에이전트 요청 시 Honeybadger 오류를 링크하면, 에이전트는 다음 단계를 수행합니다.: * Honeybadger에 연결하여 오류 세부 정보 가져오기 * 스택 트레이스 및 영향을 받는 코드 분석 * 영향받는 사용자 수 확인 * 코드베이스 조사하여 근본 원인 찾기 * 수정 및 테스트를 포함한 PR 생성
honeybadger-mcp-server는 stdio를 사용하는 Go 바이너리이지만, Docker 이미지를 통해 쉽게 실행할 수 있으며 GitHub Actions에서도 사용 가능합니다.
에이전트 구성
- 각 커스텀 에이전트는 프롬프트와 YAML 프론트매터가 포함된 단일 마크다운 파일입니다.
- YAML 프론트매터에는
name,description,tools,mcp-servers블록이 포함됩니다.mcp-servers블록은 Honeybadger MCP 서버를 Docker를 사용하여 실행하고 리포지토리 보안 토큰으로 인증하도록 지시합니다. - 프론트매터 아래에는 에이전트가 디버깅에 접근하는 방법을 상세히 설명하는 프롬프트가 추가됩니다. 이는 Rails 내부, Active Record, Action Controller 등에 대한 전문 지식을 포함합니다.
GitHub 조직 내 에이전트 설정
- 조직 전체 에이전트의 경우, GitHub 조직에
.github-private이라는 비공개 리포지토리를 생성하고 에이전트 프로필을agents/rails-debugger.agent.md에 저장합니다. - 에이전트를 사용할 각 리포지토리의 “Settings → Environments”에서
copilot환경을 생성(없는 경우)하고COPILOT_MCP_HONEYBADGER_PERSONAL_AUTH_TOKEN및COPILOT_MCP_HONEYBADGER_API_URL와 같은 보안 비밀을 추가해야 합니다.COPILOT_MCP_접두사가 중요합니다.
Copilot AI 에이전트 테스트
- 에이전트 프로필 업데이트는 기존 PR에 적용되지 않으므로, 테스트를 위해 새로운 이슈 또는 PR을 생성해야 합니다.
- 조직 전체 에이전트를 테스트할 때는
.github-private리포지토리 내의.github/agents/디렉토리에 에이전트를 배치하여 특정 리포지토리에서 먼저 테스트할 수 있습니다.
단일 리포지토리 에이전트 구성
- 조직 전체 에이전트 대신 개별 리포지토리에 커스텀 에이전트를 추가할 수도 있습니다. 이 경우 에이전트 프로필은
.github/agents/rails-debugger.agent.md에 저장되며mcp-servers블록을 포함할 수 없습니다. - MCP 서버 구성은 “Settings → Copilot → Coding agent”에서 JSON 형식으로 별도로 추가해야 합니다.
GitHub Copilot 보안
- AI 에이전트가 사적 데이터 접근, 신뢰할 수 없는 콘텐츠 노출, 외부 통신 능력이라는 “치명적인 삼중주(lethal trifecta)”를 갖게 되면 공격자가 데이터를 훔치도록 조작할 수 있습니다.
- 공개 리포지토리에서는 프롬프트 인젝션을 통해 에이전트를 조작하여 민감한 데이터를 PR 설명에 포함시키는 등의 공격이 가능합니다.
- 따라서 민감한 데이터에 접근하는 에이전트는 공개 리포지토리와 상호작용하지 않도록 해야 합니다. 공개 프로젝트 디버깅 시에는 비공개 포크 또는 별도의 비공개 리포지토리를 고려해야 합니다.