AntBot의 RPAI (RPA + AI) 지능형 자동화 첫 걸음 : AI-Copilot
안녕하세요! RPA 솔루션 AntBot 개발을 담당하는 kt ds ICT사업본부 고객DX솔루션팀입니다. kt ds의 RPA 솔루션 AntBot과 AI를 접목하여 개발 중인 기능을 소개합니다! kt ds는 올해 2024년 4월에 개최된 WIS에서 RPA에 AI를 접목한 솔루션 AntBot을 전시하는 자리를 가졌는데요. RPA가 무엇인지, AntBot은 무엇인지, AI를 접목하여 개발 중인 기능엔 무엇이 있는지 하나씩 소개해 드릴게요!
AntBot이란?
RPA(Robotic Process Automation)는 단순 반복되는 업무를 자동화 시켜주는 프로그램입니다. RPA는 컴퓨터에서 사람이 할 수 있는 일을 다 할 수 있죠. 프로그램을 실행시키고, 화면을 클릭하며, 키보드를 누르고 사람처럼 컴퓨터를 다룰 수 있습니다.
AntBot은 더 편하고 빠르게 자동화를 구축할 수 있도록 총 3개의 제품군을 제공하고 있습니다. Studio를 통해 UI 기반으로 자동화 Workflow를 개발하고, 이렇게 개발된 Workflow는 Robot을 통해 수동 실행 또는 스케줄링이 가능합니다. Manager는 AntBot을 총괄하는 서버 역할을 하며, Studio에서 개발한 Workflow 소스 배포 관리 및 Robot 스케줄링 제어 등 다양한 기능을 제공합니다. 여기에 고객DX솔루션팀에서 개발 중인 AI 서빙 플랫폼* AI:ON-U와의 협업을 통해 AI연계 기능을 추가하여 2세대 RPA로의 진화를 준비하고 있습니다!
2세대 RPA로의 AntBot
컴퓨터에서 사람이 할 수 있는 일을 다 할 수 있는 RPA와 사람처럼 생각할 수 있는 AI가 만나면 어떤 일을 할 수 있을까요? 기존의 RPA를 개발하기 위해서는 어느 정도의 IT 지식이 필요했어요. RPA 프로세스를 개발 과정에서 에러 발생 시, 로그를 파악하는 것도 최소한의 IT 지식이 필요했죠. 하지만 AI가 적용된다면, IT 지식이 없어도 대화를 통해 자신의 업무에 대한 RPA를 개발할 수 있으며 복잡한 에러로그도 AI가 더 쉽게 설명해 줍니다. 기존의 RPA는 시스템 변경 사항에 취약했어요. 업무 시스템이 변경됨에 따라 선택해야 할 요소를 변경해서 소스코드를 수정해야 했죠. 하지만 AI가 적용된다면, 이런 변경 사항들을 AI의 판단에 따라 소스코드의 수정 없이 자동화를 수행할 수 있게 됩니다. 이런 2세대 RPA로의 진화를 위한 첫걸음으로, AntBot에 어떻게 AI를 적용 중인지 알아볼게요!
AI-Copilot : 메뉴얼 기반 Q&A 챗봇
AntBot에 AI를 적용하는 첫 걸음으로 저희는 AI 챗봇을 선택했습니다. 저희 고객DX솔루션팀에서 런칭 예정인 AI 서빙 플랫폼 AI:ON-U와 협업하여 해당 기능을 개발 중이며, 지금부터 그 과정을 공유해 드릴게요. 처음으로 이 기능을 떠올리게 된 계기는 수많은 1선 담당자분들의 고충을 직접 옆에서 보면서였어요. RPA는 IT 지식이 전혀 없는 비개발자부터 개발 경력이 많은 고급 개발자까지 다양한 사람들이 사용하고 있고, 다양한 사람이 사용하는 만큼 매뉴얼에 있는 간단한 질문부터 수준 높은 질문까지, 쉴 새 없이 대응해야 하는 담당자들의 반복적인 업무를 보며 너무 비효율적이라는 생각이 들었습니다. 그 결과, "매뉴얼 데이터를 학습시켜 사용자의 기술적 질문을 응대하는 AI 챗봇을 만들어보자!"라는 새로운 시도를 해보게 되었어요.
AI-Copilot를 개발하면서 중요시된 포인트들은 아래 3가지였어요.
AI 서비스 기획에 맞는 데이터 (지식) 준비 및 질문 의도에 맞는 답변 검색 성공률
사용자의 질문 의도 인식률
검색된 지식을 활용한 올바른 답변 성공률
1. AI 서비스 기획에 맞는 데이터(지식) 준비 및 질문 의도에 맞는 답변 검색 성공률
AI-Copilot는 RAG(Retrieval-Augmented Generation)* 방식으로 LLM* 모델에게 지식을 전달합니다. 데이터가 아무리 준비가 잘 되어있다 하더라도, 런칭하고자 하는 AI 서비스에 맞는 포맷이 아니면 정확한 지식을 LLM이 검색(Retrieval)해 오지 못합니다. 예를 들어 대한민국 헌법이 외부 PDF로 아무리 질서정연하게 잘 정리된 상태라 해도, AI 서비스에 사용된 LLM 모델이 인식하기 좋은 데이터 형태는 따로 있습니다. 즉, 사람이 인식하기 좋은 형태와 AI가 인식하기 좋은 형태는 다르다는 거죠. LLM 모델의 인식률이 가장 좋은 방식이 마크다운*이고, 답변 또한 마크다운 형식으로 하기에, 저희는 마크다운(Markdown) 포맷으로 데이터 형식을 정했습니다. 전용 포맷을 정하고, 지식 검색 성공률을 높이기 위해서는 AI가 인식하는 문단의 단위와 문서 구조를 이해하고, 이에 맞는 기존 데이터를 변환하는 작업을 필수로 거쳐야 합니다. 이러한 일련의 과정을 통해 AI는 올바른 지식을 검색해서 최적화된 답변을 해 줄 수 있습니다. 내부 문단 구조 및 주제별 항목을 어떻게 정의할지 2달에 걸친 PoC*를 통해 탐구했으며, 최종적으로 정해진 포맷으로 데이터 신규 생성 및 적용하며 추가 테스트를 진행하고 있습니다.
2. LLM 선정 - 사용자의 질문 의도 인식률
사용자의 기능 관련 질문의 숨겨진 의도를 파악하는데 제일 중요한 것은 LLM의 성능입니다. GPT-3.5-Turbo는 답변 성능이 빠르고, 사용 비용이 매우 저렴하다는 장점이 있습니다. 다만, AI 모델에게 설정한 Custom Instruction(AI 서비스 기획에 맞는 전용 지시 사항)을 100% 정확히 이해하지 못한다는 단점이 있습니다. GPT-4-Turbo는 답변 속도는 상대적으로 느리지만, 업로드 된 지식을 훨씬 조화롭게 활용하여 답변하고, Custom Instruction 이해력이 높다는 장점이 있습니다. 하지만 사용 비용이 매우 높다는 단점이 있죠. AI-Copilot는 GPT-3.5-Turbo, GPT-4-Turbo 모델들로 각각 테스트 되었으며, 아직 서비스를 어떤 모델로 할지는 정해지지 않았습니다.
3. 검색된 지식을 활용한 올바른 답변 성공률
이제 데이터가 잘 준비되었으니, LLM 모델에게 답변 관련 제약사항, 역할, 답변형식 등을 설정해 줍니다. LLM 모델에게 내 입맛에 맞게끔 답변하도록 사전 설정 내용을 설정할 수 있는데요. 이것을 Custom Instruction이라고 부릅니다. AI-Copilot에서는 ‘후카츠 프롬프트’를 기반으로 한 ‘형식 지정 기법’을 사용했습니다.
후카츠 프롬프트 기법이란 출력 형식과 제약 조건을 제시하여 템플릿으로 만드는 기법인데, 이것을 좀 더 구체화한 것이 형식 지정 기법입니다. Custom Instruction은 프롬프트 엔지니어와 LLM 이 소통하는 조건 사항을 명시하는 영역으로, 인간의 표현 방식을 그대로 사용하면 AI의 인식률은 자연스레 떨어질 수 밖에 없습니다.
AI에게 인식 및 표현의 방식을 가장 잘 이해시킬 수 있는 포맷은 마크다운입니다. Custom Instruction에 마크다운 문법을 사용하여 지시사항을 작성하면 인식률이 훨씬 올라가는걸 즉시 체감할 수 있습니다. 또한 AI의 답변은 마크다운 형식이므로, AI에게는 결국 마크다운이라는 형식이 의사소통 체계인 셈입니다.
마치며
이렇게 3가지 중요한 포인트에서 각각 많은 시간과 에너지를 투자하며 얻은 결론은 “뚜렷한 AI 서비스 목표 설정이 가장 중요하며, 이를 기반으로 데이터의 포맷, 문단 형식이 결정되고, 데이터를 활용하는 Custom Instruction의 내용까지도 결정된다”입니다. AI 서비스 기획을 제외한 그 이후 작업 영역을 ‘프롬프트 엔지니어링’이라고 부르며, 현재 AI 영역에서 가장 주목 받는 분야입니다. 즉, ‘AI 서비스 기획 + 프롬프트 엔지니어링’ 이 조합이 갖춰져야만 제대로 된 AI 서비스가 탄생할 수 있다고 생각합니다. 지금, 이 순간에도 AI-Copilot의 성능 개선을 위한 AntBot 매뉴얼 개편 작업과 AI 프롬프트 엔지니어링은 계속되고 있어요! 조만간 AntBot Studio에 AI-Copilot 정식 기능이 탑재될 예정이며, 여러분들도 곧 AI를 통한 매뉴얼 기반 해결책을 제공받으실 수 있습니다!
용어 정리
• AI 서빙 플랫폼 : AI 모델을 서비스로 연결하기 위한 최적화와 배포, 운영관리를 담당하는 플랫폼
• RAG(Retrieval-Augmented Generation) : LLM의 출력을 최적화하여 응답을 생성하기 전에 학습 데이터 소스 외부의 신뢰할 수 있는 지식 베이스를 참조하도록 하는 프로세스
• LLM(Large Language Model) : 방대한 데이터 세트를 학습하여, 텍스트를 인식하고 생성하는 등의 작업을 수행할 수 있는 인공지능 (AI) 프로그램
• 마크다운 : 마크업 언어의 일종으로, 온갖 태그로 범벅된 HTML문서 등과 달리, 읽기도 쓰기도 쉬운 문서 양식
• 마크업 언어 : 문서가 화면에 표시되는 형식을 나타내거나, 데이터의 논리적인 구조를 명시하기 위한 규칙들을 정의한 언어의 일종(HTML, 마크다운 등)
• PoC(Proof of Concept) : 기존 시장에 없었던 신기술을 도입하기 전에 이를 검증하기 위한 과정
•프롬프트 엔지니어링 : LLM에게 어떤 행동을 수행하도록 지시하는 프롬프트를 작성하여 LLM의 응답 품질을 높이는 프로세스