요즘 AI에이전트, 제대로 배우기
AI 에이전트는 LLM의 강력한 언어 및 추론 능력을 인간 수준의 실제 업무(Task) 수행에 적용하기 위해 설계된 시스템입니다.
AI 에이전트는 인간이 일을 처리할 대 거치는 단계인 메모리(Memory), 계획(Planning), 행동(Action)이라는 모듈을 갖고 있으며, 특정한 역할(Profile)을 기반으로 자율적으로 주변 환경을 이해하고, 학습하고, 스스로 발전해 나가는 것을 목표로 합니다.
즉, 인간 수준의 업무 수행력을 가진 자율형 시스템을 지향하는 개념입니다.
아래 그림은 AI에이전트의 주요 연구 영역을 나타낸 것입니다.
관련 논문: https://arxiv.org/abs/2308.11432
위 그림은 AI 에이전트의 주요 연구 영역을 나타낸 것입니다. 여기서 프로파일(Profile) 영역은 상대적으로 연구가 덜 된 것으로 보이지만, 그 외의 Planning, Memory, Action(특히 Multi-Agent 체계)은 그본적인 과제로서 활발히 연구되고 있습니다.
AI 에이전트는 크게 다음의 3가지 모듈로 구성됩니다.
1. Profile(프로파일)
2. Memory(메모리)
3. Planning(계획)
4. Action(행동)
기존 LLM에서는
Profile(프로파일)은 시스템 프롬프트 등으로 지정되는 "역할(role)"
Memory(메모리)는 대화 내역, RAG 기반 지식, 인터넷 정보 등 외부 기억 활용 능력
으로 이해할 수 있습니다.
그런데 기존 LLM과 AI 에이전트의 진짜 차이는 바로 "Planning(계획)"과 "Action(행동)"이 있다는 점입니다. 특정 업무를 처리할 때 사람의 개입없이, 계획을 스스로 세우고 실행하면서 시행착오를 반복할 수 있는 것이 AI 에이전트만의 핵심적인 특징입니다.
"프로파일(Profile)"은 AI 에이전트에서 에이전트의 역할과 성향, 전문 분야를 정의하고 LLM의 행동을 조정하는 정보를 말합니다.
예를 들어, 코더 역할, 강사 역할, 특정 도메인의 전문가 역할을 수행하도록 만드는 것이 프로파일 설정입니다. 이 정보는 보통 LLM 프롬프트에 포함되오 동작 전반에 영향을 줍니다.
정적 프로파일은 에이전트의 역할, 성격, 전문 분야 등을 사전에 고정해 두는 방식입니다. 초기 시스템 프롬프트나 설정 파일에 명시하고, 이후 별도 업데이트 없이 그대로 유지됩니다.
정적 프로파일은 FAQ처리나 단일 작업(single task)수행 등 단순하고 안정적인 구현이 필요한 상황에서 많이 사용됩니다. 예를 들면, OpenAI API 호출 시, 시스템 프롬프트로 LLM역할을 지정하는 방식이 전형적인 정적 프로파일입니다.
하지만, 단순한 "고정된 Persona"방식으로는 실무에서 한계가 크기 때문에, 최근에는 메모리 + 이력 업데이트를 결합한 동적 프로파일 프레임워크가 주류가 되고 있습니다.
동적 프로파일은 실행 중에 축적되는 이력이나 외부 정보에 따라 실시간으로 업데이트되는 프로파일입니다. 에이전트의 사용 이력, 도메인지식, 성능지표, 응답패턴 등을 반영해 점점 더 정교하게 변합니다.
동적 프로파일은 다음 4가지 주요 요소로 구성됩니다.
1. 스킬(Skills): 에이전트의 사전 정의된 능력이나 전문 분야를 말합니다.
2. 이력(History): 최근 작업 결과, 완료율, 평가점수 등이 포함됩니다. 보통 고정된 길이(예: 최근 10개 작업)로 관리되며, 오케스트레이터의 입력으로 활용됩니다.
3. 임베딩(Embeddings): 에이전트의 행동 특성을 요약한 벡터 표현이며, 상황에 따라 지속적으로 업데이트됩니다.
4. 가용성(Availability): 현재 에이전트가 비어 있는지(Idle), 작업 중인지(Busy), 최근 업무량은 어느 정도인지 등을 나타냅니다.
AI 에이전트의 메모리는 2가지 정의를 갖고 있습니다.
1. 좁은 의미의 메모리(Narrow Agent Memory)
특정 시도(Trial) 안에서 에이전트가 경험한 정보를 말합니다. 같은 실행과정에서 발생한 행동 기록, 관찰 결과 등이 이에 해당합니다. 즉, 한번의 실행 안에서 축적되는 기억입니다.
2. 넓은 의미의 메모리(Broad Agent Memory)
특정 시도(trial) 내부 정보 뿐만 아니라,
새로 다른 시도 간의 정보
외부 지식 기반 정보
환경과의 상호작용을 넘어선 추가 데이터
까지 포함하는 장기적이고 확장된 형태의 기억입니다.
즉, 넓은 의미의 메모리는 다음을 모두 포함합니다.
동일 시도 내 정보 (=좁은 의미)
여러 시도 간 공유되는 정보
외부 지식 기반 정보(RAG, 웹 등)
Memory 모듈은 기본적으로 3가지 기능을 담당합니다.
1. 기록(Write)
2. 관리(manage)
3. 읽기(read)
AI 에이전트에서 "계획(Planning)"은 목표를 달성하기 위해 필요한 행동들을 논리적/시각적 순서에 따라 구성하는 과정입니다. 즉, 에이전트가 실제로 일을 처리할 수 있도록 목표 → 단계(step) → 실행 가능한 태스크의 형태로 구조화하는 기능입니다.
LLM은 언어적 추론 능력은 뛰어나지만, 복잡한 절차적 업무를 단계별로 수행하는데는 약점이 있습니다. 한번의 답변으로 끝나지 않는 업무에서는 "어떻게 진행할지"에 대한 계획이 필수입니다. 그래서 Planning 연구가 에이전트의 핵심 영역으로 여겨집니다.
1. Task Decomposition (작업 분해)
복잡한 작업을 여러 개의 서브태스크로 나누고, 각각에 대해 계획을 만듭니다.
2. Multi-plan Selection (다중 계획 선택)
LLM이 여러 계획 후보를 생성하고, 탐색 알고리즘으로 최적의 계획을 고릅니다.
3. External Planner Assisted Planning (외부 플래너 결합)
LLM만으로는 비효율적인 경우, 외부 플래너를 연동하여 현실성, 효율성을 보완합니다.
4. Reflection & Refinement (반성 및 개선)
에이전트가 과거 실패를 돌어보고 더 나은 계획을 스스로 만들어 갑니다.
5. Memory-augmented Planning (기억 확장 기반 계획)
추가적인 메모리 모듈을 도입하여 계획의 품질을 향상시키는 방식입니다.
"행동(Action)"은 AI 에이전트가 목표를 이루기 위해 실제로 환경과 상호작용하여 작업을 수행하는 단계입니다. 사람이라면 "자료찾기", "문자읽기", "대화하기"등에 해당합니다.
AI 에이전트는 생각만(Planning) 하는 것이 아니라, 도구(tool)을 사용해 현실 세계의 정보와 시스템에 실제로 접근하고 조작할 수 있어야 합니다. API 호출, 웹검색, 코드실행 등이 이에 해당합니다.
1. 목표 달성을 위한 실질적 수행 단계
계획된 단계를 하나씩 실행하여 최종 목표를 향해 나아갑니다.
2. 환경과의 인터랙션
외부 데이터를 수집하거나 타 시스템으로 정보를 보내는 활동을 수행합니다.
3. AI 에이전트의 핵심 모듈
생각(Planning) + 메모리(Memory) + 지각(Observation) 이후, 행동(Action)이 있어야 에이전트는 비로소 자율적으로 움직일 수 있습니다.
이번에는 AI 에이전트를 구성하는 4가지 컴포넌트인 프로파일(Profile), 메모리(Memory), 계획(Planning), 행동(Action)으로 나누어 설명했습니다. 다음 장부터는 각 컴포넌트에 대해 깊게 설명합니다.
©2024-2025 MDRULES.dev, Hand-crafted & made with Jaewoo Kim.
이메일문의: jaewoo@mdrules.dev
AI 에이전트 개발, 컨텍스트 엔지니어링 교육 컨설팅, 바이브코딩 강의 문의: https://bit.ly/4kjk5OB