Github 청구 팀이 Github Copilot의 코딩 에이전트를 사용하여 기술 부채를 지속적으로 태우는 방법
소프트웨어의 아름다운 것 중 하나는 항상 진화하고 있다는 것입니다. 그러나 각 작품은 생성 될 때 과거 결정의 무게를 전달합니다. 시간이 지남에 따라 빠른 수정, “임시”해결 방법 및 마감일은 기술 부채로 화합물을 손상시킵니다. 금융 부채와 마찬가지로 해결하기를 기다릴수록 비용이 많이 듭니다.
마감일이 다가오고 기능 요청이 계속 스트리밍 될 때 기술 부채 수정의 우선 순위를 정하는 것은 어려운 일입니다. 기술 부채 작업은 끊임없이 반응 모드에있을 때 사치처럼 느껴집니다. 오늘 깨진 것을 고치는 것은 내일이 깨지는 것을 막는 것보다 우선합니다. 때때로 누적 된 기술 부채는 기존 시스템과의 패리티를 달성하기 위해 시간이 많이 걸리고 비용이 많이 드는 전체 시스템 재 작성을 초래합니다.
원예 주 주 (기술 부채 전용 스프린트) 및 확장 된 기능 타임 라인과 같은 기술 부채 관리에 대한 일반적인 접근 방식은 잘 작동하지 않습니다. 원예 주간은 기술 부채를 지속적인 유지 보수보다는 예외로 취급하며, 팀은 작은 수정 사항을 연기하는 반면 종종 큰 문제를 해결하지 못합니다. 확장 된 타임 라인은 엔지니어링 팀과 제품 팀 간의 신뢰를 끊을 수있는 비현실적인 추정치를 만듭니다.
근본적인 문제는 기술 부채를 정상적인 개발 흐름을 방해하는 것으로 취급하는 것입니다. 대신 스프린트 약속이나 기능 배달 타임 라인을 방해하지 않고 정기적 인 작업과 병행하여 기술 부채를 지속적으로 밀어 넣을 수 있다면 어떨까요?
AI 에이전트를 사용하여 기술 부채를 정기적으로 해결합니다
기술 부채 관리는 Github Copilot의 코딩 에이전트와 같은 AI 에이전트에게 큰 기회입니다.
Github Copilot의 코딩 에이전트와 같은 AI 에이전트를 사용하면 기술 부채 품목이 더 이상 백 로그로 들어갈 필요가 없습니다. 진화하는 코드베이스에 가져와야하는 새로운 기능과 건축 변경에 중점을 두는 동안 Github Copilot을 할당하여 기술 부채 작업을 동시에 완료 할 수 있습니다.
코딩 에이전트가 할 수있는 일의 몇 가지 예는 다음과 같습니다.
- 코드 테스트 범위를 향상시킵니다: 코드 테스트 범위가 제한되어 있지만 더 많은 테스트를 작성하는 데 시간을 할애 할 수 없다는 것을 알고 있습니까? 테스트 범위를 늘리기 위해 Github Copilot에 문제를 할당하십시오. 에이전트는 테스트를 검토 할 준비가되면이를 처리하고 핑을합니다.
- 종속성을 교체합니다: 다른 방법으로 조롱 라이브러리를 교체해야하지만 그것이 긴 과정이 될 것임을 알고 있습니까? 라이브러리를 Github Copilot으로 교체하려면 문제를 할당하십시오. 다른 곳에 관심을 집중하는 동안 스왑을 통해 작동 할 수 있습니다.
- 코드베이스에서 패턴을 표준화합니다: 코드베이스에서 오류를 반환하고 로그인하는 여러 가지 방법이 있습니까? 문제가 발생할 때 문제를 조사하고 개발 중에 혼란을 초래하기가 어렵습니까? 단일 반환 및 로깅 오류를 표준화하기 위해 Github Copilot에 문제를 할당하십시오.
- 프론트 엔드로드 패턴을 최적화하십시오: 응용 프로그램이 실제로 필요한 것보다 더 많은 API 호출을하는 영역이 있습니까? Github Copilot에게 응용 프로그램을 변경하여 모든 페이지로드 대신 데이터를 요청할 때 해당 API 호출 만 수행하도록 요청하십시오.
- 죽은 코드를 식별하고 제거하십시오: 프로젝트의 어느 곳에도 사용되지 않은 기능, 구식 엔드 포인트 또는 오래된 구성이있을 수있는 곳이 있습니까? Github Copilot에게 이것을 찾아 보라고 요청하고 안전하게 제거하는 방법을 제안하십시오.
이러한 예제가 매우 구체적으로 들리면 그 이유 때문입니다. 이것들은 모두 우리 팀이 Github Copilot 코딩 에이전트를 사용하여 해결 한 실제 변화이며, 이러한 변경 사항이 없으면 발생하지 않았을 것입니다. 기능을 제공하는 동안 기술 부채를 지속적으로 해결할 수있는 능력은 기하 급수적으로 증가했습니다.그리고 우리의 워크 플로에 AI 요원을 일하는 것은 엄청나게 가치있는 것으로 입증되었습니다. 우리는 몇 주간의 간헐적으로 기술 부채를 제거하는 데 걸리는 시간을 줄이고, 몇 분 동안 문제를 작성하고 몇 시간 동안 풀 요청을 검토하고 반복 할 수있었습니다.
이것은 인간 엔지니어를 대체하는 것이 아닙니다. 우리가 최선을 다하는 것을 증폭시키는 것입니다. 에이전트는 레거시 코드를 리팩토링, 종속성을 업데이트하며 코드베이스의 패턴을 표준화하는 반복적이고 시간이 많이 걸리는 작업을 처리하지만 아키텍처 결정에 집중하고 혁신을 수행하며 복잡한 비즈니스 문제를 해결할 수 있습니다. 그 결과 시간이 지남에 따라 더 건강하게 유지되는 소프트웨어, 더 빠르게 배송되는 팀 및 실제로 활력을주는 작업에 시간을 보내는 엔지니어가 발생했습니다.
AI가 귀하의 Copilot 일 때 여전히 작업을 수행해야합니다.
AI에 대해 더 많이 배울수록 전체 과정에서 인간이 얼마나 중요한지 더 많이 알게됩니다. AI 요원은 잘 정의 된 반복적 인 작업, 중요하지만 지루하지만 지루한 기술 부채 작업에 뛰어납니다. 그러나 더 큰 건축 결정 또는 복잡한 비즈니스 논리 변화에 관해서는 인간의 판단은 여전히 대체 할 수 없습니다.
우리는 엔지니어이기 때문에 공예와 함께 제공되는 신중한 계획 및 트레이드 오프 고려 사항을 알고 있습니다. 하나의 잘못된 세미콜론, 그리고 모든 것이 무너질 수 있습니다. 그렇기 때문에 모든 프롬프트가 신중한 고려가 필요한 이유이며 코드베이스로의 각 변경에는 철저한 검토가 필요합니다.
하루 종일 깨끗한 코드를 작성할 수 있지만 실제로 응용 프로그램에 중요한 것에 대한 지침이 필요한 훌륭한 파트너와 협력하는 것으로 생각하십시오. AI 에이전트는 속도와 일관성을 제공합니다. 금요일 오후이기 때문에 결코 피곤하지 않고 코너를 자르지 않으며 수백 가지의 변화에 대한 초점을 유지할 수 있습니다. 그러나 당신은 전략적 사고를 가져옵니다. 어떤 기술 부채가 먼저 해결 해야하는지, 다른 접근 방식의 비즈니스 영향을 이해하고, “빠른 수정”이 시점에서 더 큰 문제를 일으킬 수 있는지 인식합니다.
마법은 인간의 판단과 AI 실행 사이의 상호 작용에서 발생합니다. 문제를 정의하고 제약 조건을 설정하고 솔루션을 검증합니다. 에이전트는 시간을 소비 할 수있는 지루한 구현 세부 사항을 처리합니다. 이 파트너십을 통해 품질과 제어를 유지하면서 더 높은 수준에서 운영 할 수 있습니다.
Github Copilot에서 코딩 에이전트를 최대한 활용하기위한 팁
지난 몇 개월 동안 Github Copilot의 코딩 에이전트를 사용하여 배운 내용은 다음과 같습니다.
- 쓰다 Copilot 지침 저장소 용. 이로 인해 훨씬 더 나은 경험이 생깁니다. 당신은 당신의 대리인에게 당신이 시작할 수 있도록 지침을 작성하도록 요청할 수도 있습니다. 이것이 내가 한 방법입니다! 개발 중에 실행 해야하는 스크립트와 같은 내용을 포함하여 포맷 및 보풀 (여러분을보고 있습니다.
go fmt
). - 소화 가능한 덩어리에서 작업하십시오. 에이전트가 작은 덩어리에서 일해야하기 때문일 필요는 없습니다. 나는 당신이 원하는 코드베이스의 어떤 영역을 명시 적으로 명시하지 않으면 꽤 야심 찬 변화를 만들어내는 어려운 방법을 배웠습니다. 그러나 100+파일 풀 요청을 검토하는 것은 좋은 시간에 대한 나의 생각이 아니므로 소화 가능한 청크에서 작업하면 일반적으로 검토 자로서 나에게 더 나은 경험을 할 수 있습니다. 이것이 나에게 보이는 것은“이 응용 프로그램에 대한 테스트 범위 개선”이라는 문제를 쓰는 대신, “파일 x에 대한 테스트 범위 향상”또는 “폴더 y의 테스트 범위 향상”을 통해 Github Copilot에 할당 된 여러 가지 문제를 만들어 검토에 필요한 변경 사항을 더 잘 범위를 세웁니다.
- 효과적인 프롬프트의 기술을 마스터하십시오. AI 에이전트로부터 얻은 품질은 요구 사항을 얼마나 잘 전달하는지에 따라 크게 달라집니다. 에이전트가 따라 가려는 컨텍스트, 제약 및 코딩 표준에 대해 구체적으로하십시오.
- 항상 코드를 철저히 검토하십시오. AI 에이전트는 반복적 인 작업을 잘 처리 할 수 있지만 비즈니스 논리를 이해하지 못합니다. 코드 검토를 검토하여 워크 플로의 중심 부분은 품질을 보장하면서 자동화의 혜택을 누릴 수 있습니다. 이것이 내가 Github Copilot 코딩 에이전트를 좋아하는 이유 중 하나입니다. 매일 사용하는 것과 동일한 코드 검토 도구를 사용하여 동료의 코드를 검토하여 워크 플로에 쉽게 맞출 수 있습니다.
우리는 소프트웨어 엔지니어링에서 중추적 인 순간입니다. 너무 오랫동안 기술 부채는 침묵의 생산성 살인자였습니다. 우리 모두가주의를 기울여야하지만 위기가 될 때까지 거의 우선 순위가 지정되지 않습니다. AI 코딩 에이전트는 우리에게 그 방정식을 완전히 바꿀 수있는 기회를 제공하고 있습니다.
AI 에이전트와 효과적으로 협력하는 법을 배우는 엔지니어 (명확한 프롬프트, 사려 깊은 코드 검토 및 전략적 과제 대표단의 기술을 마스터하는 사람들은 큰 이점이 있습니다. 그들은 동료들이 어려움을 겪고 다른 사람들이 피하는 기술 부채를 다루는 코드베이스를 유지할 수 있으며, 수십 년 동안 우리 산업을 괴롭힌 비싸고 시간이 많이 걸리는 재 작성의 필요성을 제거 할 수 있습니다.
그러나이 변화에는 의도적 인 노력이 필요합니다. 이러한 도구를 실험하고 강점과 한계를 배우고 워크 플로에 통합해야합니다. 기술이 준비되었습니다. 문제는 당신이 그것을 이용할 것인지 여부입니다.
AI 에이전트가 기술 부채에 어떻게 도움을 줄 수 있는지 탐색하지 않았다면 이제는 완벽한시기입니다. 더 생산적이고, 좌절 덜 좌절하고, 엔지니어링의 창의적 측면에 초점을 맞춘 미래의 자아는 감사합니다. 더 중요한 것은, 완전한 재건을 위해 상당한 다운 타임이 필요한 대신 계속 발전하는보다 안정되고 잘 관리 된 응용 프로그램의 혜택을 누릴 수있는 사용자도 마찬가지입니다.
오늘 리포지토리에서 기술 부채를 Github Copilot 코딩 에이전트에 할당하십시오!
작성자가 작성했습니다
Post Comment