Real -World 비디오 데모 : Github Copilot에서 다른 AI 모델 사용
Claude 3.7 Sonnet, Gemini 2.5 Pro, GPT-4… 개발자 선택은 Github Copilot의 핵심이며, 프론티어 선택 모델을 선택할 때 특히 그렇습니다.
그러나 이제 Github Copilot과 함께 사용할 수있는 많은 프론티어 생성 AI 모델 (그리고 매일 매일 겉보기에 더 많이 오는 것)을 사용하면 작업에 적합한 것을 선택하는 방법, 특히 Copilot Chat, Edit, Ask 및 Agent Mod의 기능이 커지는 방법은 무엇입니까?
최근 비디오에서 나는 Github의 개발자 옹호자 Kedasha Kerr (aka @ladykerr)와 함께이 정확한 질문에 대답했습니다. 우리의 목표? 만들기 위해 같은 Copilot의 재단 모델 명단을 교환하면서 실제 개발 워크 플로우에서 각 AI 모델을 비교하기 위해 Copilot Ask, Edit 및 Agent Mode와 함께 Copilot Ask, Edit 및 Agent Mod를 사용하여 3 가지 방법으로 이동합니다.
우리는 a 매우 간단한 여행 웹 앱 ( “호텔 객실을 탐색하고, 날짜를 선택하고, 방을 예약하십시오”) 생각하십시오. 데모를 snappy로 유지하기 위해 경량 스택을 선택했습니다.
- 백엔드 : 플라스크 휴식 API
- 프론트 엔드 : vue.js, 꼬리 바람으로 스타일
- 데이터: 현지
data.json
실제 데이터베이스 대신 파일
이로 인해 앱을 발판하고 엔드 포인트를 배선하며 테스트, 문서 및 보안 조정을 추가하면서 모델을 비교할 수있는 충분한 표면적을 제공했습니다.
다음은 비디오의 몇 가지 주요 테이크 아웃입니다 (시청해야 함).
그러나 먼저 Colecilot의 세 가지 모드에 대해 이야기합시다
Github Copilot은 세 가지“모드”: Ask, Edit 및 Agent Mode를 제공합니다. 질문에 대답 할 수있는 질문이 있고, 편집은 정확한 코드 라이피어링 메스이며, 에이전트 모드는 프롬프트에서 완성 된 커밋까지 전체 작업을 유도 할 수 있습니다. 이런 식으로 생각하십시오 : 답변, 어시스트 편집, 에이전트 실행.
그것이하는 일 (너트 및 볼트) | 그것을 위해 도달하기위한 이상적인 순간 | |
모드를 요청하십시오 | 강조 표시 (또는 열린 파일의 컨텍스트)를 분석하고 설명, 예제 또는 빠른 수정을 반환합니다. 코드를 만지지 않고. 차이가없고 저축이 없습니다. 그것은 단지 대화적인 대답 일뿐입니다. | • 수수께끼의 스택 추적을 디버깅합니다 • 라이브러리 또는 패턴에서 메모리를 새로 고치십시오 • 스 니펫이나 알고리즘을 즉석에서 잡습니다 |
편집 모드 | 하나 이상의 파일을 선택하고 일반 언어 프롬프트의 변경 사항을 설명하고 Copilot은 해당 파일에서 인라인 편집을 적용합니다. 그러나 먼저 차이를 보여 주므로 모든 변경을 승인 할 수 있습니다.. | • 오류 처리 또는 리팩터 반복 코드를 추가하십시오 • 브라운 필드 코드베이스에서 단단하고 멀티 파일 조정 • 사용자 정의 지침을 통해 팀 스타일 규칙을 적용하십시오 |
에이전트 모드 | 고위형 프롬프트 및 Copilot 계획 단계, 터미널 명령을 실행하고 여러 파일을 편집하며 반복을 계속 제공합니다. 자율적으로 검토를위한 위험한 명령을 표면하는 동안. 프로젝트 전반의 멀티 스테프 작업에 적합합니다. | • README의 새로운 서비스 또는 기능을 발판 • 많은 모듈을 터치하는 대형 버그 수정 • 자동화 된 정리 (예 : 모든 곳에서 꼬리 바람으로 마이그레이션) |
팁 1 : 어떤 모델을 사용하든 컨텍스트는 생각보다 더 중요합니다.
사용하는 모델은 유일한 변수와는 거리가 멀고 선택 모델을 제공하는 컨텍스트는 종종 가장 중요한 요소 중 하나입니다.
즉, 프롬프트를 형성하는 방식과 프롬프트 및 추가 파일을 제공하는 컨텍스트는 출력 품질에 큰 차이가 있습니다. Colecilot Agent 또는 Edit Mode와 같은 기능간에 토글링하고 세션 중간 세션 전환 모델을 전환함으로써, 적절한 양의 세부 사항을 공급할 때 Copilot이 어떻게 반응하는지 또는 몇 걸음 앞으로 몇 걸음 앞으로 생각할 때 어떻게 응답하는지 탐색했습니다.
우리의 데모는 다른 모드가 결과에 영향을 미치며 사려 깊은 프롬프트는 모델의 행동 (특히 복잡하거나 모호한 코딩 작업)을 크게 변화시킬 수 있음을 강조합니다.
테이크 아웃 : 의도적으로 프롬프트와 문맥을 형성하지 않는다면 아마도 테이블에 성능을 남기고있을 것입니다.
모델 선택에 대한 더 깊은 다이빙을 위해 “Github Copilot과 함께 사용해야하는 AI 모델은 무엇입니까?” 포괄적 인 고장을 제공합니다.
여전히 비교적 새롭고 빠르게 진화하는 에이전트 모드를 통해 Copilot은 파일을 탐색하고 변경하고 최소한의 손을 잡고 저장소 전체 작업을 수행하여보다 자율적으로 작동 할 수 있습니다.
이 모드는 새로운 워크 플로 가능성을 열어줍니다 (특히 반복적이거나 대규모 변경의 경우). 그러나 그것은 또한 다른 종류의 신뢰와 감독을 요구합니다. 작동하는 것을 보면 워크 플로에 적합한 위치를 비난하는 데 도움이됩니다.
데모에서 에이전트 모드를 사용한 두 가지 방법은 다음과 같습니다.
- 일차 클릭 프로젝트 스캐 폴딩: Kedasha는 프로젝트 Readme을 강조하고 단순히 Copilot에게“이것을 구현하십시오.” 에이전트 모드 (Gemini 2.5 Pro 실행)는 디렉토리, 보일러 플레이트 코드, 단위 테스트 및 시드 데이터로 전체 플라스크 및 vue 저장소를 생성했습니다.
- 엔드 – 엔드 기술 문서: Claude 3.5와 함께 에이전트 모드를 사용하기 시작했고 다음과 같이 촉구했습니다.이 앱에 대한 문서 작성… 인어에 워크 플로 다이어그램 포함.” Copilot은 연마 된 README, API 참조 및 2 개의 인어 시퀀스/흐름 다이어그램을 생성 한 다음 미리보기를 열어 커밋하기 전에 차트를 렌더링 할 수있었습니다.
팁 3 : 사용자 정의 지침을 사용하여 기본 규칙을 설정하십시오.
세션의 또 다른 통찰력은 Coplelot의 행동을 사용자 정의 지침으로 사용자 정의 할 때 얻을 수있는 금액의 양입니다.
모르는 경우, Custom Irsructions를 사용하면 Copilot이 제안하기 전에 규칙을 세울 수 있습니다 (API가 호출되어야하는 방법,의 이름 지정 및 스타일 표준).
Kedasha는 특히 사용자 정의 지침이 어떻게 톤, 코드 스타일 및 작업 플로우 또는 팀의 작업 초점을 맞추는 방법을 강조했습니다.
한 예? 모든 모델에 동일한 기본 규칙을 제공하기 위해 사용자 정의 지침을 사용하므로 각 모델간에 스왑은 매번 다시 설명하지 않고 일관되고 안전한 코드를 생성했습니다.
과잉 설명을 피하거나 특정 스택을 고수하거나 일관된 주석 음성을 채택하기 위해 Copilot을 누르지 않더라도 사용자 정의 옵션은 대부분의 사람들이 알고있는 것보다 강력합니다. 아직 사본을 개인화하지 않은 경우 사용자 정의 지침을 사용해보십시오 (문서를 확인하여 시작하십시오).
팁 4 : 속도 대 출력 품질 간의 균형
어떤 모델을 사용하든 응답 성, 완전성 및 자신감 사이에 항상 트레이드 오프가 있습니다. 예를 들어 편집을 통해 작업 할 때 더 큰 모델은 빠른 제안을 제공하지 않을 수 있지만, 더 작은 모델은 실제로 더 빠르더라도 최상의 리팩토링 제안을 제공하지 않을 수 있습니다.
TL; DR : 그것은 “최고의”모델을 쫓는 것이 아니라, 언제 전환 해야하는지, 그 이유를 아는 것입니다. 기본 모델이 80%로 작동 할 수 있지만 데크에 다른 사람들을두면 가장자리 케이스를 더 빠르고 더 잘 처리 할 수 있습니다.
이것을 당신과 함께 가져 가십시오
이 비디오 데모는 스크립트 기능 데모가 아닙니다. 그것은 미지의 것을 무시하고, 가능한 것을 찌르고, 더 열심히 대신 더 똑똑하게 일함으로써 더 나은 결과를 얻는 방법을 알아내는 것과 같은 Coplot을 사용하는 두 개의 개발자입니다.
기본값을 고수했거나 멀티 모델 워크 플로우를 탐색하지 않은 경우, 이것이 더 나아가라는 초대입니다.
전체 비디오를 시청하십시오 Copilot을 어떻게 작동시키는 지 확인하고 모든 모드, 프롬프트 및 모델에서 더 많이 벗어났습니다.
이제 – 당신은 무엇을 만들 것입니까? 시작하려면 github copilot을 사용해보십시오 (우리는 꽤 좋은 무료 계층이 있습니다).
추가 리소스 :
작성자가 작성했습니다
Post Comment