fbpx

ChatGPT, Bard 및 기타 저명한 대형 언어 모델(LLM)이 지난 한 해 동안 트위터의 뉴스 피드를 지배했습니다. 그리고 당연한 일입니다. 이러한 흥미로운 기술을 통해 AI의 미래, 힘, 가능성을 엿볼 수 있습니다.

대중의 관심은 텍스트, 이미지, 동영상 제작에 집중되어 있지만, 이러한 도구는 소프트웨어 자동화와 같은 다른 분야에도 다양하게 활용될 수 있습니다.

이 글에서는 신속한 엔지니어링이 소프트웨어 자동화에 어떻게 도움이 되는지 자세히 살펴볼 것입니다. 하지만 가장 먼저 살펴봐야 할 것은 신속한 엔지니어링 자체에 대한 검토입니다.

 

프롬프트 엔지니어링이란 무엇인가요?

 

ChatGPT와 같은 대규모 언어 모델은 저희가 제공하는 프롬프트나 문장을 기반으로 출력을 생성합니다. 그러나 사용하는 단어나 지침에 따라 결과는 크게 달라집니다. 모호하고 부정확한 지침을 입력하면 결과물이 제대로 나오지 않을 수 있습니다.

프롬프트 엔지니어링은 이러한 흥미로운 AI 시스템에서 보다 정밀하고 정확하며 궁극적으로 사용 가능한 콘텐츠를 이끌어내는 데 도움이 되는 입력을 신중하게 설계하는 것을 말합니다.

LLM(대규모 언어 모델) 시스템은 자연어 처리(NLP)를 사용하여 우리가 제공하는 문장을 해석합니다. 기계는 이러한 질문이나 지침(예: 프롬프트)을 코드로 변환하고 방대한 데이터 저장소를 통해 실행하여 우리가 지정한 형식(예: 텍스트, 이미지, 코드)의 콘텐츠를 생성합니다.

ChatGPT는 다음을 통해 학습되었습니다.
570GB의 데이터
. 교육 자료는 책, 기사, 웹 텍스트 등으로 구성됩니다. 다시 말해, 이러한 데이터 세트에는 상상할 수 없을 정도로 많은 양의 지식이 포함되어 있습니다.

우리는 프로세스를 이해할 수 있지만, 이러한 시스템의 후드 아래에서 일어나는 일의 대부분은 우리가 볼 수 없는 곳에서 발생합니다. 물론 입력과 출력을 제어하고 시스템을 학습시키기는 하지만, 이러한 알고리즘이 정확히 어떻게 작동하고 결정을 내리는지는 여전히 미스터리입니다. 뉴욕대학교의 AI 교수인 샘 보우먼의 말을 빌리자면, “우리가 만들고 훈련시켰지만 무슨 일을 하는지 알 수 없습니다.”

프롬프트 엔지니어링은 예측 가능하고 사용 가능한 결과를 생성하는 결과물을 사용하여 이러한 혼란을 관리하는 데 도움이 됩니다. 이러한 애플리케이션 내부에 있는 방대한 양의 지식을 활용할 수 있는 경로를 제공합니다.
이 분야는 새로운 직업으로 떠오르고 있습니다.
새로운 직업으로 떠오르고 있으며, 기업들이 이 강력한 기술을 활용할 수 있는 방법을 모색하면서 곳곳에서 강좌가 생겨나고 있습니다.

프롬프트 엔지니어링이 어떻게 도움이 될까요?

소프트웨어 자동화를 사용하시나요?

다양한 소프트웨어 자동화 및 RPA 작업에 chatcpg 활용하기

소프트웨어 자동화와 LLM은 공통점이 많습니다. 이 두 가지 사례는 기계가 인간의 창의력을 증강하여 더 빠르고 생산적인 업무 환경을 만드는 미래를 엿볼 수 있게 해줍니다.

이 두 기술이 융합할 수 있는 흥미로운 분야가 몇 가지 있습니다. 다음은 소프트웨어 자동화에서 프롬프트 엔지니어링을 사용할 수 있는 세 가지 방법입니다.

 

#1. 코드 생성

테스트 자동화에서 신속한 엔지니어링을 통한 코드 생성

코드 작성은 대규모 언어 모델의 가장 유망한 응용 분야 중 하나입니다. AI LLM은 아직 초기 단계에 있습니다. 향후 몇 년 동안 컴퓨팅과 교육에 더 많은 리소스가 추가됨에 따라 이 기술이 개선될 것입니다.

장기적으로는 이러한 발전으로 인해 AI가 사람의 개입이 제한적이거나 전혀 없이 전체 프로그램을 작성할 수 있게 될 것입니다. 하지만 현재로서는 LLM에 몇 가지 한계가 있습니다. LLM 코딩의 출력 품질은 주로 입력 품질에 따라 달라집니다. 쓰레기통에 쓰레기를 버리라는 말이 있죠.

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

물론 효과적인 프롬프트 엔지니어링만이 장애물 역할을 하는 것은 아닙니다. 에서 제안한 대로 학계의 ChatGPT와 대규모 언어 모델: 기회와 도전 과제 (Meyer, 2023), “현재 ChatGPT는 작은 코드 블록을 정확하게 작성하는 데는 성공할 가능성이 높지만, 더 크고 복잡한 프로그램(예: 소프트웨어 패키지)을 작성하는 데는 신뢰성이 의심스럽습니다.”라고 말합니다.

또한 최근 네이처지에 실린 기사에서 일부 컴퓨터 과학자들은 LLM을 사용한 코드 생성에 신중하게 접근해야 한다고 경고했습니다. 또 다른 현대 논문입니다,
대규모 언어 모델과 단순하고 멍청한 버그
(Jesse, 2023)에서는 공급업체 Copilot에서 사용하는 인기 있는 LLM인 Codex가 “알려진 그대로의 올바른 코드보다 2배나 많은 알려진 그대로의 SStuB를 생성”하는 방법을 시연했습니다.

이러한 문제점을 무시할 수는 없지만, 이러한 프로그램이 기술 팀과 비기술 팀을 모두 지원함으로써 소프트웨어 개발의 민주화에 도움이 될 수 있다는 점에서 여전히 많은 기대를 모으고 있습니다.

가장 인상적인 점은 ChatGPT와 같은 도구가 기능 코드를 매우 빠르게 생성할 수 있다는 점입니다. 올바른 프롬프트를 사용하면 엔지니어가 특정 유형의 코드를 프로그래밍하는 데 걸리는 시간을 단축하여 소프트웨어 개발 수명 주기를 단축할 수 있습니다.

2022년 말, 인기 있는 프로그래밍 허브인
스택 오버플로 금지된 AI 생성
포럼에서 답변을 확인하세요. 이들은 애플리케이션과 관련된 높은 오류율과 부정확성을 그 이유로 꼽았습니다. 그러나 이 기술은 아직 초기 단계에 있으며, AI가 생성한 결과물에 대한 불만족은 기술 자체에 대한 불만만큼이나 신속한 엔지니어링이 제대로 이루어지지 않았기 때문이기도 합니다.

이 기술에 대한 우려에도 불구하고
맥킨지의 최근 보고서
는 프롬프트 엔지니어링이 이미 프로그래밍 세계에 끼치고 있는 영향을 강조합니다. 컨설팅 회사의 2023년의 AI 현황: 제너레이티브 AI의 획기적인 해 두 가지 흥미로운 트렌드를 공유했습니다. 첫째, AI에 투자한 조직의 7%가 즉각적인 엔지니어를 채용하고 있습니다. 둘째, AI를 사용하는 기업들은 AI 관련 소프트웨어 엔지니어링 역할을 38%에서 28%로 줄였습니다.

이러한 추세를 해석하는 한 가지 방법은 기업들이 이러한 설정에 익숙해져 있으며 소프트웨어 자동화를 기계에 넘겨줄 준비가 되어 있다는 것입니다. 이 수치가 기존 엔지니어들을 놀라게 할 수도 있지만, McKinsey 설문조사에 따르면 “인력 규모가 5분의 1 이상 감소할 것이라고 응답한 비율은 8%에 불과하다”고 합니다. 전반적으로 엔지니어는 AI로 생성되는 소프트웨어 자동화 추세를 활용하기 위해 재교육이 필요할 것입니다.

AI로 생성된 소프트웨어 자동화의 한 가지 분명한 응용 분야는 자동화 봇을 만드는 것입니다. 그러나 프롬프트 엔지니어링은 대화에 중점을 두어 표면적으로는 사용자 친화적인 인터페이스이지만, 기존 솔루션을 대체할 수 있을지는 아직 지켜봐야 합니다.

여러 면에서 ZAPTEST와 같은 소프트웨어는 이미 소프트웨어 자동화 시장을 대중화했습니다. 이제 기술 전문가가 아닌 팀도 고품질 RPA 봇을 구축할 수 있는 코드 없는 도구가 출시되었습니다. ChatGPT와 같은 소프트웨어로 봇을 구축할 수 있지만, 소프트웨어 엔지니어가 아닌 사람, 심지어 소프트웨어 엔지니어라도 구현 및 유지 관리가 까다로울 수 있습니다.

GUI에서 사람과 컴퓨터의 상호 작용을 기록하고 이러한 동작을 코드로 변환하는 것은 프롬프트를 사용하는 것보다 훨씬 더 사용자 친화적입니다. 불안정하고 오류가 많은 코드를 생성할 수 있는 LLM의 잠재력과 결합하면 RPA 소프트웨어가 당분간은 아무데도 가지 않을 것이라고 해도 과언이 아닙니다.

 

#2. 비정형 데이터 변환

체크리스트 uat, 웹 애플리케이션 테스트 도구, 자동화 등

비정형 데이터는 로보틱 프로세스 자동화의강점이 아닙니다. 이 기술은 이메일, 사진, 오디오 등을 처리하도록 설계되지 않았습니다. RPA 도구에는 체계적인 구조를 갖춘 사전 정의된 데이터 모델이 필요합니다.

비정형 데이터의 상당 부분은 자연어 텍스트와 관련이 있습니다. 대규모 언어 모델은 이러한 정보를 ‘이해’하고 의미적 의미를 추출하기 위해 구축됩니다. 따라서 이러한 텍스트를 해석하고 RPA 도구에 적합한 형식으로 변환하려는 팀에게는 상당한 기회가 생깁니다.

많은 팀이 수년 동안 자연어 처리(NLP)를 사용하여 감성 분석에 도움을 받고 있습니다. 오피니언 마이닝이라고도 하는 이 프로세스는 기업이 브랜드에 대한 소비자의 감정과 태도를 파악하는 데 도움이 됩니다. 대부분의 경우 이러한 도구는 텍스트 내에서 긍정, 부정, 중립적인 감정을 감지하는 데 사용됩니다. 하지만 이 기술은 훨씬 더 세분화된 감정 감지 기능도 지원합니다.

시중에는 이러한 기능을 제공하는 여러 도구가 있지만, LLM은 사람들이 제품이나 서비스에 대해 어떻게 느끼는지 이해하는 것 이상으로 더 다양하게 활용할 수 있는 경로를 제공합니다. 예를 들어, 데이터 분석은 최근 몇 년 동안 폭발적으로 인기가 높아졌습니다. 빅데이터를 통해 기업은 데이터 기반 의사 결정에 도움이 되는 인사이트와 이해를 도출하여 경쟁 우위를 확보할 수 있습니다.

로보틱 프로세스 자동화 도구는 데이터 수집에 도움이 될 수 있습니다. 그러나 위에서 언급했듯이 특정 유형의 정보에 대해서는 어려움을 겪고 있습니다. 하지만 대규모 언어 모델을 사용하는 AI 도구와 결합하면 RPA는 대량의 데이터를 수집하여 비즈니스 인텔리전스(BI) 도구에 필요한 정보를 생성하는 데 사용할 수 있습니다.

제너레이티브 AI의 가장 흥미로운 측면 중 하나는 데이터 입력을 이해하는 능력입니다. 올바른 프롬프트 엔지니어링을 통해 팀은 이 데이터를 RPA 도구에 적합한 형식으로 변환할 수 있습니다.

RPA는 빅데이터 워크플로우의 효율성을 높이는 데 도움이 될 수 있습니다. 우선, 데이터 입력과 추출을 모두 지원하는 데 사용할 수 있습니다. 그러나 가장 가치 있고 흥미로운 사용 사례는 아마도 데이터를 변환, 정리, 로드하거나 데이터 마이그레이션을 빠르고 효율적이며 정확하게 실행하기 위해 RPA 도구를 사용하는 것입니다.

또 다른 중요한 점은 데이터 거버넌스입니다. 데이터 요청을 자동화하면 조직이 규정을 준수하고 수작업자의 눈에 띄지 않는 데이터를 유지할 수 있습니다.

 

#3. 테스트 자동화

테스트 자동화는 소프트웨어를 더 빠르게 검증할 수 있는 방법을 제공하기 때문에 소프트웨어 개발 업계에서 각광받고 있습니다. 테스트와 품질 보증은 전통적으로 많은 비용과 시간이 소요되는 프로세스였지만, 테스트 자동화는 이 두 가지 문제를 모두 해결할 수 있는 솔루션을 제공합니다.

프롬프트 엔지니어링이 가장 먼저 할 수 있는 일 중 하나는 테스트 케이스의 품질을 개선하는 것입니다. 올바른 프롬프트를 통해 테스트 사례를 분석하고 문제와 해결 방법을 식별할 수 있습니다. 이 프로세스를 통해 테스트 케이스의 범위를 넓히고 보다 포괄적인 테스트를 수행할 수 있습니다.

예를 들어, 인간 리뷰어와 거의 동일한 방식으로 대규모 언어 모델 코드를 입력할 수 있습니다. 이러한 머신은 코드를 빠르게 실행하여 오류와 버그를 발견하고 성능 문제까지 파악할 수 있습니다. 더 흥미로운 점은 LLM을 사용하면 단순한 스니펫으로 테스트 케이스 코드를 완성할 수 있어 테스트 케이스 생성을 가속화할 수 있다는 것입니다.

프롬프트 엔지니어링은 소프트웨어 개발에 대한 애자일/데브옵스 접근 방식의 출현을 주도한 많은 문제를 해결하는 것을 목표로 합니다. 엔지니어는 애플리케이션을 배포하기 전에 문제를 발견할 수 있는 효율적이고 쉽게 반복할 수 있는 테스트를 원합니다. 소프트웨어 개발자는 시간을 확보함으로써 보다 창의적이고 가치 중심적인 작업에 집중할 수 있습니다.

고전적인 논문에서 설명한 대로,
테스트 자동화의 기술적 부채
(K. Wiklund, 2012)에 따르면 소프트웨어 개발 팀이 소프트웨어의 수동 테스트 및 검증에 너무 많은 시간을 할애하면 문제가 발생할 수 있습니다. 테스트 자동화 솔루션의 초기 비용, 자동화 경험 부족, 심지어 오래된 방법에 대한 선호도도 이러한 속도 저하의 원인이 될 수 있습니다.

애자일 소프트웨어 개발의 가장 흥미로운 측면 중 하나는 다음과 같습니다.
행동 중심 개발(BDD).
이 개념은 예상되는 사용자 행동이 있는 소프트웨어를 개발하는 것을 말합니다. 이러한 접근 방식을 구현하면 시간을 절약할 수 있는 것은 분명하지만, 많은 팀이 이러한 자동화를 실현하는 데 어려움을 겪고 있습니다. 하지만 LLM이 해결책을 제시할 수 있습니다.

기술 부채의 가장 일반적인 증상으로는 부실한 문서화와 강력한 테스트 부족이 있습니다. 이러한 문제들은 오늘날의 LLM이 해결할 수 있는 문제입니다. 그러나 리팩터링과 같은 다른 주목할 만한 증상은 현재 생성형 AI로는 너무 복잡하여 시간을 절약하지 못할 수 있습니다.

 

마지막 생각들

알파 테스트 vs 베타 테스트

제너레이티브 AI 애플리케이션은 엄청난 잠재력을 가지고 있습니다. 하지만 사용자 친화적인 대화형 인터페이스는 오해의 소지가 있을 수 있습니다. 많은 사람들이 이러한 기계에서 고품질의 결과물을 생성하는 것이 간단하다고 생각합니다. 하지만 뛰어난 프롬프트 엔지니어링은 생각보다 복잡합니다.

효과적인 프롬프트 엔지니어링을 위해서는 많은 시행착오가 필요합니다. 또한 유용한 답변을 제공하기 위해서는 엔지니어의 많은 사전 검토가 필요합니다. 마지막으로, 오류가 발생할 가능성이 높기 때문에 작업을 확인하고 재확인하는 것이 중요합니다.

신속한 엔지니어링 일자리가 증가하고 있지만 모든 사람이 확신하는 것은 아닙니다. 하버드 비즈니스 리뷰에 기고한 오구즈 아카르(Oguz A. Acar)는 다음과 같은 흥미로운 주장을 펼칩니다. “미래 세대의 AI 시스템은 더욱 직관적이고 자연어 이해에 능숙해져 세심하게 설계된 프롬프트의 필요성이 줄어들 것입니다.”

어떤 미래가 도래하든 제너레이티브 AI는 그 속에 함께할 것입니다. 프롬프트 엔지니어링은 많은 가능성을 가지고 있지만, 정확히 어떤 역할을 하게 될지 확신하기는 어렵습니다.

흥미롭게도 소프트웨어 테스트 자동화 소프트웨어는 이미 애플리케이션의 정확성이나 포괄적인 검증을 저하시키지 않으면서도 소프트웨어 개발 속도를 높이는 데 적합하다는 것을 입증하는 사용 사례와 성공 사례로 가득 차 있습니다.

개발자는 이미 ZAPTEST와 같은 도구를 사용하여 불충분한 시간 및 리소스, 기술 부채, 문서화, 포괄적인 테스트 및 RPA와 같은 문제를 해결할 수 있습니다. 또한 이러한 도구는 프롬프트 엔지니어링보다 사용자 친화적이어서 비기술적인 팀에게 훨씬 더 적합한 옵션입니다. 여느 때와 마찬가지로, 진정한 잠재력은 이러한 흥미로운 자동화 기술의 교차점에 있습니다.

Download post as PDF

Alex Zap Chernyak

Alex Zap Chernyak

Founder and CEO of ZAPTEST, with 20 years of experience in Software Automation for Testing + RPA processes, and application development. Read Alex Zap Chernyak's full executive profile on Forbes.

Get PDF-file of this post

Virtual Expert

ZAPTEST

ZAPTEST Logo