새로운 플랫폼 AI 에이전트 (AI Agent)
우주 여행을 하다가 용암 지대를 만났습니다.
우리는 기지에 머물면서 용암을 건널 수 있는 로봇을 만들기로 했습니다. 로봇을 조립하려면 에이전트와 에이전틱 워크 플로우를 이해해야 합니다. 같이 해보실까요?
에이전트란? (Agent)
목표 지향성
에이전트란 무엇일까요? 많은 정의가 있을 수 있지만 가장 중요한 정의는 특정 '목표'를 이루기 위해 '일련의 흐름' (workflow) 를 가지고 있는 것을 말합니다.
예를 들어 제가 만든 AI 뉴스 에이전트는 매일 아침 전세계에서 뉴스를 검색하고, 이를 요약하고 정리하여, 저에게 메일로 보내줍니다. 이를 통해 저는 누구보다 빠르게 정보를 습득하고 적용할 수 있습니다. 요약을 통해 정보 습득력이 10배가 되며 여기에서 제가 관심이 있는 정보를 깊게 연구할 수 있습니다.
또한 웹 크롤러 에이전트는 제가 입력한 검색어 리스트를 바탕으로 웹을 서핑하고 해당 결과를 스프레드시트에 정리를 해줍니다. 이런 크롤러 에이전트는 업무 자동화에도 도움이 되겠죠?
이런 에이전트는 나의 일의 목표에 맞게 만들 수 있습니다. 코딩을 할 줄 안다면 직접 코딩을 하거나 랭체인 같은 프레임워크를 활용해서 만들 수 있습니다. 코딩을 하지 못해도 Make 나 Zapier 같은 자동화 서비스에서도 LLM을 활용할 수 있기 때문에 워크플로우를 만들 수 있습니다.
Make 의 예시. 내 서버가 없이도 특정 시간에 돌아가는 시스템을 만들 수 있다.
물론 이러한 것들을 지금 당장 사용하지 못한다해도 걱정하지 마세요. 에이전트는 특정 기술에 대한 것이라기 보다는 개념적인 것에 가깝습니다. 나를 대신해서 일을 해줄 수 있는 멋진 요원이 있을 수 있다는 것을 알아 두시면 좋습니다.
또한 요즘은 에이전트들이 특정 분야에 맞게 출시되어 사용할 수 도 있습니다. 예를 들어 코딩을 하고 이를 코드 베이스에 반영하는 코드 에이전트인 커서와 깃허브 코파일럿도 있습니다. 앞으로도 이런 에이전트들이 많이 나올 것으로 예상합니다.
계획 및 워크플로우
에이전트는 목표를 달성하기 위해 필요한 단계와 절차 (워크플로우) 를 체계적으로 설계해야 합니다. 그렇기 때문에 계획을 세울 수 있는 능력을 가지고 있습니다. 이는 에이전트가 어떤 순서로 어떤 작업을 수행할지, 그리고 각 단계에서의 의사결정 과정을 포함합니다.
구글 에이전트 백서의 일반적인 에이전트 아키텍처와 컴포넌트. 계획과 워크플로우를 관장하는 오케스트레이션 (Orchestration, 조율) 레이어가 있다.
에이전트는 도구를 사용할 수 있다.
LLM이나 멀티 모달 모델은 자체만으로도 강력한 성능을 자랑하지만 단점을 보완하거나 능력을 확장하기 위해 도구를 사용할 수 있습니다. 이를 AI 모델의 앞단이나 뒷단에 사용하여 결합하여 사용할 수 있습니다. 대표적인 에이전트 도구들을 간단하게 살펴 봅시다.
웹 검색 : 웹을 검색하여 결과를 활용할 수 있습니다.
파일 조작 : 파일을 읽거나 쓸 수 있습니다.
코딩 : 파이썬이나 자바스크립트 환경을 불러오고 코드를 실행하고 결과를 활용할 수 있습니다.
컴퓨터 사용 (Computer use) : 컴퓨터의 키보드나 마우스를 조작하여 다양한 행동을 수행할 수 있습니다.
브라우저 사용 (Browser use) : 사용자를 대신하여 웹 브라우저를 조종하고 결과를 활용할 수 있습니다.
함수 호출 (Function calling) : 함수를 호출하고 해당 결과를 활용할 수 있습니다.
외부 API 호출 : 외부 서버에 요청하고 결과를 활용할 수 있습니다.
RAG : 외부 지식을 검색하고 활용할 수 있습니다.
구조화된 출력 (structured ouput) : 구조화된 출력은 특정한 형태의 형식으로 결과를 전달합니다. 예를들어 특정한 형태의 JSON 으로 응답을 받을 수 있습니다. 이렇게 하면 나온 결과를 프로그래밍에서 쉽게 활용할 수 있어요.
예시 : explanation 과 output 으로 이루어진 steps 와 final_answer 의 JSON 형태로 출력.
{ "steps": [ { "explanation": "Start with the equation 8x + 7 = -23.", "output": "8x + 7 = -23" }, ... { "explanation": "Simplify the fraction.", "output": "x = -15 / 4" } ], "final_answer": "x = -15 / 4" }
이렇게 특별한 형태로 출력을 해줍니다.
참 다양한 도구들이 있죠? 지금은 이런 것들이 있구나 하고 알아봐 주시면 좋습니다. 이렇게 다양한 도구들을 결합함으로써 AI 가 할 수 있는 일이 많아지게 됩니다.
자율성과 인간 개입의 균형
로봇을 좋아하는 사람들에게는 한 가지 논의점이 있습니다. 그건 바로 탑승형 로봇이냐, 자율형 로봇이냐입니다. 탑승형 로봇의 대표적인 예로는 아이언 맨이 있고, 자율형 로봇의 대표적인 예는 아톰이 있죠. 그렇다면 에이전트는 스스로 움직이는 자율형일까요, 아니면 사람의 개입이 필요한 탑승형일까요?
에이전트는 기본적으로 자율성을 가지고 있습니다. 스스로 움직이고 결과를 만들어낼 수 있습니다. 예를 들어 매일 날씨에 따라 자동으로 오늘 입을 옷을 추천해주는 AI는 한번 세팅해 놓으면 인간이 개입할 필요가 없지요.
하지만 때때로 인간의 개입이 필요하기도 합니다. 사람이 의도를 가지고 이야기하면 이를 바탕으로 작동하는 하는 경우가 있습니다. 예를 들어 특정 여행지를 말하면 이를 바탕으로 자동으로 경로, 항공권, 식사 등의 일정을 짜주는 사례가 있겠지요. 또한 쇼핑 에이전트는 결제와 같은 중요한 순간에 인간에게 결정을 물어볼 수 있습니다.
그렇기 때문에 에이전트는 어느 정도의 자율성을 가지고 있지만 때때로 인간의 개입이 필요할 수 있다고 이해하시면 좋을 것 같습니다.
개인화된 에이전트
또 에이전트에게 필수는 아니지만 가질 수 있는 주요한 특징은 바로 나에 대한 맥락 정보(Context)를 가지고 있다는 것입니다. 에이전트가 내가 좋아하는 취향, SNS 에 쓴 글, 동선 등의 정보를 바탕으로 나의 기분에 맞는 영화를 추천해 주거나 필요한 쇼핑 목록을 제안해 줄 수 도 있습니다. 내가 예전에 작성한 코드를 바탕으로 코딩을 할 때 반영을 해주는 것도 커서 등을 통해 활용할 수 있습니다.
빌게이츠는 이런 개인 비서와 같은 개념을 거의 30년 동안 생각해 왔다고 합니다. 사용자가 지금 어떤 상황인지, 어떤 관심사 (interests) 나 관계 (relations) 를 가지고 있는지 이해하고 적합한 일들을 추천해 줄 수 있는 개념입니다. 빌게이츠는 이런 에이전트가 새로운 플랫폼이 될 수 있다고 합니다. 개인뿐만 아니라 비즈니스, 사회까지 혁신할 수 있는 개념입니다. 앞으로 사용자들은 어떤 앱을 켜야하는지 생각을 하지 않아도 될지 모릅니다. 그냥 자연어로 이야기하면 이에 알맞는 에이전트를 활용하고 결과를 가져다 줄지도 모릅니다.
환경과 상호작용하는 에이전트
에이전트의 주요 특징 중 하나는 바로 주위 환경 정보를 이해하고 상호작용할 수 있다는 점입니다. 한번 실행하고 끝나는 것이 아니라 외부 환경을 이해하고 이를 반영할 수 있습니다.
예를 들어 파이썬 코딩 환경을 활용해서 하나의 결과를 받아 필요한 도구를 사용하고 다음 차례에 이를 활용할 수 있습니다.
로봇이라면 센서를 활용해서 외부 환경의 정보를 받아들여서 활용할 수 있겠죠.
이렇게 환경과 상호 작용을 거치며 행동(Action)을 취하게 되죠.
출처 : 세계 월드 포럼의 AI Agents 의 핵심 요소.
학습 및 적응 능력
변화하는 환경과 사용자 요구에 맞추어 지속적으로 학습하고 스스로 개선하는 능력도 핵심 요소입니다. 이전 경험과 피드백을 바탕으로 행동 방식을 조정함으로써, 더 나은 결과를 도출할 수 있습니다.
에이전트의 미래
에이전트는 최신 기술적인것이라기 보다는 개념적인 것에 가깝습니다. 이러한 개념을 이해한다면 누구도 빼앗지 못하는 나만의 자산을 가질 수 있게 되는 것이죠. 본질에 대한 이해가 우리에게 많은 것을 가져다 줄 수 있습니다.
에이전트는 개인의 건강 분야, 교육, 생산성 분야에 큰 영향을 끼칠 것입니다. 또한 더 넓게 생각한다면 사회 인프라에도 영향을 끼칠 수 있습니다. 쉽고 반복적인 일들은 AI가 대체하게 될 가능성이 높게 될 것이니깐요.
또한 하나의 OS 가 될 가능성이 있습니다. 안드로이드, iOS, 윈도우처럼 하나의 운영 체제가 되는 것이지요. 하나의 범용적인 시스템 (Universal System) 이 되는 것이죠. 우리가 무언가 요청을 하면 에이전트 OS가 필요한 에이전트를 찾고 실행하여 결과를 주게 될 것입니다.
저는 스크린이 없어진 세상을 자주 상상하고는 합니다. 그런 세계에서 가장 핵심이 되는 것은 LLM 모델일 것입니다. 우리의 요청을 처리하고 결과를 알려줘야 하니깐요. 이 때 LLM이 사용하는 다양한 앱이 에이전트가 될 것입니다. 물론 스크린은 가성비가 높기 때문에 사라지지는 않을 것입니다. 하지만 인공지능은 우리가 컴퓨터를 사용하는 방식을 영구적으로 바꾸게 될 것입니다.
기업들은 이 에이전트라는 단어를 마케팅적으로 많이 활용할 수 도 있을 것 같습니다. 하지만 에이전트는 우리의 목표를 이루어주는 것이라는 단순하고 명확한 사실을 기억해 주세요.
인간과 에이전트의 협업이 우리의 목적을 이룰 수 있는 흥미로운 지점이라고 생각합니다.


