아이디어에서 PR로 : Github Coplet의 에이전트 워크 플로 가이드
나는 늦게 침입 한 기능 요청 후에 하드 코딩 된 문자열을 쫓지 않고 아이디어를 배송하기 위해 소프트웨어에 들어갔다. 불행히도, 개발자로서의 많은 일상적인 작업에는 보일러 플레이트 코드, 리팩토링 및 “사전 작업”작업을 수행하여 재미있는 물건을 얻을 수 있습니다. 새로운 기능을 배송합니다.
그래서 나는 그 런트 작업의 속도를 높이기 위해 Copilot의 에이전트 워크 플로우를 사용했습니다. 내 최신 고무 오리 목요일 라이브 스트림, 나는 그 이론을 사용한 응용 프로그램을 현지화하고자하는 프로젝트에서 테스트에 이론을 두었다.
- 기술 스택 : 에이 다음 .js 웹 앱과 일치 Swiftui iOS 앱은 두 개의 별도 GitHub 리포지토리에 거주합니다.
- 환경: 빠르게 회전하십시오 Codespaces (주문형 개발 환경) 및 Xcode 16 모바일 부분.
- 일: “영어, 프랑스어 및 스페인 현지화를 추가하기 위해 몇 개 단락에서 구축 된 문제.
- Copilot 도구 : 코딩 에이전트 (이 문제를 PR으로 바꾸려면), 관습 채팅 모드 계획 (VS 코드의 새로운 미리보기 기능을 시험해 보려면) 및 새로운 원격 Github MCP 서버 (따라서 우리는 DEV 환경에서 이러한 종속성을 관리하지 않을 수 있습니다).
스트림이 끝날 무렵, 그 아이디어는 Github 문제가되었으며, 채팅 질문을 필드하는 동안 완전히 테스트 된 검토 준비 PR으로 바뀌었고 VS 코드의 미리보기 채팅 모드 기능에 대해 배웠습니다.
다이빙합시다.
에이전트 워크 플로우를 사용하는 이유
노련한 개발자와 팀조차도 여전히 다음과 같은 직업에서 시간을 태 웁니다.
- 모호한 요청을 잘 알고있는 문제로 전환합니다
- 교차 절단 리팩터로 모든 파일을 사냥합니다
- 동일한 단위 테스트 스캐 폴딩을 반복해서 작성합니다
Colecilot의 코딩 에이전트, VS 코드의 사용자 정의 채팅 모드 및 새로운 원격 MCP 백엔드는 해당 집안일을 하나의 타이트한 루프로 접고 운전석에 단단히 머물러 있으면됩니다. 여전히 검토, 조정 및 병합시기를 결정하지만 드루게리를 건너 뜁니다.
이 라이브 스트림에서 다루는 주요 기능
능력 | 그것이하는 일 | 왜 중요한가 | 활성화하고 사용하는 방법 |
---|---|---|---|
코딩 에이전트 | Copilot에 할당 한 GitHub 문제를 PR으로 바꾸고 해당 작업에서 비동기 적으로 작동합니다. | 리뷰 및 에지 케이스 로직에 중점을 둔 동안 보일러 플레이트 작업을 오프로드 할 수 있습니다. | Copilot 코딩 에이전트를 활성화하는 방법을 알아보십시오. |
Copilot으로 문제를 만듭니다 | 자연 언어 프롬프트를 제목, 신체, 수락 기준 및 파일 힌트로 잘 구조화 된 문제로 변환합니다. | PM/ENG Refining을 저장하고 팀원 또는 Copilot 코딩 에이전트를 효과적으로 작업하는 데 필요한 상황에 맞습니다. | github.com/copilot으로 이동하여 문제를 만들기위한 프롬프트를 작성하십시오. Copilot을 사용하여 문제를 일으키는 것에 대해 자세히 알아보십시오. |
사용자 정의 채팅 모드 (대 코드의 미리보기) | 반복 가능한 AI 워크 플로 스크립트 (예 : 계획,,, 리팩터,,, 시험 작성자) 기본값과 함께 나타납니다 묻다 / 편집하다 / 대리인 채팅 모드. | 더 쉽게 사용하기 위해 지침 및 관련 도구를 포장하여 팀이 비슷한 규칙을 따를 수 있도록 도와줍니다. | 추가 a .chatmode.md repo에 파일; VS 코드 릴리스 1.101에서 미리보기에서 사용할 수 있습니다. 대 코드에서 사용자 정의 채팅 모드에 대해 자세히 알아보십시오. |
원격 Github MCP 서버 | AI 도구가 라이브 Github 컨텍스트 및 문제, 요청 및 코드 파일과 같은 도구에 액세스 할 수 있도록합니다. 원격 Github MCP 서버를 사용하면 로컬로 설치할 필요가 없으며 OAUTH 2.0으로 인증 할 수도 있습니다. | GitHub MCP 서버에 액세스하여 로컬 서버의 관리 오버 헤드를 줄이는 데 부드러운 경험을 제공합니다. | 원격 Github MCP 서버 문서에 표시된 예제로 MCP 구성을 업데이트하십시오. |
Copilot 에이전트 모드 | Colecilot Agent Mode는 편집자에 위치하고 귀하와 함께 작동하며 요구 사항에 따라 파일을 편집하는 실시간 협업자입니다. 코딩 에이전트와 달리 Coplot Agent Mode는 동기식으로 작동합니다. | 에이전트 모드를 선임 개발자 쌍 프로그래밍으로 생각하십시오. 몇 가지 도구 (읽기/쓰기 코드, 터미널에서 실행 명령, MCP 서버에서 도구 실행)와 같은 여러 도구에 액세스 할 수 있으며 귀하와 함께 작동합니다. | Coplot Agent Mode는 VS Code, Visual Studio, JetBrains (공개 미리보기), Eclipse (공개 미리보기) 및 Xcode (공개 미리보기)를 포함한 여러 IDE로 제공됩니다. |
비슷한 결과를 얻기 위해 필요한 것
- 당신이 밀 수있는 github 저장소
- 사더 필롯 구독 코딩 에이전트 활성화. (Copilot 비즈니스 및 Copilot Pro를 포함하여 Github Copilot의 모든 유료 계층에 대해 이용 가능하다는 것을 알고 있습니까?)
- 최신 Copilot 확장 기능을 갖춘 코드 1.101+.
- 어느 하나: Github 원격 MCP 서버 (MCP 구성을 업데이트) 또는 로컬 GitHub MCP 서버.
연습 : 다음으로 현지화. JS 앱
내가 가장 최근에 시연 한 정확한 흐름은 다음과 같습니다. 고무 오리 목요일 개울.
1. 요청을 Github 문제로 캡처하십시오
Coplot Chat의 몰입 형 뷰로 이동하십시오. 페이지 하단에서“Copilot Ask”상자에서 원하는 것을 설명하십시오. 예를 들어 아래는 내가 사용한 프롬프트입니다.
Create a GitHub Issue that brings i11n capability to the application. We must support English, French and Spanish.
The user must be able to change their language in their profile page. When they change the language, it must apply immediately across the site.
Please include an overview/problem statement in the issue, a set of acceptance criteria, and pointers on which files need updating/creating.
Coplot은 제목, 수락 기준 및 느슨한 행동 계획을 포함하는 문제로이를 작성합니다. 거기에서 그 문제를 Copilot에 할당하고 백그라운드에서 요리하게 할 수 있습니다.
2. 코딩 에이전트가 문제를 PR으로 바꾸게하십시오.
할당 직후, 코딩 에이전트 :
- 지점을 만듭니다
- 새로운 세션을 시작합니다. Copilot-setup-steps.yml이 구성된 경우 Copilot이 작동하기 전에 개발 환경이 구성됩니다.
- 당면한 작업을 검토하고 코드베이스의 현재 상태를 탐색하며 작업을 완료하기위한 계획을 수립합니다.
- 사용자 정의 지침이 구성된 경우 코딩 에이전트도 컨텍스트로 사용합니다. 예를 들어, 커밋하기 전에 NPM Run Lint 및 NPM 실행 테스트가 통과하도록 지정합니다.
- 완료되면 검토를 위해 PR 초안을 엽니 다.
그것이 실행되는 동안, 당신은 계속 코딩하고, 그것을 배우는 기회로 사용하거나 (우리가 맞춤형 채팅 모드에 대해 배운 것과 같이) 커피를 잡을 수 있습니다.
3. 평소처럼 PR을 검토하십시오
동료, 공동 작업자 또는 Copilot이 코드를 작성하든 여전히 검토자가 필요합니다. 따라서 다른 풀 요청과 마찬가지로 코드를주의 깊게 살펴 보는 것이 중요합니다.
- Copilot이 최신 상태로 유지 한 풀 요청의 본문을 검토하여 시작하십시오.
- 그런 다음 변경된 파일의 코드 변경 사항을 검토하여 변경된 사항과 이유를 이해하십시오. 또한 Copilot이 문제를 해결하는 데 취한 접근 방식을 이해하기 위해 코딩 에이전트 세션을 살펴보고 싶습니다.
- 편안하면 GitHub 코드에 수동으로 코드를 사용해보십시오. 또는 GitHub 조치 워크 플로를 통해 기존 CI 검사를 실행할 수 있습니다. 그러나 다시 코드를 실행하기 전에 신중하게 검토했는지 확인하십시오.
- 모든 것이 잘되면 CI에서 녹색 체크 마크가 반환됩니다.
그러나 항상 실패에 직면하거나 수동 테스트에서 약간의 변화를 발견 할 가능성이 있습니다. 예를 들어, 에이전트가 해결하지 않은 하드 코딩 된 문자열을 발견했습니다. 다시 한번, 우리는 다른 풀 요청과 마찬가지로 이것에 접근합니다. 의견에 피드백을 게시 할 수 있습니다. 예를 들어, 내가 사용한 의견은 다음과 같습니다.
그것은 훌륭한 시작입니다. 그러나 여전히 영어로 하드 코딩 된 많은 페이지가 있습니다. 예를 들어, 비행 검색/예약 페이지, 수표 예약 페이지입니다. 해당 페이지에서 현지화를 구현할 수 있습니까?
Copilot은 다시 의견에 반응하고 다른 세션에서 일하게됩니다.
사용자 지정 채팅 모드로 워크 플로를 레벨 업하십시오
GitHub Copilot을 사용하여 VS 코드를 일일 드라이버로 사용하는 경우 Ask, Edit 및 Agent Chat 모드에 익숙 할 것입니다. 그러나 VS Code 1.101 릴리스에서 팀은 미리보기에 사용자 정의 채팅 모드를 추가했습니다. 이를 통해 쉽게 사용할 수 있도록 지침 및 관련 도구를 포장 할 수 있습니다. 예를 들어 VS 코드 팀의 “계획”채팅 모드를 기반으로했습니다. 예 :
- Visual Studio 코드에서 명령 팔레트를 엽니 다
- 유형 채팅 모드를 구성합니다
- 선택하다 새 사용자 정의 채팅 모드 파일을 만듭니다. 작업 공간 (다른 사람과의 협력을 허용하기 위해) 또는 로컬 사용자 데이터 폴더 (사용)에 저장하라는 요청을받습니다. 작업 공간 옵션을 선택했습니다.
- 이름을 입력하십시오. 이것은 채팅 모드 선택 상자에 나타날 이름이므로 모든 대문자에주의하십시오.
- 확장자로 새 파일이 생성 된 것을 볼 수 있습니다.
.chatmode.md
. 여기에서는 지침과 새로운 사용자 정의 채팅 모드에 사용 가능한 도구를 구성 할 수 있습니다.
다음은 VS 코드 팀의 문서 예제에서 약간 수정 된 라이브 스트림에서 사용한 예입니다. Create_issue 도구를 허용 도구 목록에 추가하고 문제에 포함 된 내용에 대한 기대치를 조정했으며 ‘Create_issue’도구로 문제를 생성하는 것에 대한 지침을 추가하여 수정이 완료되고 사용자가 승인했습니다.
---
description: Generate an implementation plan for new features or refactoring existing code.
tools: ['codebase', 'fetch', 'findTestFiles', 'githubRepo', 'search', 'usages', 'github', 'create_issue']
---
# Planning mode instructions
You are in planning mode. Your task is to generate an implementation plan for a new feature or for refactoring existing code.
Don't make any code edits, just generate a plan.
The plan consists of a Markdown document that describes the implementation plan, including the following sections:
* Overview: A brief description of the feature or refactoring task.
* Requirements: A list of requirements for the feature or refactoring task.
* Implementation Steps: A detailed list of steps to implement the feature or refactoring task.
* Testing: A list of tests that need to be implemented to verify the feature or refactoring task.
Once the plan is complete, ask the user if they would like to create a GitHub issue for this implementation plan. If they respond affirmatively, proceed to create the issue using the `create_issue` tool.
팀원의 로컬 리포지토리에서 파일을 사용할 수있게되면 (따라서 변경 사항을 로컬로 가져 왔습니다), 코드는 채팅 드롭 다운의 모드를 표면으로하여 팀 전체에서 일관되고 편리한 채팅 모드를 구성 할 수 있습니다.
원격 MCP : 로컬 설정 제거
NPM 패키지 또는 Docker 컨테이너를 통해 MCP를 로컬로 실행하는 데 사용될 수 있습니다. 그러나 원격 MCP 서버를 사용하면 이러한 도구를 로컬로 실행하는 관리 오버 헤드를 줄일 수 있습니다. 다른 혜택도있을 수 있습니다. 예를 들어, 원격 Github MCP 서버를 사용하면 개인 액세스 토큰 대신 OAUTH 2.0을 사용하여 인증 할 수 있습니다.
VS 코드에서 GitHub 원격 MCP 서버를 사용하려면 MCP 구성을 업데이트해야합니다. GitHub MCP 서버 저장소에서이를 수행하는 방법에 대한 지침을 찾을 수 있습니다.
💡 메모: Github MCP 서버가 오픈 소스라는 것을 알고 있습니까? 코드베이스를 살펴 보거나 문제를 제기하십시오. 누가 알아? 어쩌면 당신은 결국 기고자가 될 것입니다! |
모바일 진행 : Xcode의 Copilot Agent 모드
우리는 그것을 깊이 보여주지 않았지만 Xcode의 이전 에이전트 모드 세션 중 하나를 빠르게 걸었습니다. 그것은 내가 Copilot과 비슷한 프롬프트를 제공하여 앱에 국제화를 추가하도록 요구했으며, 시뮬레이터에서 실행되는 앱의 메인 탐색 막대에서 볼 수있었습니다.
We need to implement internationalization in the app. Please make the following changes:
1. The user can select from suported languages (English, Spanish, French) from a dropdown in their profile.
2. The main tab view should support internationalization. No other parts of the app should be changed for now.
3. When the user changes the language, it should update the rendered text instantly.
DOS와 DONSS
✅ | ❌하지 마십시오 |
---|---|
문제를 단단히 범위로 유지하십시오 | 에이전트에게“앱을 재구성”하도록 요청하십시오. |
수락 기준을 제공합니다 | 에이전트가 당신의 의도를 알고 있다고 가정하십시오 |
변경 사항을주의 깊게 검토하십시오 | 검토없이 코드를 실행하거나 PR을 병합하십시오 |
Copilot을 반복하십시오. 첫 번째 샷에서 얼마나 자주 무언가를 얻습니까? | 완벽 함을 처음으로 기대합니다 |
직접 시도하십시오
다음 단계
Github Copilot 내의 에이전트 워크 플로우는 마술이 아닙니다. 그들은 도구입니다. 한 번의 클릭이 기술 부채를 줄이거 나 두려워하는 다른 반복적 인 작업을 제외 할 수있는 경우, 더 도전적이고 재미 있고 창의적인 문제를 해결하는 동안 Copilot이 보일러 플레이트를 처리하지 않겠습니까?
작성자가 작성했습니다
Post Comment