URL: https://www.youtube.com/watch?v=0kVsv2WlL44 날짜: 2026-10-11 채널: Tech Bridge 원문 제목: [한영자막] AI 에이전트에 학습하는 메모리를 제공해 보세요 — Jake Broekhuizen, LangChain 발표자: Jake Broekhuizen (LangChain)
📌 핵심 질문 / 이 영상이 다루는 핵심 논점
==에이전트의 실행 기록을 단순한 로그로 남기지 않고 다음 실행의 행동을 바꾸는 내구성 있는 컨텍스트로 변환하려면 어떻게 해야 하는가?==
- 관찰 가능성(observability)은 도구 호출·추론 과정·검색된 아티팩트를 보여주지만 미래 실행을 자동으로 개선하지는 않는다.
- 메모리는 사실·선호·패턴·과거 사례·스킬·지침을 내구성 있는 컨텍스트로 보존해 다음 실행에 주입하는 체계다.
- 모든 트레이스를 메모리로 승격하면 추론이 어려워지므로 유용한 신호만 골라 장기 메모리를 갱신해야 한다.
- 절차적 메모리처럼 행동을 크게 좌우하는 영역은 자동 업데이트 전에 인간 검토와 평가를 거쳐야 한다.
에이전트가 한 번의 실행에서 남긴 트레이스는 일어난 일을 보여주는 증거일 뿐이다. 그 증거에서 반복되는 실수나 유효한 교훈을 추출해 미래 실행이 참조할 수 있는 규칙·스킬·사례로 저장할 때 비로소 메모리가 된다. 핵심 순환은 메모리가 실행을 안내하고 → 실행이 증거를 만들고 → 필터가 증거에서 신호를 추출하고 → 신호가 메모리를 갱신하는 read-write 플라이휠이다.
1. “다음 실행은 더 나아져야 한다”는 요구
코딩·고객 지원·리서치 에이전트가 무엇이든 팀은 한 번의 실행에서 얻은 경험이 다음 실행의 품질을 높이기를 기대한다.
1.1. 금융 서비스 에이전트라는 기준 사례
-
문제의 배경
- LangChain 랩 팀은 금융 서비스 회사와 지출·예산 관리 및 비투자 자문 에이전트를 만들고 있었다.
- 금융 서비스는 규제가 강하므로 에이전트가 엄격한 말투 지침(tone guidelines)을 따라야 했다.
- 단어 선택, 문장 방식, 사용자별 상호작용 방식이 올바른 말투를 지키는지 판별하는 직접적인 신호가 됐다.
-
말투를 만드는 재료
- 에이전트는 현재 컨텍스트와 메모리, 규칙·정책을 참조하는 방식에서 말투를 만들어냈다.
- 같은 정보라도 어떤 컨텍스트와 규칙을 회수하느냐에 따라 조언의 어조가 달라질 수 있었다.
1.2. 조언형 말투가 지시형 말투로 미끄러지는 순간
-
허용된 말투와 어긋난 말투
- 원래 목표는 조언하고 도움을 주는(advisory and helpful) 태도였다.
- 일부 컨텍스트에서 에이전트는 더 단정적이고 지시적인(pointed and directive) 말투로 변했다.
-
실제 출력 사례
- 허용 범위에 가까운 표현은 “당신과 비슷한 상황에 있는 사용자는 일반적으로 지출 한도를 설정한다”는 식의 조언이었다.
- 문제가 된 표현은 “구독을 취소하고 돈을 저축으로 옮겨야 할 것 같다”처럼 사용자의 결정을 대신 내리는 말이었다.
- 금융 회사는 이런 말투 변화를 정책 위반으로 판단했고 유사한 사례도 반복됐다.
-
수동 교정의 병목
- 담당자는 트레이스를 읽고 말투가 미끄러진 지점을 찾아야 했다.
- 에이전트가 말투를 결정할 때 참조하는 컨텍스트를 직접 수정해야 했다.
- 수정 뒤 회귀(regression)가 생기지 않았는지 다시 확인해야 했다.
- 매 실행마다 같은 검토·수정·검증을 반복하는 방식은 규모가 커질수록 감당하기 어렵다.
-
필요한 방향
- 에이전트 주변 시스템은 상호작용과 경험에서 계속 배우는 장소가 되어야 한다.
- 한 번의 실패를 사람이 고치는 데서 끝내지 않고 실패에서 뽑은 규칙이 미래 실행에 영향을 줘야 한다.
2. 관찰 가능성에서 적응 가능한 에이전트로
2.1. 트레이스는 풍부해졌지만 학습은 자동으로 따라오지 않는다
-
관찰 가능성이 주는 것
- 에이전트가 만드는 신호와 트레이스는 계속 늘어나며 에이전트가 많아질수록 증가한다.
- 각 실행은 어딘가에 저장되는 트레이스를 남긴다.
- 트레이스에는 호출한 도구, 결정을 내리기까지의 추론 과정, 참조한 아티팩트가 담긴다.
- 따라서 관찰 가능성은 신뢰할 수 있는 에이전트를 만드는 핵심 기반이다.
-
관찰과 학습 사이의 간극
- 트레이스·로그·대화 기록을 저장하는 것만으로는 미래 실행의 컨텍스트가 달라지지 않는다.
- 잘못된 스킬이나 지침이 그대로 남아 있으면 오늘의 실수가 다음 실행에도 반복된다.
- 관찰 가능한 에이전트는 무슨 일이 일어났는지 알려주지만 적응 가능한 에이전트는 다음 실행을 안내하도록 실제 컨텍스트를 바꾼다.
2.2. 메모리의 작동 정의
-
증거와 메모리
- 트레이스·대화 기록·로그는 과거에 일어난 일의 증거다.
- 증거에서 교훈을 뽑아 미래 실행이 참조할 수 있는 내구성 있는 컨텍스트로 변환할 때 그 결과가 메모리가 된다.
-
핵심 판단 기준
- 어떤 사실·패턴·실수가 반복되는지 확인한다.
- 어떤 교훈이 앞으로의 실행에서도 유효한지 판단한다.
- 그 교훈을 에이전트가 실제로 읽고 행동에 반영할 수 있는 형태로 저장한다.
3. 에이전트 메모리의 세 가지 분류
슬라이드의 여섯 요소인 사실, 선호, 패턴, 과거 사례, 스킬, 지침은 인지과학에서 빌려온 세 가지 메모리 버킷으로 묶을 수 있다.
3.1. 의미 기억(semantic memory): 에이전트가 아는 것
-
사실(facts)
- 사용자나 업무 세계에 대해 지속적으로 참조해야 하는 정보다.
- 실행 중 잠깐 얻은 도구 결과와 달리 미래 실행에서도 유효한 정보만 내구성 있게 보존한다.
-
선호(preferences)
- 사용자가 원하는 방식이나 반복해서 드러난 선택을 표현한다.
- 다음 대화에서 같은 선호를 다시 발견하지 않아도 되도록 컨텍스트로 제공할 수 있다.
3.2. 일화 기억(episodic memory): 에이전트가 경험한 것
-
학습된 패턴(patterns)
- 여러 실행에서 반복적으로 관찰된 성공·실패의 패턴을 저장한다.
- 단일 사건의 표면적 결과가 아니라 미래 의사결정에 재사용할 수 있는 패턴을 골라야 한다.
-
과거 상호작용과 사례(previous interactions and examples)
- 사용자와의 과거 대화나 이전에 잘 처리한 예시가 포함된다.
- 사례를 그대로 축적하기보다 새로운 상황에 적용할 수 있는 신호인지 판단해야 한다.
3.3. 절차적 기억(procedural memory): 에이전트가 행동하는 방식
-
구성 요소
- 지침(instructions)은 특정 상황에서 따라야 할 행동 방식을 정의한다.
- 스킬(skills)은 에이전트가 수행할 수 있는 작업 절차를 제공한다.
- 규칙(rules)은 사용자와 상호작용할 때 지켜야 하는 경계를 정한다.
-
가장 눈에 띄는 품질 향상
- 실제로 가장 가시적인 개선은 절차적 기억에서 나오는 경우가 많다.
- 금융 자문 에이전트의 말투를 고친 일은 새 사실을 추가한 것이 아니었다.
- 금지 단어 하나를 쓰지 말라고 덧붙인 것도 아니었다.
- 사용자와 상호작용할 때 지켜야 할 규칙을 업데이트했고 그 규칙이 행동을 안내했다.
4. 작업 기억과 장기 기억을 분리하기
4.1. 작업 기억(working memory, short-term memory)
- 작업 기억은 현재 실행에서 에이전트가 참조하는 컨텍스트다.
- 중간 scratch pad, 도구 결과, 실행 중 검색한 파일이 대표적인 예다.
- 현재 업무에 필요한 정보가 들어오지만 실행이 끝났다고 모두 다음 실행으로 넘어가지는 않는다.
4.2. 장기 기억(long-term memory)
- 장기 기억은 별도의 데이터 구조나 저장소에 남아 미래 턴과 지속적인 행동을 안내한다.
- 지침·스킬·규칙처럼 여러 실행에서 반복 참조할 가치가 있는 컨텍스트가 대상이다.
- 하네스와 프레임워크에 따라 장기 기억은 프롬프트에 직접 주입하거나, 도구로 검색하거나, 저장소·파일에서 읽거나, 런타임 상태 변경으로 반영할 수 있다.
- 구현은 달라도 현재 실행에만 필요한 임시 컨텍스트와 미래 실행을 안내하는 내구성 있는 컨텍스트를 분리해야 한다.
4.3. 트레이스와 read-write 사이클
- 트레이스는 최종 출력만 기록하지 않고 실행 중 작업 기억이 어떻게 바뀌었는지도 기록한다.
- 어떤 컨텍스트를 읽고 어떤 도구·하위 에이전트를 호출했는지의 기록이기도 하다.
- 트레이스의 일부는 이력(history)으로 남기고 일부는 필터를 통과해 장기 기억이 된다.
- 실행을 시작할 때 장기 기억에서 현재 업무에 필요한 내용을 작업 기억으로 읽어 온다.
- 필요한 스킬을 점진적으로 공개(progressive disclosure)하는 방식이 여기에 해당한다.
- 현재 작업과 관련 없는 장기 기억까지 무작정 읽어 오지 않는 것이 중요하다.
5. 메모리 플라이휠: 읽기, 실행, 선별, 쓰기
5.1. 슬립타임 컴퓨트와 실행 전 읽기
- 장기 기억에서 현재 실행에 필요한 컨텍스트를 작업 기억으로 가져오는 단계가 첫 단계다.
- 스킬·지침·관련 규칙을 미리 읽어야 현재 업무에 맞게 행동할 수 있다.
- “슬립타임 컴퓨트(sleeptime compute)” 또는 “꿈꾸기(dreaming)”는 메모리를 업데이트하거나 장기 기억을 작업 기억으로 가져오는 처리를 가리킨다.
- 이 처리는 실제 업무를 수행하는 동안에도 아무 일도 하지 않는 동안에도 일어날 수 있다.
5.2. 실행이 만드는 증거
- 에이전트는 도구 호출·검색한 컨텍스트·결정·하위 에이전트 호출을 포함한 트레이스를 만든다.
- 이 증거가 있어야 어떤 컨텍스트를 회수했고 어떤 경로로 결과에 도달했는지 이해할 수 있다.
- 금융 에이전트에서는 실패한 도구 호출·사용자의 수정·원하는 말투에서 벗어난 지점이 중요한 증거다.
5.3. 필터링: 모든 증거를 메모리로 만들지 않기
- 모든 증거를 장기 메모리로 바꾸면 미래 업무에서 처리할 정보가 과도해져 추론이 어려워진다.
- 유용한 신호와 단순 이력을 구분하는 필터 단계가 필요하다.
- 대부분의 트레이스 데이터는 나중에 참조할 수 있는 이력으로 남는다.
- 일부는 오프라인 평가용 데이터 세트가 된다.
- 그중 작은 부분만 에이전트 메모리를 실제로 바꾸는 신호가 된다.
5.4. 장기 기억 갱신과 다음 실행
- 선별된 신호를 내구성 있는 장기 컨텍스트에 다시 기록한다.
- 금융 에이전트에서는 더 조심스럽고 측정된 말투를 쓰며 뾰족하거나 지시적인 말투를 쓰지 않는 행동 변화가 미래 턴에 반영된다.
- 전체 순환은 메모리 → 실행 → 증거 → 필터링된 신호 → 메모리 갱신이다.
- 이 플라이휠이 작동하면 에이전트는 시간이 지날수록 더 신뢰할 수 있고 강력해지며 실제로 나아지는 것처럼 느껴진다.
- 구현 세부 사항은 계속 발전하지만 **포착(capture) → 분석(analyze) → 컨텍스트 갱신(update)**이라는 세 부분 구조는 유용한 출발점이다.
6. LangSmith와 Context Hub로 구현한 구체적 흐름
6.1. 포착: 관찰 가능성으로 경험을 남기기
- LangSmith의 관찰 가능성 계층은 에이전트의 전체 궤적(trajectory)과 행동을 볼 수 있게 한다.
- 어떤 도구를 호출했는지 확인할 수 있다.
- 어떤 하위 에이전트를 호출했는지 확인할 수 있다.
- 어떤 컨텍스트를 검색해 작업에 사용했는지 확인할 수 있다.
6.2. 분석: 백그라운드에서 신호를 추출하기
- 분석 단계는 트레이스를 백그라운드에서 읽고 팀이 중요하다고 정한 기준에 따라 신호를 추출하는 지능형 프로세스다.
- 추출한 신호는 미래 실행에서 참조할 메모리 저장소나 기준점(point of reference)으로 승격된다.
- LangSmith의 Context Hub는 분석 결과가 기록되는 원격 저장소로 설명된다.
- 에이전트는 다음 실행에서 Context Hub의 갱신된 내용을 다시 가져온다.
6.3. 금융 에이전트에 적용한 read-write 루프
- 실행 전 컨텍스트 로드
- Context Hub에서 지침·스킬·관련 Markdown 파일·정책·규칙을 불러온다.
- 이 자료가 작업 기억을 구성하고 말투와 행동을 안내한다.
- 실행 중 트레이스 생성
- 실패한 도구 호출과 사용자의 수정이 트레이스에 남는다.
- 원하는 말투에서 벗어난 발화도 신호 후보로 기록된다.
- 패턴 탐색과 정적 스킬 수정
- 분석 엔진이 반복되는 패턴을 찾는다.
- Context Hub의 정적 스킬 Markdown 파일 중 바꾸거나 승격할 파일을 식별한다.
- 해당 파일을 갱신해 다음 실행이 새로운 규칙을 참조하게 만든다.
- 다음 실행에서 검증
- 갱신된 컨텍스트를 읽은 다음 실행에서는 사용자와 상호작용하는 말투가 달라진다.
- 같은 오류가 다시 발생하는지 확인해 메모리 갱신이 실제 행동 변화로 이어졌는지 검증한다.
7. 메모리 설계에서 지켜야 할 세 가지 원칙
7.1. 모든 에이전트 배출물(exhaust)을 기억시키지 않는다
- 에이전트는 실행마다 엄청난 양의 배출물과 피드백을 만든다.
- 그중 무엇이 중요한지 결정하는 세부 설계가 메모리 시스템의 핵심이다.
- 대부분의 트레이스 데이터는 참조 가능한 이력으로 남는다.
- 일부 데이터는 오프라인 평가용 데이터 세트가 된다.
- 아주 작은 부분만 에이전트 메모리를 바꾸는 업데이트가 된다.
- 기억시킬 기준은 팀이 중요하게 여기는 품질·정책·행동 목표에서 출발해야 한다.
7.2. 장기 실행 에이전트의 캐시와 hot path를 점검한다
- 최적화된 실행 시스템과 메모리 저장소를 hot path에서 갱신할 수 있는 시스템 사이에는 긴장이 생긴다.
- 오랜 시간 실행되는 백그라운드 에이전트는 초기에 메모리를 갱신해도 런타임 상태나 접근 방식 때문에 이후 실행에서 갱신을 읽지 못할 수 있다.
- 메모리 갱신이 보이지 않는다면 저장 실패라고 단정하기 전에 캐시된 내용과 캐시되지 않는 내용을 확인해야 한다.
- 업데이트가 실제 미래 실행에 사용 가능한지, 어느 시점에 hot path로 들어오는지 명시적으로 설계해야 한다.
7.3. 자동 갱신과 인간 검토의 경계를 정한다
- Open Code, Hermes Agent처럼 스스로 업데이트하는 에이전트가 널리 알려지면서 무엇을 자동 갱신할지 결정하는 문제가 중요해졌다.
- 모든 메모리를 같은 수준으로 자동 커밋해서는 안 된다.
- 지침·정책·말투 가이드 같은 절차적 메모리는 에이전트 행동의 약 **75%**를 좌우할 수 있다.
- 이 영역은 인간이 검토하는 절차와 인간의 개입 지점을 두는 편이 안전하다.
- 절차적 메모리에 제안된 변경을 사람에게 보여준 뒤 실제 커밋해야 한다.
- 평가(evals)로 중요한 행동을 보호하고 검증된 변경만 에이전트의 hot-reload 경로에 넣어야 한다.
- 자동화의 목표는 인간 검토를 없애는 것이 아니라 검토할 가치가 있는 신호를 정확히 표면화하는 것이다.
주요 발언 모음
“트레이스는 무슨 일이 일어났는지를 보여주는 증거다. 그 교훈이 에이전트가 미래 실행에서 참조할 수 있는 내구성 있는 컨텍스트로 변환될 때 비로소 메모리가 된다.”
“관찰 가능한 에이전트는 무슨 일이 일어났는지 알려준다. 적응 가능한 에이전트는 다음 실행에서 스스로를 바꾸고 안내할 수 있다.”
“메모리는 실행에 정보를 제공하고, 실행은 증거를 만들며, 우리는 그 증거를 필터링해 신호로 만들고, 그 신호로 메모리를 갱신한다.”
“모든 트레이스 데이터가 메모리 업데이트가 되어서는 안 된다.”
“메모리는 정보를 저장하는 장소 이상이다. 경험이 컨텍스트가 되는 방식이며, 그 컨텍스트가 다음 실행을 개선할 기회를 만든다.”
핵심 데이터 & 수치
- 6개 메모리 요소: 사실, 선호, 패턴, 과거 사례, 스킬, 지침.
- 3가지 메모리 분류: 의미 기억(사실·선호), 일화 기억(패턴·과거 상호작용·사례), 절차적 기억(지침·스킬·규칙).
- 3단계 구현 추상화: 경험 포착(capture), 중요 신호 분석(analyze), 미래용 컨텍스트 갱신(update).
- 약 75%: 지침·정책·말투 가이드 같은 절차적 메모리가 에이전트 행동을 좌우할 수 있다고 제시된 비중.
- 장기 기억과 작업 기억: 장기 기억은 미래 실행을 위한 내구성 있는 저장소이고 작업 기억은 현재 실행의 scratch pad·도구 결과·검색 파일이다.
- 신뢰성 조건: 대부분의 트레이스는 이력·평가 데이터로 남기고 작은 신호만 장기 메모리로 승격해야 한다.
결론 및 시사점
- 에이전트 품질을 실행 횟수에 따라 높이려면 로그 수집과 메모리 갱신을 하나의 폐쇄 루프로 설계해야 한다.
- 트레이스에 도구 호출·검색 컨텍스트·사용자 수정·실패를 남기고 반복되는 패턴만 선별해 미래 컨텍스트로 바꿔야 한다.
- 의미·일화·절차적 기억을 분리하면 어떤 변화가 무엇을 개선했는지 추적하기 쉽다.
- 작업 기억과 장기 기억을 분리해야 컨텍스트가 불필요하게 비대해지는 것을 막을 수 있다.
- 메모리 업데이트가 실제 다음 실행에서 읽히는지 캐시·런타임 상태·hot path를 검증해야 한다.
- 절차적 메모리는 행동의 핵심을 바꾸므로 자동 생성된 변경을 인간에게 보여주고 평가한 뒤 커밋해야 한다.
- 최종 목표는 더 많은 정보를 쌓는 것이 아니라 경험을 정확한 컨텍스트로 바꿔 다음 실행이 실제로 더 나아지게 하는 것이다.
핵심 요약 (20줄)
- AI 에이전트의 메모리는 실행 기록을 다음 실행의 행동을 바꾸는 내구성 있는 컨텍스트로 변환하는 장치다.
- 코딩·지원·리서치 에이전트는 한 번의 실행에서 얻은 경험이 다음 실행을 개선해야 한다는 공통 요구를 가진다.
- 금융 서비스 에이전트는 규제된 환경에서 조언형 말투와 지시형 말투를 구분해야 한다.
- “지출 한도를 설정하라”와 “구독을 취소하고 저축하라”는 말투의 개입 수준이 서로 다르다.
- 트레이스를 사람이 읽고 컨텍스트를 고치는 수동 교정은 회귀 검사까지 필요해 규모 확장이 어렵다.
- 관찰 가능성은 도구 호출·추론·아티팩트를 보여주지만 미래 행동을 자동으로 바꾸지는 않는다.
- 잘못된 스킬이나 지침이 컨텍스트에 남아 있으면 같은 실수가 여러 실행에서 반복된다.
- 트레이스는 일어난 일을 증명하고 교훈이 장기 컨텍스트로 바뀔 때 메모리가 된다.
- 사실과 선호는 의미 기억, 패턴과 과거 사례는 일화 기억, 지침과 스킬은 절차적 기억에 속한다.
- 절차적 기억은 에이전트가 사용자와 상호작용하는 방식을 직접 바꾸므로 가시적인 개선을 만든다.
- 작업 기억은 현재 실행의 scratch pad·도구 결과·검색 파일이고 장기 기억은 미래 실행을 위한 저장소다.
- 장기 기억은 프롬프트·도구·저장소·파일·런타임 상태 등 여러 방식으로 작업 기억에 주입된다.
- 에이전트는 실행 전에 관련 장기 컨텍스트를 읽고 실행 중 새로운 트레이스를 생성한다.
- 모든 트레이스를 장기 기억으로 만들면 정보가 과도해져 미래 추론이 오히려 어려워진다.
- 대부분의 트레이스는 이력으로 남고 일부는 오프라인 평가 데이터가 되며 작은 부분만 메모리를 갱신한다.
- 메모리 플라이휠은 메모리 제공·실행·증거 생성·신호 필터링·장기 기억 갱신의 순서로 작동한다.
- LangSmith는 관찰 가능성으로 경험을 포착하고 Context Hub에서 백그라운드 분석 결과를 미래 컨텍스트로 제공한다.
- 장기 실행 에이전트는 캐시와 런타임 상태 때문에 초기에 갱신한 메모리를 다음 실행에서 못 읽을 수 있다.
- 지침·정책·말투 가이드는 행동의 약 75%를 좌우할 수 있어 자동 업데이트 전에 인간 검토와 평가가 필요하다.
- 메모리의 목적은 정보를 많이 저장하는 것이 아니라 경험을 컨텍스트로 바꿔 다음 실행이 실제로 더 나아지게 하는 것이다.
