AI 에이전트를 "만든다"는 것과 "설계한다"는 것 사이에는 생각보다 큰 간극이 있습니다. LLM을 연결하고 프롬프트를 작성하는 것만으로는 에이전트가 완성되지 않습니다. 해결하려는 문제를 분석하고, 적절한 패턴을 선택하며, 구조 전체를 설계하는 과정이 필요합니다. 이 글에서는 LLM이 에이전트 시스템 안에서 어떤 원리로 동작하는지, 그리고 어떤 기준으로 에이전트 구조를 선택해야 하는지 정리했습니다.
AI 에이전트를 제대로 이해하려면 그 핵심에 있는 LLM이 시스템 안에서 무엇을 판단하고 어떤 역할을 수행하는지부터 알아야 합니다. LLM은 단순히 답변을 생성하는 모델이 아니라, 에이전트가 다음에 무엇을 할지 결정하는 의사결정 엔진으로 작동합니다.
거대 언어 모델(LLM)은 방대한 텍스트 데이터를 학습해 자연어를 이해하고 생성하는 인공신경망 기반의 모델입니다. 입력된 맥락을 바탕으로 다음에 이어질 내용을 예측하는 과정에서 문제 해결에 필요한 단계나 행동을 추론하는 능력도 갖추고 있습니다. 이러한 특성이 AI 에이전트에서 핵심적인 기반 요소로 활용됩니다.
LLM이 이러한 능력을 갖춘 이유는 대규모 텍스트 학습을 통해 언어의 패턴과 구조를 학습했기 때문입니다. 모델은 학습 과정에서 수많은 파라미터를 지속적으로 조정하며 주어진 맥락을 바탕으로 합리적인 다음 단계나 선택지를 추론할 수 있는 능력을 확보하게 됩니다. LLM이 자연어 이해와 추론을 담당한다면, 에이전트는 이를 기반으로 목표 달성을 위한 행동을 계획하고 실행합니다.
LLM은 주어진 선택지 안에서 사용자 입력의 의미를 해석하고 다음에 수행할 행동을 결정할 수 있습니다. 이러한 '다음 동작을 선택하는 역할'을 하는 요소를 라우터(router)라고 합니다.
예를 들어 고객 문의를 처리하는 챗봇을 설계한다면, LLM은 들어온 문의가 '주문 조회', '배송 조회', '교환/환불' 중 어느 유형에 해당하는지 분류해 다음 처리 로직을 결정합니다.

검색 기능을 갖춘 에이전트라면, 사용자 질문의 성격에 따라 웹 검색 결과를 활용할지, 사내 내부 문서를 참조할지를 LLM이 판단합니다. 이 모든 판단 과정이 라우터로서의 LLM이 수행하는 역할입니다. 이 라우터 기능을 시스템 안에서 적절히 활용하면 에이전트의 행동이 상황에 따라 달라지는 동적인 구조를 설계할 수 있습니다.
완전한 AI 에이전트를 구축하기 위해서는 추론 능력, 도구 호출, 기억력이라는 세 가지 핵심 요소가 필요합니다.
에이전트가 결과물을 도출하기까지 거치는 생각의 과정을 구현하는 대표적인 추론 패턴으로 ReAct와 Reflection이 있습니다.
ReAct는 추론(Reasoning)과 행동(Acting)의 합성어로, 문제에 대한 사고 과정과 실제 행동을 함께 수행하도록 유도하는 방법론입니다. ReAct 기반 에이전트는 생각(Thought) → 행동(Action) → 관찰(Observation)의 세 단계를 반복하며 동작합니다.
에이전트는 먼저 어떤 작업을 수행해야 할지 생각하고, 그 생각을 기반으로 작업을 실행하며, 실행 결과를 관찰해 다음 생각의 입력으로 활용합니다. 목표한 결과가 나올 때까지 이 흐름을 반복함으로써 에이전트는 상황에 따라 판단하고 실행 결과를 반영하며 작업 흐름을 스스로 제어하는 구조로 동작합니다.

Reflection은 초기 답변에 대한 반성을 통해 더 정확한 결과를 도출하도록 하는 기법입니다. 한 번의 실행으로 작업을 종료하는 대신 시스템 내부에 결과 검토와 재평가 단계를 포함함으로써 보다 안정적인 결과를 유도합니다. 에이전트가 스스로 오류를 발견하고 개선하는 단계를 추가로 수행하게 되는 이 원리는, 반복 구조를 통해 결과 품질을 높이는 핵심 설계 방식과 연결됩니다.

LLM 모델 자체만으로는 웹 검색, 파일 탐색, API 호출과 같은 작업을 수행할 수 없습니다. LLM은 특정 시점까지의 데이터를 학습한 모델이기 때문에 최신 정보나 실시간 데이터에 접근할 수 없기 때문입니다. 이때 LLM이 외부 도구 사용이 필요한지 판단하여 필요한 도구를 선택하는 과정을 도구 호출(tool calling)이라고 합니다.

도구 호출은 LLM에게 특정 능력을 부여하여 학습된 기존의 지식으로는 해결할 수 없는 문제를 풀게 하기 위한 기법입니다. 중요한 점은 어떤 도구를 사용할지 LLM이 스스로 판단한다는 것입니다. 에이전트가 문제 해결에 필요한 기능을 도구로 추상화함으로써 상황에 따라 적절한 기능을 선택하고 조합하며 보다 유연하게 동작할 수 있습니다.
에이전트가 사람과 더욱 자연스럽게 상호작용하려면 이전 대화 내용을 기억하는 것에 그치지 않고, 사용자의 맥락과 성향을 장기적으로 기억할 수 있어야 합니다. 에이전트에서 메모리는 범위에 따라 두 가지로 구분됩니다.
단기 메모리(short-term memory)는 현재 대화 안에서 발생한 정보를 의미하며, 현재 대화의 맥락을 잊지 않고 유지해 줍니다. 장기 메모리(long-term memory)는 사용자가 에이전트에 처음 접속해 현재까지 나눈 대화 전체를 기반으로 습득한 정보를 의미하며, 사용자의 과거 경험과 성향에 기반하여 답변하는 개인화된 에이전트 구현과 연결됩니다.

에이전트 설계에서 구조 선택은 성능과 유지보수성 모두에 영향을 미칩니다. 에이전트 설계에 절대적인 정답은 없지만, 목적과 정보의 양에 따라 적합한 구조가 달라집니다.
싱글 에이전트(single agent)는 하나의 에이전트가 독립적으로 모든 추론과 행동을 수행하는 시스템입니다. 상황을 스스로 판단하고 행동하는 과정이 하나의 주체 안에서 이루어지며, 다른 에이전트와 협력하거나 역할을 분리하지 않는다는 점이 핵심입니다. 의사결정이 빠르고 불필요한 소통 비용이 발생하지 않는다는 장점이 있습니다.
싱글 에이전트 구조가 적합한 경우는 다음 세 가지 기준으로 정리할 수 있습니다. 작업의 목적이 하나로 명확한 경우, 판단이 하나의 흐름으로 이어지는 경우, 그리고 전체 맥락이나 상태를 하나의 에이전트가 유지하는 것이 중요한 경우입니다. 웹 검색 기반 질의응답이나 파일 관리 에이전트가 대표적인 예시에 해당합니다.
멀티 에이전트(multi agent)는 여러 개의 에이전트가 각자의 판단을 수행하며 상호작용하는 구조입니다. 단순히 싱글 에이전트를 여러 개 나열한다고 해서 멀티 에이전트가 되는 것은 아니며, 핵심은 에이전트 간 의사결정과 정보 교환이 발생하는가에 있습니다.
싱글 에이전트 구조에서는 작업이 복잡해질수록 하나의 에이전트가 고려할 정보의 양과 판단의 범위가 급격히 늘어납니다. 멀티 에이전트 구조에서는 이러한 부담을 여러 에이전트에 나누어 맡길 수 있기 때문에 각 에이전트가 자신에게 할당된 역할과 목적에만 집중해 안정적인 판단을 유지할 수 있습니다.

멀티 에이전트가 필요한 상황은 작업 수행의 판단 기준이 명확히 다른 역할들이 하나의 목표를 위해 협업해야 할 때입니다. 다만 멀티 에이전트 구조가 효과적으로 동작하려면 에이전트 간 소통 방식이 함께 설계되어야 합니다. 어떤 정보를, 언제, 어떤 수준까지 공유할 것인지 명확하지 않으면 정보가 누락되거나 맥락이 어긋날 수 있습니다.
AI 에이전트를 설계한다는 것은 LLM의 의사결정 능력을 구조화된 흐름 안에 담는 일입니다. LLM이 라우터로 작동하고, 추론·도구 호출·메모리라는 세 요소가 결합되며, 문제의 성격에 따라 싱글 또는 멀티 에이전트 구조를 선택하는 것, 이 판단의 기준을 이해하는 것이 에이전트 시스템 설계의 출발점입니다.

위 컨텐츠는 박나연(공원나연) 저자의 『만들면서 배우는 AI 에이전트 개발 입문+실전』의 내용을 재구성하여 제작되었습니다.
댓글