AI

AI 에이전트 구조 | memory와 workflow는 어떻게 연결될까

mirabo01 2026. 4. 16. 12:07
반응형

 

AI 에이전트를 공부하다 보면 자주 나오는 단어가 있습니다.

바로 memoryworkflow입니다.

둘 다 자주 보이는데, 막상 처음 접하면 “메모리는 기억이고 워크플로는 순서 아닌가?” 정도로만 이해하고 넘어가기 쉽습니다. 그런데 실제로 에이전트를 설계할 때는 이 둘의 연결 구조를 이해해야 전체 그림이 보입니다.

간단하게 말하면 workflow는 에이전트가 일을 처리하는 흐름이고, memory는 그 흐름 안에서 계속 참고하는 기억 장치에 가깝습니다.

즉 workflow가 “어떤 순서로 움직일까”를 정한다면, memory는 “그 과정에서 무엇을 기억하고 다음 단계로 넘길까”를 담당합니다.

그래서 이 둘은 따로 떨어진 개념이 아니라, 실제 AI 에이전트 구조에서는 거의 항상 같이 움직입니다.

#AI에이전트 #에이전트구조 #memory #workflow #AI자동화 #LangGraph #에이전트설계

AI 에이전트 구조를 먼저 아주 간단하게 보면

AI 에이전트는 단순 채팅 모델보다 한 단계 더 확장된 구조입니다. 질문을 받고 바로 답만 하는 게 아니라, 필요하면 도구를 호출하고, 중간 결과를 정리하고, 다음 행동을 계획하고, 경우에 따라 여러 단계를 거쳐 최종 결과를 냅니다.

이때 보통 구조를 나누면 크게 이렇게 볼 수 있습니다.

AI 에이전트의 기본 구성

  • Model = 생각하고 응답하는 두뇌
  • Tools = 검색, 계산, 파일 읽기, API 호출 같은 외부 기능
  • Workflow = 어떤 순서와 규칙으로 움직일지 정한 흐름
  • Memory = 이전 대화, 중간 결과, 사용자 정보, 상태를 기억하는 장치

여기서 많은 사람이 model과 tools에는 익숙한데, workflow와 memory가 정확히 어떻게 맞물리는지는 헷갈려합니다. 실제로는 이 두 가지가 에이전트를 “그냥 똑똑한 챗봇”에서 “계속 일할 수 있는 시스템”으로 바꾸는 핵심입니다.

workflow는 무엇일까

workflow는 말 그대로 일의 흐름입니다.

예를 들어 사용자가 “지난주 회의 내용을 요약해서 액션 아이템까지 정리해줘”라고 했을 때, 에이전트는 그냥 한 번에 답을 쓰는 게 아니라 실제로는 여러 단계를 거칠 수 있습니다.

예시 workflow
  1. 회의 기록 찾기
  2. 관련 파일 읽기
  3. 핵심 내용 추출
  4. 액션 아이템 분리
  5. 최종 요약본 작성

이 순서를 정해두는 것이 workflow입니다.

어떤 시스템은 정해진 흐름대로 움직이는 워크플로 기반이고, 어떤 시스템은 에이전트가 스스로 다음 행동을 선택하는 더 동적인 구조를 가집니다. 하지만 두 경우 모두 “현재 어디까지 왔고 다음에 무엇을 해야 하는가”를 관리하는 뼈대가 필요합니다.

memory는 무엇일까

memory는 에이전트가 작업을 이어가기 위해 참고하는 기억입니다.

여기서 말하는 기억은 단순히 대화 기록만 뜻하지 않습니다. 중간에 찾은 정보, 현재까지의 상태, 사용자 선호, 이전 단계의 결과, 다음 단계에서 다시 써야 하는 요약 데이터까지 전부 memory 관점으로 볼 수 있습니다.

memory를 쉽게 이해하는 방법

workflow가 “일의 순서표”라면, memory는 그 순서표를 따라가면서 계속 적어두는 작업 노트에 가깝습니다. 이 노트가 없으면 매 단계마다 처음부터 다시 시작해야 합니다.

그래서 memory는 에이전트가 “앞에서 무슨 일을 했는지”를 잊지 않게 해주고, 같은 실수를 반복하지 않게 하며, 다음 단계의 판단에 필요한 맥락을 유지하게 해줍니다.

memory는 보통 두 가지로 나뉜다

에이전트 구조를 이해할 때 memory는 보통 두 층으로 나눠서 보면 쉽습니다.

구분 예시
단기 메모리 현재 세션이나 현재 작업 안에서 유지되는 기억 현재 대화, 중간 결과, 이번 실행의 상태
장기 메모리 세션이 끝나도 남아서 다음 실행에 이어지는 기억 사용자 취향, 누적 작업 기록, 자주 쓰는 규칙

단기 메모리는 현재 업무를 처리하기 위한 작업 메모리에 가깝고, 장기 메모리는 다음에도 다시 꺼내 쓸 수 있는 저장된 기억에 가깝습니다.

실제 에이전트 구조에서는 이 두 가지가 같이 쓰이는 경우가 많습니다.

그렇다면 memory와 workflow는 어떻게 연결될까

이게 핵심입니다.

workflow는 각 단계를 순서대로 실행하지만, 각 단계가 독립적으로 따로 움직이면 전체 작업이 끊깁니다. 그래서 단계와 단계 사이를 이어주는 것이 memory입니다.

둘의 연결 관계를 한 줄로 말하면

workflow는 단계의 흐름을 만들고, memory는 그 흐름 사이에 맥락을 이어준다고 보면 됩니다.

예를 들어 1단계에서 문서를 찾고, 2단계에서 문서를 읽고, 3단계에서 요약을 만든다고 해봅시다.

이때 1단계에서 찾은 문서 목록, 2단계에서 추출한 핵심 문장, 3단계에서 사용할 사용자 요청 조건이 계속 다음 단계로 전달되어야 합니다.

이 전달 과정이 없으면 매번 모델이 처음부터 다시 읽고 판단해야 하고, 결과는 느려지고 비용은 올라가고 일관성도 떨어집니다.

실무에서는 보통 state라는 이름으로 묶여 있다

실제 에이전트 프레임워크를 보면 memory와 workflow의 연결 지점을 흔히 state라는 개념으로 관리합니다.

쉽게 말하면 state는 현재 에이전트가 알고 있는 정보, 지금까지의 진행 상황, 다음 단계에 넘겨야 하는 값을 한데 모아놓은 공유 공간입니다.

state에 들어가기 쉬운 것들

  • 사용자 입력 원문
  • 이전 단계 결과
  • 도구 실행 결과
  • 에러 정보
  • 다음 단계 판단에 필요한 플래그
  • 현재까지 누적된 메시지

이렇게 보면 memory는 단순 저장소가 아니라, workflow가 다음 행동을 결정하도록 도와주는 상태 관리 장치에 가깝습니다.

memory가 없으면 workflow는 왜 약해질까

workflow만 있고 memory가 약하면 에이전트는 단계는 따라가도 맥락을 잃기 쉽습니다.

예를 들어 사용자가 “지난번에 내가 선호한 형식 그대로 다시 정리해줘”라고 말했는데, memory가 없다면 에이전트는 그 “지난번 형식”을 모를 수 있습니다.

또 중간 단계에서 찾은 정보가 다음 단계에 제대로 남지 않으면 같은 검색을 반복하거나, 앞에서 결정한 방향과 뒤에서 작성한 결과가 어긋날 수 있습니다.

memory가 약할 때 생기기 쉬운 문제

  • 같은 도구 호출 반복
  • 앞뒤 단계 결과 불일치
  • 사용자 선호 반영 실패
  • 긴 작업에서 맥락 손실
  • 토큰 비용 증가와 응답 품질 저하

그래서 복잡한 에이전트를 만들수록 workflow 설계만큼 memory 설계도 중요해집니다.

반대로 workflow가 없으면 memory도 힘을 못 쓴다

memory만 많이 쌓는다고 좋은 에이전트가 되는 것은 아닙니다.

어떤 정보를 언제 저장하고, 언제 다시 꺼내 쓰고, 어느 단계에서 참고할지를 정하는 흐름이 없으면 기억은 많아도 활용은 잘 안 됩니다.

즉 workflow는 memory를 “실제로 쓰이게 만드는 구조”라고 볼 수 있습니다.

좋은 에이전트는 단순히 많이 기억하는 시스템이 아닙니다.

필요한 기억을 필요한 단계에서 정확히 꺼내 쓰는 시스템입니다.

실제로는 이런 식으로 연결해서 설계한다

가장 실무적인 방식으로 정리하면 보통 이런 흐름으로 설계합니다.

추천 설계 흐름

  1. workflow를 먼저 정의한다 — 어떤 단계가 필요한지 정한다
  2. 각 단계에 필요한 memory를 정한다 — 무엇을 저장하고 넘길지 정한다
  3. state 구조를 설계한다 — 중간 결과와 상태를 어디에 둘지 정한다
  4. 단기 메모리와 장기 메모리를 구분한다 — 세션용과 장기 저장용을 나눈다
  5. 필요한 순간에만 memory를 주입한다 — 무조건 다 넣지 않고 필요한 것만 꺼내 쓴다

이 구조가 중요한 이유는 에이전트 성능이 단순히 모델 성능으로만 결정되지 않기 때문입니다. 어떤 기억을 어떻게 꺼내 workflow에 연결하느냐가 실제 체감 품질을 크게 바꿉니다.

결국 좋은 에이전트는 어떤 구조를 가질까

좋은 에이전트는 무조건 복잡한 구조를 가진 에이전트가 아닙니다.

오히려 workflow는 단순하고 명확하게, memory는 필요한 만큼만 정확하게 설계된 구조가 실제로 더 강한 경우가 많습니다.

너무 많은 정보를 매번 모델에 넣으면 비싸고 느려지고, 반대로 너무 적게 넣으면 맥락이 끊깁니다. 결국 핵심은 균형입니다.

 

반응형