본문 바로가기

Tech Insight/소프트웨어 엔지니어링 SE

Copilot을 쓰는 120만명 개발자가 놓치고 있는 것

사람들이 코드 생성에만 너무 집중한 나머지 LLM이 코드 분석에 유용하다는 사실을 까맣게 잊고 있다.
- 자나 도간 (Github 소프트웨어 엔지니어)

 

ITWorld 칼럼 'Copilot을 쓰는 120만 명 개발자가 놓치고 있는 것'에서는 최근 화두가 되고 있는 AI 기반 소프트웨어 개발 도구들을 '코드 작성'의 관점 보다 '코드 검토' 관점에서 더 많이 활용해야 한다는 시사점을 남기고 있습니다.

 

💭 소프트웨어 테스트에 대한 오해

  1. 개발자는 코드를 효과적으로 테스트할 수 있는 객관성 또는 전문성이 부족하거나 테스트가 너무 번거롭다고 생각함
  2. 단위 테스트부터 통합 테스트, 회기 테스트 등 테스트의 방법은 다양하나 많은 비용이 발생함
  3. 테스트를 함으로써 개발 속도가 느려지는 것처럼 보임

이는 단기적 관점에서 개발이 느려지고, 비용이 많아드는 것처럼 보일 수도 있지만, 적절한 테스트는 오히려 더 빠르고 장기적인 성과로 이어집니다.

 

그렇기 때문에, 소프트웨어 개발자는 이렇게 빨리 결과물을 내야 한다는 것에 혈안이 되어있기보다는 가능한 적은 코드로도 최대한의 효과를 낼 수 있도록 목표를 삼아야 합니다.

 

그리고 이를 위해 소프트웨어 테스트는 필수적인 방법이며, 이 때 LLM을 적절히 사용하여 생산성과 성과적인 큰 효과를 기대해 볼 수 있습니다.

 

🤖 LLM(대형 언어 모델)이란?

대규모 언어 모델은 대화 또는 기타 자연 언어 입력에 대해 인간과 유사한 응답을 생성하기 위해 방대한 양의 텍스트 데이터(읽기: ChatGPT의 경우 전체 인터넷)에 대해 훈련된 인공 지능의 하위 집합

 

👩🏻‍💻 LLM을 활용한 코드 작업의 책임

 

AI가 한 사람이 주어진 일에 모든 책임을 질 수 있고,
그 일에 대한 사람의 책임은 사라질 것인가?

 

AI에 의존해 개발자가 코드를 생성하고, 더 가치있는 일에 집중할 수 있다고 생각한다면 한 번쯤 고민해봐야 할 부분입니다.

 

  • 숙련되고 유능한 개발자는 AI의 오류를 파악할 전문 지식이 있기 때문에, AI에게 코드 생성을 맡겨도 큰 문제가 되지 않을 것
  • 경험이 부족한 개발자가 AI에 의존적으로 작업을 한다면, 이에 대한 책임이 자신에게 있다는 사실을 전혀 인식하지 못할 수 있음

 

✅ 코드 검토를 위한 LLM

마찬가지로 LLM을 코드 생성에 의존적으로 활용한다면, 위와 같은 고민에 직면하게 됩니다. 하지만 코드 검토 관점에서 이를 생각한다면, 오히려 개발자의 작업 리스크를 줄일 수 있게 됩니다. 특히, 개발자가 익숙지 않은 언어와 관련된 문제라던지, 알고리즘 등을 사용하는 데 있어서 효과적인 도움을 줄 수 있습니다.

 

코드 검토에 LLM을 활용한 예

  1. Java 개발자가 Go 코드를 검토할 때 LLM을 활용한다.
  2. 작은 코드 블록이나 익숙치 않은 특정 알고리즘을 탐색할 때 LLM을 유용하게 활용할 수 있다.

 

🤖 결론: 개발자의 업무를 보완하는 AI

최근 AI로 인해 소프트웨어 개발자의 일자리가 위협받는 것에 대한 우려를 표하는 이들도 있습니다.

 

하지만 오늘의 칼럼을 통해, 오히려 AI를 제대로 활용한다면 개발자의 역량이 훨씬 더 향상될 뿐만 아니라, 개발자의 업무를 보완하는 도구로서 LLM과 AI가 역할을 하게 될 것이라는 전망을 확인할 수 있었습니다.

 

그런 점에서 앞으로 많은 개발팀에서 AI 도구를 코드 검토에 활용하는 방법에 대해 고민하면 좋지 않을까 하는 생각입니다. 

 

 

글로벌 칼럼ㅣ코파일럿 쓰는 120만 명 개발자가 놓치고 있는 것

AI를 사용한 소프트웨어 개발은 더 이상 먼 미래가 아니다. 이미 무려 120만 명 이상의 개발자가 ‘깃허브 코파일럿’에서 AI로 코드를 생성해

www.itworld.co.kr