예상 시간: 10분
에이전트가 근본 원인 분석을 수행하고 프로덕션 문제와 특정 코드의 상관 관계를 지정할 수 있도록 GitHub 리포지토리를 연결합니다.
달성한 작업
이 단계가 끝날 때까지 에이전트는 다음을 수행할 수 있습니다.
- 조사 중 소스 코드 분석
- 문제에 대한 특정 파일 및 줄 참조 제공
- 조사 단계를 보여 주는 To-Do 계획 만들기
- 프로덕션 증상과 코드 변경의 상관 관계
사전 요구 사항
| 요구 사항 | 세부 정보 |
|---|---|
| 에이전트 생성됨 | 1단계 완료: 에이전트를 먼저 만듭니다. |
| GitHub PAT |
repo 범위의 개인용 액세스 토큰입니다. |
접근 방식 선택
소스 코드는 세 가지 방법으로 연결할 수 있습니다.
| 접근법 | 적합한 대상 |
|---|---|
| 옵션 A: 리소스 매핑 | 특정 Azure 리소스에 연결된 단일 리포지토리 |
| 옵션 B: MCP + 하위 에이전트 | 모든 GitHub 리포지토리에 대한 액세스 |
| 옵션 C: ADO 설명서 커넥터 | Azure 리포지토리 및 위키를 지식 원본으로 |
팁 (조언)
설정과 일치하는 방법을 선택합니다. 여러 옵션을 함께 사용할 수 있습니다.
옵션 C는 ADO Wiki 기술 기능 페이지 및 ADO Wiki 연결 자습서를 참조하세요.
옵션 A: 리소스 매핑
리포지토리를 Azure 리소스와 연결합니다. 에이전트가 해당 리소스를 조사하면 연결된 코드를 자동으로 참조합니다.
리소스 매핑 열기
- 왼쪽 사이드바에서 모니터 를 선택합니다.
- 리소스 매핑을 선택합니다.
- 목록에서 리소스를 찾습니다.
- 리소스를 선택하여 세부 정보 보기를 엽니다.
리포지토리 추가
- 리포지토리 추가를 선택합니다.
- GitHub 리포지토리 URL(예:
https://github.com/your-org/your-repo)을 붙여넣습니다. - 메시지가 표시되면 GitHub에 로그인합니다.
- 추가를 선택합니다.
리포지토리를 해당 Azure 리소스에 연결했습니다.
확인 옵션 A
에이전트에게 연결된 리소스에 대해 문의합니다.
What could cause memory issues in the grocery-store-api container app?
다음 결과가 보일 것입니다.
- 에이전트는 조사를 위한 To-Do 계획을 만듭니다.
- 에이전트가
source_code_analysis기술을 로드합니다. - 에이전트는 연결된 리포지토리를 검색합니다.
- 에이전트는 특정 파일 및 줄 참조를 사용하여 결과를 반환합니다.
이 스크린샷은 코드 조사를 준비하기 위해 에이전트가 만든 계획을 보여줍니다.
이 스크린샷은 에이전트가 소스 코드를 분석하고 특정 파일 참조를 반환하는 방법을 보여 줍니다.
옵션 B: MCP + 하위 에이전트
GitHub 기능에 대한 모든 권한을 위해 GitHub를 MCP 서버로 연결합니다. 이 방법을 사용하려면 MCP 도구를 사용하기 위해 스바겐트를 만들어야 합니다.
GitHub 커넥터 추가
왼쪽 사이드바에서 빌더를 선택합니다.
커넥터를 선택합니다.
커넥터 추가를 선택합니다.
GitHub MCP 서버를 선택합니다.
연결을 구성합니다.
분야 가치 이름 my-github(또는 설명이 포함된 이름)연결 형식 Streamable-HTTP(기본값) URL https://api.githubcopilot.com/mcp/인증 방법 전달자 토큰 개인용 액세스 토큰 repo범위를 가진 GitHub PAT다음>커넥터 추가를 선택합니다.
상태가 연결됨으로 표시되기를 기다립니다.
서브에이전트 만들기
MCP 도구는 주 에이전트에서 사용할 수 없습니다. 이를 사용하려면 하위 에이전트를 만들어야 합니다.
Builder>Subagent Builder를 선택합니다.
하위 에이전트 생성을 선택합니다.
서브에이전트 구성:
분야 가치 이름 github-analyst설명 근본 원인 분석을 위해 GitHub 리포지토리 분석 지침 소스 코드를 분석하여 프로덕션 문제의 근본 원인을 찾습니다. 리포지토리 및 증상이 지정된 경우 관련 코드를 검색하고 파일:줄 참조를 제공합니다. 도구 섹션에서 필요한 GitHub MCP 도구(예:
search_code, ,get_file_contentslist_commits)를 선택합니다.저장을 선택합니다.
확인 옵션 B
에이전트에게 새 스바젠트에게 전달하도록 요청합니다.
Use the github-analyst subagent to analyze the code in my-org/my-repo for memory leaks.
주 에이전트는 Github MCP 도구를 사용하여 코드를 분석하는 서브에이전트에게 넘겨줍니다.
소스 코드의 차이
다음 예제에서는 소스 코드 연결이 에이전트의 응답을 변경하는 방법을 보여줍니다.
소스 코드가 없는 경우:
"컨테이너 앱에 메모리가 부족합니다. 메모리 제한을 늘리는 것이 좋습니다."
소스 코드 사용:
"에서 잠재적인 메모리 누수 발견
src/api/suppliers.js:줄 45-52: 이 함수는
fetchSupplierData()정리 없이 요청당 새 HTTP 클라이언트를 만듭니다.줄 110-117: 속도 제한은 5 req/min으로 설정되지만 API는 최대 40/분 버스트 패턴을 표시합니다.
추천: 연결 풀링을 추가하거나 클라이언트 재사용을 구현합니다."
에이전트는 프로덕션 증상과 정확한 코드 위치의 상관 관계를 지정합니다.
연결하는 데 권장되는 리포지토리
다음 표에서는 가장 많은 값을 제공하는 리포지토리 형식을 보여줍니다.
| 리포지토리 유형 | 가치 |
|---|---|
| 프로덕션 앱 | 인시던트 중 근본 원인 분석 |
| 코드로서의 인프라 | 구성 드리프트 감지 |
| Runbook 스크립트 | 자동화 논리 이해 |
팁 (조언)
가장 인시던트가 발생하기 쉬운 애플리케이션을 먼저 연결합니다. 나중에 리포지토리를 더 추가합니다.
요약
이제 에이전트는 조사 중에 소스 코드를 분석하고, 문제에 대한 파일 및 줄 참조를 제공하고, 조사 단계를 보여주는 To-Do 계획을 만들고, 프로덕션 증상과 코드 변경의 상관 관계를 지정합니다.
다음 단계:
관련 콘텐츠
- 근본 원인 분석: 에이전트가 소스 코드를 사용하여 근본 원인을 찾는 방법
- 심층 조사: 연결된 리포지토리를 사용한 확장된 다중 가설 분석
- 자습서: 심층 조사: 소스 코드를 사용하여 심층 조사 실행
- 스바겐트: 스바겐트가 에이전트의 기능을 확장하는 방법
- 커넥터: 모든 커넥터 유형 및 작동 방식