OpenAI 대표 샘 알트만(Sam Altman)을 비롯 많은 AI 업계 전문가는 AI 에이전트에 ‘the next big thing’라는 의미를 부여하고 있다. 그렇다면 AI 에이전트는 무엇일까? AI 에이전트에 대한 연구는 아직 초기 단계에 머물고 있기 때문에 이에 대한 명확한 정의는 아직 존재하지 않는다. 엔비디아의 수석 연구 과학자 짐 팬(Jim Fan)은, “AI 에이전트는 역동적인 세상에서 자율적으로 의사결정을 내릴 수 있는 AI 모델과 알고리즘"이라고 정의하고 있다. 이 표현을 보고 AI 에이전트가 무엇인지 이해하기란 불가능에 가깝다.
AI 에이전트 개념을 이해하기 위한 첫 출발점은 AI가 빠진 전통 ‘소프트웨어 에이전트’라는 개념을 이해하는데 있다. 그 다음 전통 소프트웨어 에이전트와 AI 에이전트의 차이점을 구별하면 AI 에이전트라는 개념은 보다 쉽게 이해 가능하기 때문이다.
에이전트(Agent)는 누군가를 대리 또는 대신하는(action on behalf of) 사람 또는 프로그램을 말한다. 따라서 소프트웨어 에이전트는 소프트웨어 이용자 또는 다른 프로그램을 대리하는 관계에 있는 컴퓨터 프로그램이다. 일반적으로 컴퓨터 프로그램은 다양한 복수의 작은 프로그램의 집합체다. 이용자가 예를 들어 특정 앱에서 터치를 1회 할 때, 컴퓨터 프로그램이 이 터치와 직접 연결된 결과값만을 산출하는 것이 아니라 사전에 개발자에 의해 정의된 다른 프로그램을 작동시켜 그 결과값을 함께 보여주는 것을 의미한다. 여기서 ‘대리'라함은 이용자를 대신하여 ‘다른 프로그램'을 작동시킴을 의미한다.
아주 쉬운 예를 들어보자. 쿠팡 앱에서 이용자 이미지를 클릭하면 다양한 메뉴 중 ‘주문목록'이라는 메뉴가 존재한다. ‘주문목록'을 클릭하면 이용자가 지금까지 구매한 상품 목록이 가까운 시간순으로 나열되어 보여진다. 이 나열되는 목록의 최상위에는 “자주 산 상품 더보기”가 위치해 있다. 이 앱의 개발자, 다시 말해 인공지능이 아니라 사람 개발자는 이용자가 ‘주문목록'을 클릭하면 고객 데이터베이스에 질문(쿼리)를 던져 그 결과값을 보여주라고 프로그래밍하였다. 개발자는 이와 동시에 다시말해 자동으로 또 다른 질문(쿼리)인 예를 들어 4번 이상 구매한 상품이라는 질문(쿼리)를 고객 데이터베이스에 추가적으로 던져 그 결과값을 “자주 산 상품 더보기"에 보여주라고 프로그래밍하였다. 이 예는 아주 작은 크기이지만 하나의 ‘소프트웨어 에이전트'다.
소프트웨어 에이전트는 작은 프로그램이 모인 하나의 시스템이다. 역으로 시스템은 여러 구성 요소의 결합체다. 또한 시스템을 구성하고 있는 요소는 모듈이라고 불린다. 이 모듈과 모듈을 효과적으로 연결하기 위해 API라는 도구가 사용되곤 한다. 다시 쉬운 예를 들어보자. 여러분은 개발자다. 여러분의 동생은 오사카 2박 3일 여행을 계획하고 있다. 그리고 그 동생은 햇빛에 쉽게 손상을 받는 피부를 가지고 있다. 동생의 단점을 고려해서 오사카 2박 3일 여행 일정에 대한 조언을 제공하는 컴퓨터 시스템을 설계해 보자. 최종 답변을 하기 위해 다시말해 특정 문제를 해결하기 위해 어떻게 이 시스템을 작동시켜야 할까? 또는 작업의 순서 다시말해 모듈의 연결 순서는 무엇일까? 가장 먼저 동생의 ‘일정' 또는 ‘캘린더' 데이터베이스에 ‘동생의 휴가는 언제인가'라는 질문(쿼리)를 던져야 한다. 여기서 2025년 9월 22일부터 9월 26일까지라는 결과값을 얻는다. 그 다음 비행기 가격과 호텔 가격을 알 수 있는 데이터베이스에서 9월 22일부터 9월 26일까지 최적의 가격을 알아내기 위해 질문(쿼리)를 반복적(iterative)으로 던져 최상의 가격 조합을 제공하는 2박 3일 일정값을 얻는다. 이렇게 여행 날짜가 확정되면 날씨 데이터베이스에 해당 기간동안 오사카 날씨를 질문한다. 그 다음 공공 보건 웹사이트에 접속해 해당 날씨에 맞는 썬크림 권장 사용량을 알아낸다. 이를 통해 동생이 오사카 여행을 할 때 몇 용량 크기의 썬크림을 미리 준비해야하는지를 알려줄 수 있다. 마지막으로 오사카 여행 정보 사이트에서 반복 질문을 통해 해당 일정에 어울리는 여행 스케줄을 확정한다. 이러한 일련의 과정을 거쳐 이 시스템은 여러분 동생에게 가격 최적의 오사카 여행 일정과 구체적인 스케줄 그리고 썬크림 조언을 제공한다. 이렇게 다양한 모듈 또는 데이터베이스로 연결된 시스템을 작동시키는 순서와 쿼리를 규정하는 내용을 ‘프로그래밍 제어 논리(programmatic control logic)’이라 부른다. 그리고 이 시스템을 소프트웨어 에이전트 또는 컴파운드 시스템(compound system)이라고 호칭한다. 여기서 중요한 것은 개발자 다시말해 사람이 프로그램 제어 논리를 결정했다는 점이다. 개발자 또는 사람 역할을 담당한다면 이 시스템을 AI 에이전트 또는 컴파운드 AI 시스템(compound AI system)이라 한다. AI, 정확하게는 거대언어모델(LLM)은 ‘햇빛에 민간한 사람의 오사카 2박 3일 여행 일정’이라는 주어진 문제를 세분화(breaking down)하고 그리고 이 문제를 해결하는 계획(=프로그래밍 제어 논리)을 짜고 개별 모듈(=데이터베이스)과 통신하여 문제 해결을 진행한다. 이 과정이 자동으로 진행되기 때문에 AI 에이전트를 때론 자율 AI 에이전트(autonomous AI Agent)라 부른다. 챗GPT, 제미나이, 클로드 등 거대언어모델 자체에 ‘햇빛에 민감한 사람의 오사카 2박 3일 여행 일정'을 요청할 경우 멋진 답변이 제공된다. 하지만 이 답변에는 여러분 동생의 휴가 기간에 대한 정보가 결여되어 있다. 이 답변에는 9월 22일부터 9월 26일까지 비행기 가격과 호텔 가격의 최상 조합이 빠져있다. 이렇게 시스템과 연결되어 있지 않은 거대언어모델은 이용자의 만족도를 높일 수 있는 정확한 결과값을 제공할 수 없다. 빠르게 진화하는 거대언어모델은 시스템의 구성 요소를 십분 활용하고 보다 빠르게 답을 찾을 수 있는 프로그래밍 제어 논리(programmatic control logic)를 생성할 수 있다. 만약 문제가 더 복잡해진다 해도 그리고 시스템을 구성하는 모듈 수가 급증한다고 해도 AI 에이전트는 인간 개발자보다 효과적으로 정확한 답변, 최상의 답변을 제공할 수 있는 프로그램 제어 논리를 생성하여 시스템을 작동시킬 수 있다. AI 에이전트는 여기서 한발 더 나아간다. 거대언어모델은 문제를 해결하는 계획을 수립한 이후 이 계획을 반복적으로 (사전에) 실행해 보면서 시스템 어디에서 오류가 발생하는지 파악하고 필요에 따라 계획을 재조정할 수 있다. 이 때 만족스러운 결과를 제공할 확률은 증가한다. AI 에이전트는 스스로 생성한 세부 계획을 집행하는 과정 그리고 이를 반복적으로 테스트하는 과정에서 사용할 수 있는 모듈의 수를 무한하게 확장할 수 있다. 예를 들어 주어진 데이터베이스뿐 아니라 월드와이드웹에서 검색할 수 있다. 거대언어모델에게 API 권한만 부여된다면 스마트폰에 설치된 다양한 앱 또는 기업 내부 시스템의 다양한 프로그램을 모두 활용하여 거대언어모델은 반복 테스트를 통해 프로그램 제어 논리를 최상으로 발전시킬 수 있다.
특정 문제를 해결하는 AI 에이전트에서 인간 개발자의 역할이 사라지는 것은 아니다. AI 에이전트가 반복 실험을 통해 만든 프로그래밍 제어 논리는 인간 개발자와의 상호 작용을 통해 더욱 발전할 수 있기 때문이다. 인간 개발자는 거대언어모델에게 “특정 쿼리 값을 항상 3회 이상 반복할 것", “작업 계획을 수행하는 과정에서 특정 외부 도구를 반드시 사용하라", “여행 정보 웹사이트 중 A와 B에 가중치를 두어라" 등의 프롬프트(prompt) 정의를 추가할 수 있다. 이를 리액트(React)라 부른다. 특히 거대언어모델이 찾이 못하는 오류를 인간 개발자는 발견할 수 있다. 이렇게 거대언어모델과 인간의 상호작용을 통해 AI 에이전트는 더욱 정교하고 맞춤형으로 발전하게 된다. 따라서 리액트 접근방식은 문제 해결 전체 과정에 대한 인간과 거대언어모델의 긍정 보완 관계를 의미한다. 이렇게 외부 도구 및 모듈을 포함하여 다양한 모듈을 반복적으로 사용하며 특정 문제에 대한 실행 계획을 무수히 많은 경우의 수로 실험하는 AI 에이전트가 리액트 접근법으로 인간 개발자가 상호작용하면서 AI 에이전트는 보다 복잡한 문제를 해결하는 컴파운드 AI 시스템으로 진화할 수 있다.
물론 굳이 AI 에이전트가 필요없는 경우도 많다. 매우 적은 수의 쿼리로 해결할 수 있는 단순한 문제는 인간 개발자의 접근법이 적합하다. 애플 인텔리전스 이전의 시리(Siri)에게 날씨를 물어보면 이에 어떻게 답변할지는 지금까지 인간 개발자가 프로그래밍했다. 그러나 문제가 매우 복잡할 수록 AI 에이전트 접근법이 유리하다. 모든 경로와 경우의 수를 인간 개발자가 탐색하고 설정하려면 너무 많은 노력이 필요하기 때문이다.
페플렉시티, 구글 AI 개요, 서치GPT 또한 AI 에이전트다. Apple Intelligence: 우리 모두를 위한 AI에서 설명한 Ferret UI를 활용한 진화된 시리 또한 AI 에이전트다. B2C 영역에서 AI 에이전트의 원대한 비전은 인간 비서처럼 방대한 작업을 수행할 수 있는 시스템이다. 가까운 시일내에 AI 에이전트는 휴가를 예약하는 데 도움을 줄 수 있을 뿐만 아니라, 이용자가 고급 호텔을 선호하는지 기억하여 별 4개 이상의 호텔만 추천한 다음 다양한 옵션 중에서 이용자가 선택한 호텔을 예약할 수 있다. 그런 다음 이용자의 일정에 가장 적합한 항공편을 제안하고 이용자의 선호도에 따라 여행 일정을 계획한다. 이 계획과 일기 예보에 따라 준비물 목록을 만들 수도 있다. 목적지에 살고 있는 친구에게 여행 일정을 전송하고 친구를 초대할 수도 있다.
AI 에이전트의 또 다른 비전은 언어, 오디오, 비디오를 처리할 수 있는 멀티모달 기능에서 찾을 수 있다. 구글이 아스트라(Astra) 데모에서 보여준 것처럼, 이용자는 스마트폰 카메라로 사물을 가리키며 상담원에게 질문할 수 있다. 이 때 AI 에이전트는 보다 정교한 고객 서비스 봇으로 기능할 수 있다. 현재 고갯 챗봇은 고객이 질문하는 문장에 문장을 생성해서 답변하는 수준에 머물고 있지만 소리와 영상을 이용한 질문에도 곧 답할 수 있다. 나아가 고객 챗봇은 자율적으로 행동하고 인간 감독 없이도 고객 서비스 업무를 처리할 수 있다. AI 에이전트 고객 봇은 고객 불만 이메일을 분석하는 과정에서 고객 번호를 확인하고 CRM 및 배송 시스템 데이터베이스에 접근하여 불만 사항이 타당한지를 검토하고 기업 정책에 따라 이를 처리할 수 있다. AI 에이전트를 구별하자면, 지금까지 설명한 AI 에이전트는 ‘소프트웨어 AI 에이전트'라고 분류할 수 있고, 자동차 자율주행이나 AI 로봇에 적용된 AI 에이전트는 ‘Embodied AI 에이전트’라 부를 수 있다. 테슬라가 FSD 버전 12부터 적용하고 있는 종단간 AI(End-to-End AI)도 AI 에이전트다. 이에 대해서는 테슬라, 자율주행 패러다임 바꾸다: End-to-End AI 완전정복에서 확인할 수 있다.
2024년 미국 프린스턴 대학교의 연구진은 AI 에이전트를 세 가지로 특징을 가지고 있다고 정의하고 있다. 첫 째, 컴파운드 AI 시스템이 복잡한 환경에서 지시를 받지 않고도 어려운 목표를 추구할 수 있는 경우 이를 에이전트로 간주할 수 있다. 둘 째, 자연어로 지시를 받고 인간 감독 없이 자율적으로 행동할 수 있는 경우에도 에이전트로 분류 가능하다. 셋 째, AI 에이전트는 웹 검색이나 프로그래밍과 같은 도구를 사용할 수 있거나 계획할 수 있는 시스템에도 적용될 수 있다. 이 연구 논문에서 역으로 확인할 수 있는 것은 아직까지 모든 학계가 인정하는 AI 에이전트에 대한 명확한 정의는 존재하지 않는다는 점이다. AI 에이전트의 스펙트럼이 크기 때문이다. 이는 아직까지 AI 에이전트가 다양한 실험과 서비스를 통해 세상에 등장하기 시작된지 오래되지 않았기 때문이다. 거대언어모델 이전 수준의 AI가 적용된 소프트웨어 에이전트 또한 AI 에이전트라 불리었다. 알파고와 같은 강화학습 기반 AI 시스템 모두를 AI 에이전트라 불러왔다. 때문에 거대언어모델의 진화와 함께 AI 에이전트는 새로운 국면으로 들어서고 있다고 평가할 수 있다. 새로운 세대의 AI 에이전트 시대가 이렇게 시작되고 있다.