혼잣말: 생성형 인공지능과 회사내부 툴의 발전

챗지피티 (ChatGPT)가 출현하고 본격적으로 대중의 관심을 끈 지 대략 1년쯤 된 듯하다. AI 거품을 많이 봐왔던 입장에서 챗지피티를 처음 사용해 보고, 아 이건 다른 물건이다라는 생각이 들었었다. 그리고 주변 사람에게 이건 변곡점이라고 많이 떠들고 다녔었다. 그 떠들 시간에 NVDA나 살걸.. 아무튼 오늘은 생성형 AI가 가져온 회사 내부에서 사용하는 툴들의 변화에 대해 이야기해보고자 한다.

내부전용 LLM

제일 먼저 생긴 변화는 내부전용 LLM 서비스를 만들었다는 것이다. 신기술 개발을 많이 하는 테크 회사 입장에서는 자신들의 내부 정보나 코드들이 OpenAI 서버로 들어가는 것을 원치 않을 것이다. 초반에는 특별히 제제하는 시스템이나 제도들이 없었지만 서서히 이를 막으려는 움직임이 있었다. 먼저 챗지피티에 붙여 넣기를 막았다. 아주 짧은 문장은 괜찮았지만 좀 긴 텍스트를 붙여 넣기를 하면 브라우저 차원에서 이를 막았다. 그리고 시간이 지나 내부에서 개발한 LLM을 출시해서 그걸 사용하게 했다. 오픈소스 기반의 LLM을 이용해 자체적으로 훈련시킨 모델이었다. 초반에는 챗지피에 비해 성능이 뒤쳐졌었지만 차차 개선되었고 gpt-4를 옵션으로 제공하기도 하면서 성능적인 문제는 거의 사라졌다.

사용처의 확장

자체 LLM은 처음에는 OpenAI의 ChatGPT처럼 웹사이트에서 대화창의 형태로만 서비스가 되었었다. 그러다가 이를 개발툴들 곳곳에 넣기 시작했다.

 

코드변경 사항 요약 - 코드리뷰 과정에서 코드 제출자가 코드 변경사항에 대해 설명을 같이 제출해야 한다. 그런데 LLM을 이용해서 코드의 내용이나 기타 정보들을 읽어서 그 변경사항에 대한 설명을 자동생성해 주는 기능이었다. 심지어 코드변경이 여러 개의 시리즈로 제출하면 그 앞뒤의 내용의 문맥을 파악해서 큰 그림까지 같이 설명해주기도 하는 등 놀라운 점들이 많았다. 언제나 문서화나 코드 설명은 반드시 필요한 과정이나 개발자의 시간을 갉아먹는 과정 중의 하나이기도 한데, 이를 해결하기 위함이라는 생각이 들었다. 아직 그 성능이 만족스럽지 않아 가끔씩만 쓰거나 쓰고 나서도 수작업을 수정해야 하기는 하지만 점차 나아지리라 본다.

 

코파일럿 - 다른 큰 사용처는 바로 소위 GitHub/마이크로소프트의 코파일럿 기능이었다. 자체 LLM을 개발한 이유와 같이 보안상의 이유로 MS의 코파일럿을 사용할 수 없었는데. 이 또한 자체 모델을 개발을 하였다. MS의 코파일럿처럼 개발 IDE에서 코드를 작성하면 문맥에 맞게 코드를 생성해 주고 더 나은 코드를 추천하기도 하는 등 다양한 기능을 지원한다. 그리고 나아가서 코드리뷰 창에서도 제출한 코드에 대해 linter가 지적한 부분에 대해 어떻게 수정하면 좋은지 제안도 해준다.

특화된 서비스

여기까지는 그래도 회사 밖의 사람들도 이미 많이 사용하고 있는 기능이라, 회사에서 보안을 고려한 대체품들을 따라가는 입장으로 개발하고 있다는 생각이 들게 하는 툴들의 변화였다. 그런데 최근에 본 새 서비스들은 회사 밖에서는 볼 수 없는 기능이라는 생각이 들게끔 하였다. 바로 최근에 시작한 커스텀 LLM 서비스이다. 가장 비슷한 것이 OpenAI의 ChatGPT 스토어에 해당될 것이다. 이와 비슷하게 자신만의 프롬프트를 하나의 서비스로 만들어서 사람들과 공유한다는 것이 아이디어이다. 그런데 큰 차이점은 이 커스텀 프롬프트들이 회사 내부 기록들을 열람하고 그를 바탕으로 답을 내놓을 수 있다는 이야기인 것이다. 마치 MS에서 자기 컴퓨터나 클라우드의 기록들을 활용해서 답을 내놓듯이.

 

이렇게 되니까 활용분야가 무한히 확대될 수 있다는 생각이 들었다. 예를 들어 최근에 회사 내부평가 기간이 있었는데. 이때 어려운 점 중 하나가 지난 반년 혹은 일 년 동안 내가 어떤 일을 했는지 찾아보고 정리하는 것이다. 내용을 놓칠 수도 있고 많은 내용을 요약하기도 어렵다. 더 나아가 내가 한 일들은 어느 정도 기억한다 하더라도 다른 사람의 피어리뷰를 작성하기 위해 그 사람이 어떤 활동을 했는지는 정말로 빠짐없이 찾기 어렵거나 번거롭다. 그런데 이때 정말 유용하게 사용했던 커스텀 프롬프터가 있었는데. 해당 사람의 (열람 가능한) 특정 기간 동안 일한 기록을 종류별로 정리해 주는 것이었다. 완전 신세계였다. 나 혹은 동료가 올린 코드, 작성한 문서, 참여한 미팅 등등 모든 기록을 읽고 정리해 주니 귀찮은 많은 부분을 해결해 주는 것이다. 이를 더 확장하면 퍼포먼스 평가뿐만 아니라 분기별로 작성하는 서머리 리포트나 팀 리포트를 장성하기도 훨씬 쉬워지는 것이다.

 

그리고 LLM의 좋은 활용처 중의 하나가 방대한 자료를 원하는 형태로 제공해 줄 수 있다는 점이다. 아무리 엔지니어 매니저들이 열심히 어떤 프로젝트나 제품에 대해 문서화를 잘해 놨어도 그 퀄리티를 유지하기가 너무 어렵다. 너무 복잡해지거나 정리가 잘 안 되어 있거나 등등. 그런데 이때 특정 프로젝트에 특화된 LLM이나 프롬프터를 만들어 놓으면 일일이 위키나 문서를 뒤질 필요 없이 대화형으로 원하는 정보를 좀 더 편하게 열람할 수 있게 된다.

마치며

아마 이밖에도 이미 다른 회사나 내가 다닌 회사에서 더 많은 AI를 활용한 편의 툴들이 개발되었고 개발되고 있을 것이다. 어떤 것들이 나올지 기대도 되고 걱정도 된다. 아무래도 이것이 결국 개발자의 일자리를 빼앗지는 않을까라는 질문과 연결되어 있기 때문이다. 그 답은 나도 모르겠다. 다만 뒤처지지 않게 이런 툴들을 적극적으로 활용해서 생산성을 더 올리고 끊임없이 AI와 내 포지션이 겹치지 않는지 확인하고 인간/나 만이 할 수 있는 일 쪽으로 내가 가진 스킬 셋을 계속 발전시키고 바꿔 나가는 것이 유일한 방법이지 않을까 싶다.

반응형