얼마 전까지만 해도 LLM(대형 언어 모델)이 코드를 다시 작성하는 것은 불가능했습니다. 각 LLM에는 흡수하고 적용할 수 있는 단어 수를 설정하는 토큰 제한이 있습니다. 토큰 한도가 낮으면 모델은 코드 변환과 같은 복잡한 작업을 수행하는 데 필요한 정보의 양을 흡수할 수 없습니다.
소프트웨어 개발 회사인 Mantle은 최근 공통적인 과제에 직면했습니다. 그들은 고객 피드백에 대응하여 신속한 상호 작용에 완벽한 특정 코딩 언어로 차세대 자산 관리 플랫폼 프로토타입을 구축했습니다.
그러나 프로덕션 기술 스택에 사용된 코드는 달랐고 제품을 출시하려면 Mantle은 코드베이스를 한 언어에서 다른 언어로 변환해야 했습니다. 이는 소프트웨어 팀과 기업이 정기적으로 직면하는 매우 번거로운 작업입니다.
Mantle 공동 창립자이자 CTO인 Dwayne Forde는 "노력은 정당하지만 과정은 고통스럽습니다."라고 말했습니다. "이제 고객 지향 로드맵을 진행하는 대신 기존 기능을 다시 만드는 데 귀중한 엔지니어링 시간의 상당 부분을 소비하게 됩니다."
AI가 도움이 될 수 있을지 궁금해하는 Forde(VMware 및 Xtreme Labs 등의 기업에서 20년 이상의 엔지니어링 경험을 보유한 신뢰할 수 있는 업계 리더)는 최근 Mantle의 블로그 게시물 "AI 작업: 코드"에서 이 프로세스를 기록했습니다. 전환하세요.”
그는 사례 연구가 다른 기술 팀에 유용한 리소스가 되어 시간과 노력을 절약하는 데 도움이 되기를 바랍니다.
이 책은 AI가 작업을 가속화하고 향상시킬 수 있는 방법을 보여줌으로써 해당 부문의 공동 이익을 증진하려는 노력의 일환으로 Forde가 기술 팀을 위해 작성한 교육 가이드 시리즈 중 두 번째입니다.
“우리의 목표는 100% 완벽하게 제작된 코드를 달성하는 것이 아니었습니다.”라고 Forde는 말했습니다. “엔지니어가 고부가가치 검증에 집중하고 제품을 출시할 수 있도록 상용구와 반복되는 패턴의 80%를 제거하는 것이 목표였습니다.”
얼마 전까지만 해도 LLM(Large Language Models)이 코드를 다시 작성하는 것은 불가능했습니다. 각 LLM에는 흡수하고 적용할 수 있는 단어 수를 설정하는 토큰 제한이 있습니다. 토큰 한도가 낮으면 모델은 코드 변환과 같은 복잡한 작업을 수행하는 데 필요한 정보의 양을 흡수할 수 없습니다.
그러나 LLM 소프트웨어의 급속한 발전으로 인해 토큰 한도가 높아졌고 Forde는 그의 팀이 그들 앞에 흥미롭고 새로운 옵션이 있다는 것을 깨달았습니다. 한계가 높을수록 모델의 추론 능력이 향상되고, 더 복잡한 수학 및 추론을 수행할 수 있으며, 훨씬 더 큰 크기의 입력 및 출력 컨텍스트를 수행할 수 있습니다.
Medium에 따르면 토큰 100만 개는 모델이 소설 20권이나 법률 사건 요약서 1,000권을 읽는 것과 동일하다고 합니다.
Forde와 그의 팀은 이렇게 대폭 늘어난 토큰 한도를 통해 전체 코딩 언어를 LLM에 공급하여 본질적으로 이중 언어를 사용하도록 가르칠 수 있다는 것을 이해했습니다.
코드 변환은 극도로 노동 집약적이기 때문에 Mantle은 LLM을 통해 소량의 코드라도 한 언어에서 다른 언어로 변환하면 엔지니어링 프로젝트 납품 시간에 큰 도움이 될 것이라는 점을 알고 있었습니다.
“우리는 작업 범위를 2/3로 줄이고 개발자 시간을 수개월 절약하는 접근 방식을 개발했습니다.”라고 Forde는 자신의 게시물에 썼습니다.
Mantle 프로토타입 프로젝트를 새로운 코드 언어로 변환하는 데 일반적으로 수개월의 수작업이 소요됩니다.
Forde는 엔지니어들이 LLM이 자신들을 위해 많은 작업을 수행하도록 유도하는 최선의 방법을 실험하는 데 시간을 집중했다고 말했습니다.
LLM에 코드 언어를 입력하고 번역을 요청하는 것만큼 간단하지는 않았습니다.
Forde의 감독 하에 Mantle 팀은 LLM을 업무에 제공하기 위한 최상의 지침, 상황 및 지침을 파악하기 위해 혁신과 발견의 과정을 거쳤습니다.
그들은 프로토타입 소스 언어의 모델 코드 조각뿐만 아니라 기존 생산 코드 패턴, 대상 아키텍처에 대한 설명을 제공하고 Mantle의 자체 기술 스택에서 사용되는 특정 라이브러리 및 유틸리티에 대한 컨텍스트를 LLM에 제공했습니다.
“우리는 선호하는 특정 라이브러리가 있으므로 LLM 출력 코드가 우리가 사용하는 코드와 호환되는지 확인하는 데 컨텍스트 섹션을 추가하는 것이 매우 도움이 되었습니다.”라고 Forde는 말했습니다.
팀에서는 정보가 어떻게 표시되기를 원하는지 보여주기 위해 LLM 스크린샷을 제공하기도 했습니다. 이는 코드 언어만으로는 AI에 명확하지 않습니다.
“기존 애플리케이션의 스크린샷은 LLM에 애플리케이션의 시각적 레이아웃을 제공합니다.”라고 Forde는 말했습니다. “당신이 제공하는 맥락과 방향이 모두 말로만 이루어질 필요는 없습니다. 시각적 참조점을 사용하여 원하는 결과를 얻을 수도 있습니다.”
Forde는 자신의 블로그 게시물에서 Mantle이 코드 변환에 사용한 단계별 프로세스를 자세히 설명합니다. 이 프로세스는 혁신적이고 반복적이며 때로는 재미있습니다.
한때 Mantle 팀은 LLM에게 "소스 코드로만 답변할 수 있는 소프트웨어 엔지니어처럼 행동하라"고 지시했습니다.
맨틀 팀은 LLM에게 한 번에 작은 코드 섹션만 변환하도록 요청하고 작업을 확인한 후 잘못된 해석을 수정한 후 진행했습니다.
단계별 실험을 통해 Mantle 팀은 시간이 지남에 따라 작업을 개선하고 개선할 수 있었으며 이제 향후 프로젝트에서 복제할 수 있는 효과적인 프로세스를 만들 수 있었습니다.
“파일이 생성된 후 우리 팀에서는 출력을 수동으로 검토하고 조정하거나,
위 내용은 AI와의 작업: 코드 변환의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!