안녕하세요! LOOP AI 모델링팀의 자연어처리 엔지니어 김성태입니다!
지난번 포스트에서 요즘 매우 핫한 키워드인 에이전트가 대체 무엇인지에 대해 대략적으로 알아보았는데요. 이번 포스트는 본격적으로 잡코리아가 이 최신 에이전트 기술을 활용해서 어떤 일을 진행했으며 어떤 방식으로 올해 일을 진행해 나갈지 대략적으로 알아가보는 시간을 가지려고 합니다!
이번 포스트는 지난번과 달리 데이터사이언스에 대한 깊이가 어느정도 필요한 포스트라 지난번과 같이 흥미위주의 이야기보다는 조금 더 깊이있는 내용으로 잡코리아 LOOP AI LAB의 기술을 홍보하고 고민 과정을 나누는 포스트가 될거 같습니다.
잡코리아의 에이전트가 비록 AI 검색을 위해 시작되지만 에이전트는 단순히 검색만을 위한 도구가 아닙니다. 에이전트는 앞서 설명했듯 어떠한 복잡한 목적을 설정하면 이를 해결하기 위해 자율적으로 추론하는 시스템이고 이는 검색외에도 구인구직 업계의 다양한 서비스와 문제해결을 위해 사용될 수 있습니다.
이를 위해 저희는 에이전트 검색을 만들기 이전에 먼저 잡코리아를 모든 문제를 해결하기 위하여 추상화된 추론엔진을 먼저 만들기로 하고 이를 LOOP Reasoning Engine이라고 명명하게 되었습니다. 이번 포스트는 에이전트의 핵심 파츠인 추론 엔진의 이론적 배경과 그 적용 결과에 대해 설명합니다.
1. 에이전트에 대한 보다 명확한 정의
지난번 포스트에서 에이전트라는 용어가 사실 강화학습의 ‘학습 주체’라는 표현에서 온 단어라고 말씀드렸습니다. 그리고 이것이 대형언어모델과 융합하며 지금의 대형추론모델 개념이 만들어졌다고 이야기 했었는데요.
조금 더 명료한 정의를 원하는 또 한 사람의 개발자로서 이것 또한 뭔가 조금 불명확한 기분입니다. 에이전트라는 용어에 대한 일원화된 정의는 찾을 수 없지만 일부 공통점을 찾아낼 수 있었는데요. 일단 세계적인 IT 기업들은 에이전트는 어떤 방식으로 서로 정의할까요?
•
에이전트는 워크플로우를 디자인하고 도구를 활용함으로써 임무를 자동으로 수행할 능력을 가진 시스템으로 종종 LLM을 활용하여 환경과 상호 작용하며 행동을 수행합니다. (An AI agent is a system capable of autonomously performing tasks by designing workflows and utilizing tools, often leveraging large language models (LLMs) to interact with environments and execute actions)
•
에이전트는 고도의 목표를 위하여 추론, 계획 그리고 실행을 수행하는 고등 시스템으로 디지털 노동력처럼 행동하며 워크플로우를 자동화합니다. (AI Agents are advanced systems that reason, plan, and execute complex tasks based on high-level goals, acting as a digital workforce to manage workflows autonomously)
•
에이전트는 사용자를 대신하여 과제를 독립적으로 수행할 수 있는 자동화된 시스템입니다. (Agents are automated systems that independently accomplish tasks on behalf of users.)
•
목표를 달성하기 위해 세계를 관찰하고 도구를 사용하여 행동을 수행하기 위해 노력을 가하는 응용프로그램으로 에이전트는 자동화되어있고 인간의 개입없이 독립적으로 작동가능합니다. (An application that attempts to achieve a goal by observing the world and acting upon it using the tools that it has at its disposal. Agents are autonomous and can act independently of human intervention)
•
복잡한 과제를 완수하기 위해 다양한 도구를 사용하여 주어진 시간동안 독립적으로 운영되는 자동화시스템 혹은 조금 더 미리 정의된 워크플로우를 따라 명령을 이행하는 에이전트 (agents as fully autonomous systems that operate independently over extended periods, using various tools to accomplish complex tasks, or more prescriptive implementations that follow predefined workflows)