paint-brush
소프트웨어 개발의 AI: ELEKS R&D 팀의 통찰력으로 GitHub Copilot 살펴보기~에 의해@elekssoftware
754 판독값
754 판독값

소프트웨어 개발의 AI: ELEKS R&D 팀의 통찰력으로 GitHub Copilot 살펴보기

~에 의해 ELEKS6m2024/02/06
Read on Terminal Reader

너무 오래; 읽다

ELEKS가 GitHub Copilot의 혁신적인 기능을 탐색하면서 소프트웨어 개발에서 AI의 역할을 알아보세요.
featured image - 소프트웨어 개발의 AI: ELEKS R&D 팀의 통찰력으로 GitHub Copilot 살펴보기
ELEKS HackerNoon profile picture
0-item
1-item

AI는 소프트웨어 개발에 혁명을 일으켜 더욱 효율적이고 생산적이며 혁신적으로 만들고 있습니다. 이 기사에서는 소프트웨어 개발에서 AI가 미치는 영향을 살펴보고 ELEKS R&D 팀이 수행한 GitHub Copilot 조사에서 얻은 통찰력을 탐구합니다.


소프트웨어 개발 세계가 계속 발전함에 따라 AI 의 역할이 점점 더 중요해지고 있습니다. 코딩에 필요한 시간과 노력을 줄일 수 있는 능력 등의 이점을 갖춘 소프트웨어 개발 분야의 AI가 요즘 화제가 되는 것은 당연한 일입니다.


미국에 기반을 둔 개발자 중 92%는 이미 직장과 외부에서 AI 코딩 도구를 사용하고 있습니다. - GitHub


개발자 중 70%는 AI 코딩 도구가 코드 품질 향상, 완료 시간 단축, 사고 해결 기능 강화 등 전문적인 노력에서 뚜렷한 이점을 제공할 것이라고 믿습니다. - GitHub


개발자 5명 중 4명은 AI 코딩 도구를 통해 팀의 협업이 더욱 강화될 것으로 기대합니다. - GitHub


AI는 사람의 입력 없이 독립적으로 소프트웨어 제품을 만들고, 테스트하고, 출시할 수 있는 단계에는 도달하지 못했지만, 과거에 비해 전체 처리 시간이 크게 단축되었습니다.


코드 생성 및 자동 완성은 물론 버그 감지 및 수정을 통해 맞춤형 애플리케이션 개발을 지원하는 다양한 AI 기반 도구를 사용할 수 있습니다. ELEKS 연구 개발 팀은 이러한 도구 중 하나인 GitHub Copilot을 철저히 평가하여 개발자의 작업, 완료 기간 및 제공된 권장 사항에 대한 품질 표준에 대한 영향을 평가했습니다. 좀 더 자세히 살펴보겠습니다.

GitHub Copilot이란 무엇입니까?

GitHub Copilot은 코드 자동 완성 및 생성을 위한 도구입니다. OpenAI Codex를 기반으로 구축되었으며 공개 GitHub 리포지토리에서 교육되었습니다. 결과적으로 모든 프로그래밍 언어에 대한 코드를 제안합니다. 그러나 제안의 품질은 특정 프로그래밍 언어 및 프레임워크를 기반으로 하는 공개 저장소의 수에 따라 달라집니다.


GitHub Copilot은 IDE(통합 개발 환경) 플러그인을 사용하여 프로그램 코드로 작동합니다. 현재 다음 IDE만 지원됩니다.

  • 비주얼 스튜디오 코드
  • 비주얼 스튜디오
  • 네오빔
  • JetBrains의 모든 IDE

ELEKS의 GitHub Copilot 조사 개요

이 조사는 Copilot 사용이 개발 속도와 품질 모두에 미치는 영향을 조사하는 것을 목표로 했습니다.


이 연구를 수행하기 위해 다양한 가정에 대한 테스트 기반으로 작은 애완 동물 프로젝트가 시작되었습니다. React, Redux, TypeScript, Jest, Vite, PHP, Symfony 및 Codeception에 대한 전문 지식을 갖춘 4명의 숙련된 중간 개발자로 구성된 팀을 통해 우리는 조사를 시작하고 목표와 접근 방식을 다음과 같이 정의했습니다.

목표

접근하다

Copilot 사용 시 개발자의 역량과 성과 간의 종속성을 평가합니다.

우리는 백엔드 개발을 위해 Symfony 프레임워크를 선택했습니다. 백엔드 팀은 이 프레임워크에 대한 실질적인 경험이 없었습니다.
백엔드 솔루션의 품질을 평가하기 위해 Symfony 전문가가 코드 검토에 참여했습니다. 전문가는 또한 일반적인 프로젝트 구조를 뛰어넘는 기본 프로젝트 구조를 개발하여 대규모 상업 프로젝트에 사용했습니다.

일반적인 개발자 작업에 미치는 영향 조사

프로젝트가 시작되기 전에 우리는 상용 프로젝트에서 개발자의 일반적인 작업을 다루는 WBS를 만들었습니다. 그리고 과제평가 세션도 진행했습니다.

인기도에 따라 프로그래밍 언어 및 프레임워크에 미치는 영향 조사

우리는 테스트 커버리지를 갖춘 웹 애플리케이션을 개발했습니다.

작업 완료 시간에 미치는 영향 평가

우리는 프로젝트의 개별 작업에 대한 예비 평가를 수행했습니다.

연구 효율성 강화

우리는 매일 동기화하는 동안 팀 내에서 지식 공유 세션을 진행했습니다.

제안의 품질 살펴보기

우리는 Copilot이 비고전적이고 보다 복잡한 프로젝트 구조를 어떻게 처리하는지 테스트했습니다.



ELEKS의 GitHub Copilot 조사의 주요 결과

GitHub Copilot에 대한 ELEKS의 조사를 통해 도구의 기능과 이점을 밝혀주는 몇 가지 주요 결과가 나왔습니다. 자세한 설명은 다음과 같습니다.


조사 결과는 팀의 주관적인 피드백, 작업 관찰 및 솔루션의 코드 검토를 기반으로 합니다.

GitHub Copilot에는 두 가지 작동 모드가 있습니다.

  1. 코드 자동 완성 모드 – 거의 항상 성능에 긍정적인 영향을 미칩니다.
  2. 프롬프트가 포함된 주석을 기반으로 하는 코드 생성 모드는 일반적인 코드 구조에서만 잘 작동합니다. 제안된 코드 변형을 분석하는 데 많은 시간이 걸리기 때문에 비즈니스 로직이나 비전형적인 솔루션을 생성할 때 비생산적일 수 있습니다.

GitHub Copilot 코드 제안의 품질은 다음에 따라 달라집니다.

  • 공개 저장소에서 선택된 기술 스택의 인기. 기술이나 언어의 인기가 높을수록 GitHub Copilot 제안의 품질이 높아집니다.
  • 코드 구조 및 애플리케이션 아키텍처. 솔루션이 더 일반적일수록 GitHub Copilot이 제공하는 더 효과적인 제안이 있습니다. 이는 특히 프로젝트 개발 초기에 두드러집니다.

GitHub Copilot의 다른 장점:

  • 시간이 지남에 따라 코드 제안의 품질이 향상됩니다. GitHub Copilot은 프로젝트 구조, 코드 스타일 및 프로젝트의 기술 솔루션에 대한 일반적인 접근 방식을 학습하고 이에 적응합니다.
  • 개발자 직업 만족도에 긍정적인 영향을 미칩니다. GitHub Copilot은 일상적이고 일반적이며 지루한 작업의 일부를 수행합니다. 흥미로운 작업과 일상적인 작업 개발 사이의 비율이 변경되어 개발자의 편안함이 높아집니다.

일반 팀 조사 결과:

  • 이 도구는 긍정적이지도 부정적이지도 않은 코드 품질에 아무런 영향을 미치지 않는 것으로 나타났습니다. 현재로서는 코드 검토 프로세스, 개발자가 수행하는 수동 코드 테스트, 자동 테스트 실행, 보안 테스트 등을 대체할 수 없다고 생각합니다.
  • 효율성은 해당 기술 스택에서 개발자의 역량에 따라 달라집니다. 개발자의 기술이 향상될수록 이 도구의 효과는 더욱 높아집니다.
  • 새로운 기술을 배우기 위한 GitHub Copilot의 가치는 매우 의심스럽습니다.
  • 팀은 모든 코드 관련 파일이 IDE에 열려 있으면 코드 제안이 더 좋아진다는 인상을 받았습니다.
  • 다른 도구와 마찬가지로 GitHub Copilot에는 특정 기술이 필요합니다. 팀이 더 많이 연습할수록 더 많은 긍정적인 피드백을 받았습니다.
  • 성능 향상에 대한 피드백은 기술 스택, 전문가의 역량 수준, 주관적인 이유에 따라 다릅니다.


팀원의 생산성이 평균 5~10% 증가합니다. - ELEKS 연구개발팀


참고로 프로젝트 도중 팀은 GitHub Copilot에서 몇 가지 버그를 발견했습니다. 예를 들어 Copilot은 다른 IDE 창에 열려 있는 다른 프로젝트의 코드를 기반으로 코드 제안을 제안했습니다. 구문적으로 잘못된 코드를 제공했습니다. Copilot은 코드 자동 완성 기능도 있는 일부 플러그인(내장 또는 제3자가 추가)의 기능과 충돌합니다.

결론

GitHub Copilot은 개발 속도와 개발자 작업 만족도에 긍정적인 영향을 미치는 강력한 도구입니다. 다른 개발 도구와 마찬가지로 이를 익히려면 시간이 필요합니다.


현재 개인용 월간 라이선스 비용은 10달러에 불과한 반면, 비즈니스 플랜의 가격은 월 19달러입니다. GitHub Copilot은 의심할 여지 없이 프로젝트, 특히 중간 역량 수준 이상의 전문가에게 재정적으로 도움이 될 것입니다.


팀은 GitHub Copilot 사용 경험이 늘어남에 따라 기술의 대중성과 개발자의 역량 수준에 따라 개발 속도가 5~25% 향상될 수 있다고 예측합니다. GitHub Copilot은 개발자가 도구를 사용하는 것이 언제 유익한지, 언제 그렇지 않은지에 대한 전문 지식과 이해를 점차적으로 얻을 수 있기 때문에 개발 속도를 늦추지 않을 것을 보장합니다.


결론적으로, GitHub Copilot과 같은 도구를 통해 예시되는 소프트웨어 개발에서 AI의 영향은 부인할 수 없습니다. 전반적으로 GitHub Copilot과 같은 도구는 개발자를 대체할 수는 없지만 개발자의 편안함과 생산성을 향상시키는 귀중한 도구 역할을 하며 점점 더 AI가 주도하는 세계에서 소프트웨어 개발의 발전에 기여합니다.


효율적인 소프트웨어 개발 프로세스와 성공적인 결과를 향한 길을 열어 ELEKS 전문가에게 문의하세요 .


여기에도 게시되었습니다.