자세히 보기

Matt Asay
Contributing Writer

칼럼 | 프롬프트 엔지니어링으로 재탄생하는 프로그래밍 문화

프롬프트 엔지니어링은 인간이 개입해 컴퓨터에게 무엇을 해야 할지 지시하는 과정이 필요하다. 이때 대규모 언어 모델과 생성형 AI의 한계를 살펴보

인공지능(AI)은 모든 것을 변화시키고 있다. 빅테크 기업의 최근 실적발표에서도 비슷한 이야기를 찾아볼 수 있다. 예를 들어 아마존 CEO 앤드류 제시는 아마존 사업부의 주요 임원들을 모아 만든 S팀(S-team)에서 AI 기술을 더욱 적극 검토하도록 조치했다. 분명 AI는 대단한 사건이다. 그렇다면 기술 산업에서 일하는 개발자에겐 어떤 영향이 있을까?  

AI가 일자리를 빼앗아갈 것이라 우려하고 있다면 안심하자. 그런 일은 없을 것이다. 해변에서 칵테일을 마시는 동안 AI가 여러분의 모든 코드를 대신 작성할 것이라 걱정하고 있다면 안심하자. 역시 그런 일은 없을 것이다. 오라일리 미디어(O’Reilly Media)의 부사장인 마이크 루키데스가 주장하듯, 챗GPT는 소프트웨어 개발 방식을 완전히 바꿀 수 있지만 이런 변화는 우리가 상상하는 것만큼 극적이지는 않을 것이다. 또한 생성형 AI가 코딩을 더 쉽게 만들 것이라고 확언할 수는 없다. 모든 기술 발전이 그러하듯, 생성형 AI는 오히려 개발자가 더 효과적으로 시간을 활용할 수 있도록 할 것이다. 

AI 코딩과 관련된 수치
루키데스가 강조하고 있듯이, 개발자는 시간의 20% 정도를 코드 작성에 사용한다. 이 수치는 관대한 것일 수 있다. 개발자의 집중력을 방해하는 회의 및 기타 요소들을 고려할 경우 실제 코딩 시간은 10%에 불과하다고 이야기하는 이들도 있다. 이런 상황을 염두에 둔다면, 마법과 같이 개발자의 코딩 업무를 제거해준다고 약속하는 코딩 비서는 그다지 도움이 되지 않을 것이다. 오히려 모든 회의에 대신 참석하는 AI 비서가 있다면 그런 AI가 더 유용할 나을 것이다. 필자 개인적으로 회의 AI 비서 기술에 대해서는 돈을 기꺼이 지불하며 구매할 의사가 있다. 

필자가 이전 기사에서 언급했듯이 개발자가 코드 작성에 어느 정도의 시간을 투자하든 아마존 코드위스퍼러(CodeWhisperer) 혹은 깃허브 코파일럿(GitHub Copilot)과 같은 AI 코딩 비서는 훨씬 더 효과적으로 시간을 활용할 수 있도록 도움을 준다.

개발자인 사이먼 윌리슨은 “챗GPT 및 깃허브 코파일럿을 통해 무언가를 ‘파악’하는 시간을 상당히 절약할 수 있다. 배쉬(Bash)에서 루프를 작성하는 것부터 자바스크립트에서 교차 도메인 CORS 요청하는 방법을 기억하는 것까지, 더 이상 검색할 필요가 없다. 물어보면 80%의 경우 정답을 얻을 수 있다”라고 언급했다. 

물론 언제 답이 맞고 틀리는지 알기 위해서는 개발자 스스로 충분한 실력을 갖추어야 한다. 경험이 적은 개발자의 경우, 구문 혹은 제안이 단순히 틀린 것인지 인지하지 못할 수 있다. 그러나 생성형 AI는 좋은 개발자를 훌륭한 개발자로 만들 수 있다. 혹은 최소한 훨씬 더 생산적인 개발자로 만들 수 있다. 그렇지 않을 수도 있다. 

실제로 오라일리의 루키데스는 “업무 시간 중 20%가 코딩에 사용되고 AI 기반 코드 생성이 개발자의 효율성을 50% 개선할 수 있다면 실제로는 시간의 10% 정도만 돌려받는 것이다”라고 표현했다. 해당 잉여 시간은 사용자의 요구사항을 이해하는 데 사용될 수 있으므로 코딩 시간을 영향력이 높은 코드 작성에 할애할 수 있을 것이다. 

그러나 개발자들은 다른 작업도 한다. 지금까지 시간을 약간 절약하기는 했으나 개발자가 다루는 다른 문제들을 해결하지는 못했다. 보안, 테스팅 및 디버깅, 설계, AI가 코딩에 미치는 영향에 대해 가장 낙관적으로 예측한다 하더라도 개발자는 향후 수년간 완전 고용을 기대할 수 있다. 그러나 프로그래밍의 성격은 변화할 수 있다. 

더욱 중요해지는 프로프트 엔지니어링
코드 작성이든 사진 편집이든 혹은 다른 것이든 챗GPT와 같은 생성형 AI 도구를 활용한 적이 있다면 프롬프트가 얼마나 중요한지 인지하고 있을 것이다. 프롬프트에 넣은 지시문이 더욱 자세할수록 결과물 품질은 향상된다. 사람들은 링크드인 프로필에 ‘프롬프트 엔지니어’라는 직함을 붙이기 시작했다. 지금은 다소 의미가 없으나 곧 그렇지 않을 것이다. 루키데스는 “상세한 프롬프트 작성은 사실 프로그래밍의 다른 형태일 뿐이다. 여전히 수행하기를 원하는 작업을 단계적으로 컴퓨터에게 지시하고 있다”라고 설명했다.  

결국 이런 상황을 고려하면 개발자는 코딩 시간 절약을 위해 프롬프트의 바탕이 되는 대규모 언어 모델을 이해하는데 시간을 투자해야 한다. 마이크로소프트 리서치(Microsoft Research) 개발자인 빅터 디비아는 “나의 경험에 의하면, 더 작은 모델에서 작동하도록 프롬프트(구체적으로는 주요 지침, 문구 배치 등)를 미리 최적화할 경우, 더 큰 모델에서도 더욱 안정적인 결과물 만들 수 있다”라고 언급했다. 

이러한 프롬프트 엔지니어링 단계를 통해 프로그래밍의 다음 단계로 진입했을 수 있다. 루키데스는 “프롬프트 엔지니어링은 형식적으로 정의된 문법 혹은 의미론을 필요로 하지 않는 새로운 종류의 프로그래밍을 위한 단계다. 모든 문법을 세세히 외워야 할 필요가 없는 프로그래밍이다. 라이브러리 함수의 이름 및 매개 변수를 찾는데 시간을 쓸 필요가 없는 프로그래밍이다”고 언급했다. 이는 작년에 작성한 자바 코드와 같은 프로그래밍이다. 그러나 다르다. 

개발자에게는 앞으로 만족스러우면서 긴 커리어를 앞두고 있다. 생성형 AI가 개발자의 직업을 없애지는 않겠지만, 변화가 이뤄질 가능성은 높다. 생성형 AI는 개발자의 직업을 변화시킬 가능성은 상당히 높지만 없애지는 않을 것이다. 이러한 변화의 일부는 ‘프롬프트 엔지니어링(prompt engineering)’이라 부를 수 있지만, 그래도 여전히 프로그래밍이며 명석한 개발자를 필요로 한다. AI가 주도하는 미래에서는 그 누구도 로봇의 지배로부터 자유로울 수 없다. 

*필자 Matt Asay는 몽고DB에서 개발자 릴레이션(developer relations) 업무를 담당하고 있다. 
dl-ciokorea@foundryco.com

Matt Asay

Matt Asay runs developer marketing at Oracle. Previously Asay ran developer relations at MongoDB, and before that he was a Principal at Amazon Web Services and Head of Developer Ecosystem for Adobe. Prior to Adobe, Asay held a range of roles at open source companies: VP of business development, marketing, and community at MongoDB; VP of business development at real-time analytics company Nodeable (acquired by Appcelerator); VP of business development and interim CEO at mobile HTML5 start-up Strobe (acquired by Facebook); COO at Canonical, the Ubuntu Linux company; and head of the Americas at Alfresco, a content management startup. Asay is an emeritus board member of the Open Source Initiative (OSI) and holds a JD from Stanford, where he focused on open source and other IP licensing issues. The views expressed in Matt’s posts are Matt’s, and don’t represent the views of his employer.

이 저자의 추가 콘텐츠