AI와 LLM을 배우거나 테스트하고 있는가? 특히 코드 작성에 사용할 때는 회의적인 태도를 취할 필요가 있다.
데이터셋(Datasette)의 창립자 사이먼 윌리슨은 깃허브 코파일럿이나 챗GPT와 같은 생성형 AI(GenAI) 도구를 제대로 활용하려면 4가지 상반된 의견을 받아들일 준비가 되어 있어야 한다고 강조했다. AI는 인류의 구원자도 파멸자도 아니며, 공허한 과대광고도 아니고 모든 것을 해결할 수 있는 해결책도 아니라는 것이다. 이 중 어느 것도 아니지만 동시에 모든 것이기도 합니다. 윌리슨은 “놀랍게도 이 모든 의견이 옳다!”라고 말했다.
일리 있는 표현이다. 이 모든 것은 생성형 AI 도구를 사용하는 방법과 기대하는 바에 따라 달라진다. AWS 코드위스퍼러와 같은 코드 생성 어시스턴트가 곧바로 사용할 수 있는 완벽한 코드를 생성해줄 것으로 기대했다면 실망할 것이다. 하지만 개발자의 기술을 보완하기 위해 이러한 도구를 사용한다면 긍정적인 놀라움을 느낄 터다.
극단적 시각
문제는 너무 많은 기업이 과대 광고에 현혹되곤 한다는 것이다. 생성형 AI가 문제를 해결하는 마법의 치료제가 될 것으로 기대한다. 가트너의 애널리스트 스탠 아로노우가 언급한 최근 설문조사에 따르면 “비즈니스 리더의 약 70%가 생성형 AI 적용 가능성 및 위험에 대한 이해가 부족함에도 불구하고 [GenAI의] 이점이 위험보다 더 크다고 생각하고 있다.”
대규모 언어 모델(LLM)에 대해 윌슨은 “마치 3년 전 외계인이 지구에 나타나서 이걸 담은 USB 스틱을 건네고 떠난 것 같다. 그 이후로 우리는 이 기술을 계속 들여다보며 이 기술이 무엇을 할 수 있는지 알아내려고 시도하고 있다”라고 말했다. 우리는 이것이 중요하다는 것을 알고 있고 일반적으로 AI와 특히 LLM이 할 수 있는 일의 경계를 어느 정도 감지할 수 있지만, 아직 시행착오 모드에 있다.
윌리슨은 LLM의 문제점(그리고 기회)에 대해 “실제로 원하는 것을 얻는 경우가 매우 드물다는 점”이라고 말했다. 원하는 것은 더 많이 얻고 원하지 않는 것은 덜 얻을 수 있는 방법을 고민하면서 프롬프트 엔지니어링이 등장했다. “때때로 이 작은 트릭을 사용하면 갑자기 완전히 새로운 능력의 길이 열리는 것을 발견할 수 있다”라고 그는 말했다.
인간의 역할과 AI의 역할
일각에서는 코딩 어시스턴트가 숙련되지 않은 개발자에게 큰 도움이 될 것이라고 말한다. 언젠가는 그럴 수도 있겠지만 지금은 그렇지 않다. 왜 그럴까? 결과를 가늠할 수 있는 충분한 경험이 없는 상태에서 LLM의 결과물을 적절히 신뢰할 수 있는 방법이 없기 때문이다. 윌리슨은 “최상의 결과를 얻으려면 실제로 많은 지식과 경험이 필요하다. 많은 부분이 직관에 달려 있다”라고 말했다.
개발자가 시행착오를 거쳐 알아낼 수 있는 코딩 분야의 활용법들이 있기는 하지만, 프로그래밍의 여러 영역은 현재로서는 생성형 AI에 적합하지 않다. 오라일리 미디어의 마이크 루키데스는 “자동 코드 생성에 너무 얽매여 복잡성을 제어하는 것을 잊어서는 안 된다”라고 기술했다.
인간은 코드의 복잡성을 다룸에 있어 완벽하지는 않을지라도 기계보다 더 잘 할 수 있다. 예를 들어, 개발자는 LLM에 코드의 복잡성을 줄이라고 지시하기 어렵다. 코드 줄이기도 마찬가지다. 루키데스는 “코드 줄을 최소화하면 간결해지기도 하지만, 같은 줄에 여러 아이디어를 집어넣는 복잡한 주문으로 이어져 문서화되지 않은 부작용을 초래하는 경우가 많다”라고 말했다. 컴퓨터는 코드의 복잡성에 신경 쓰지 않지만, 몇 년 후에 코드를 디버깅하고 이해해야 하는 사람은 신경을 써야 한다.
AI가 수십 년 동안 사용되어 왔음에도 불구하고 우리는 AI의 진화에서 극초기 단계에 있다. 기술 업계 사람들은 앞서 나가기를 좋아한다. 클라우드가 아직 전체 IT 지출의 10% 정도에 불과한데도 마치 클라우드가 표준인 것처럼 행동한다. AI에 대한 투자가 홍수처럼 쏟아지고 있지만 그 비중은 0.01%에도 미치지 못한다.
지금은 다양한 LLM과 관련 코딩 도구를 테스트할 때다. 우리의 목표는 어떤 것이 우리의 모든 작업을 대신해 줄 것인지 확인하는 것이 아니라, 각자의 강점과 약점을 발견하고 강점과 약점을 어떻게 활용할 수 있는지 알 때까지 시험하고 자극하는 것이어야 한다.
* Matt Asay는 몽고DB에서 개발자 관계를 담당하고 있다. 그러나 이 글은 몽고DB의 관점을 반영하지 않는다. dl-ciokorea@foundryco.com