URL: https://www.youtube.com/watch?v=KtBivPzmOM8
날짜: 2026-10-17
채널: AI Engineer (@aiDotEngineer)
메타데이터
| 항목 | 값 |
|---|---|
| 원제 | Memory-Aware Agent Harnesses for Anti-Money Laundering — Nacho Martinez, Oracle |
| 발표자 | Nacho Martinez |
| 소속 | Oracle |
| 채널 | AI Engineer (@aiDotEngineer) |
| 영상 ID | KtBivPzmOM8 |
| 영상 길이 | 51분 48초 |
| 발행일 | 2026-10-17 |
📌 핵심 질문 / 이 발표가 다루는 핵심 논점
==고정된 프론티어 모델 자체보다 메모리·컨텍스트·도구·실행 루프를 설계하는 에이전트 하네스가 실제 업무 성능을 결정한다.==
- 동일한 모델도 저장 방식, 기억의 분류, 검색 전략, 에이전트 루프에 따라 특정 과제에서 더 나아지거나 나빠질 수 있다.
- 긴 컨텍스트를 전부 싣지 않고 필요한 기억·도구·스킬만 검색해 조립해야 추론 품질과 비용을 함께 관리할 수 있다.
- 자금세탁 방지(AML) 에이전트는 거래를 자율 분석해 의심 징후를 기록하되, 사람의 검토 없이 고객 계좌를 차단하는 식으로 판단을 확정하지 않는다.
은행의 이상 거래를 자동으로 분석하는 에이전트는 단순한 모델 호출이 아니라 지속적인 데이터 접근, 기억 회수, 도구 실행, 컨텍스트 관리로 구성된다. 모델은 제공자가 통제하므로 교체·수정 여지가 제한되지만, 그 주위를 둘러싼 하네스는 업무에 맞게 직접 설계할 수 있다. 단기·장기 기억, 벡터 검색, 데이터베이스, 스킬·도구 선택, 컨텍스트 요약과 루프 제한을 작게 조합해 사람의 조사 시간을 줄이되 최종 확인은 담당자에게 남기는 방식이 핵심이다.
1. AML 워크숍의 문제 정의와 운영 맥락
1.1. 워크숍 진행 방식과 발표자
-
한 시간 세션에서 이론과 실습을 결합한다.
- 처음 10~15분가량 에이전트 스택과 하네스의 핵심 개념을 짚고, 나머지 시간은 참가자가 실습 환경에서 직접 구현하도록 구성한다.
- QR 코드 또는 workshopwaitingroom.com에서 GitHub 계정으로 등록하면 저장소 초대가 자동으로 발급되고, GitHub Codespaces에서 실습 환경을 연다.
- 발표자는 도메인 구입에 돈을 많이 썼으니 사이트를 이용해 달라는 농담을 덧붙인다. 동료 Richmond가 참석자 테이블을 돌며 코드 접근과 실습 문제를 돕는다.
- Codespaces 하드웨어는 비용이 들기 때문에 인스턴스 사양을 신중히 선택해야 하지만, 실습 비용은 발표자가 부담한다고 안내한다.
-
발표 배경은 AI 개발과 데이터 과학이다.
- Nacho Martinez는 Oracle 소속 AI 개발자 옹호자(developer advocate)이자 데이터 과학자다.
- 적응형 AI 에이전트를 다루는 Andrew Ng 및 DeepLearning.AI와의 무료 1시간 강좌를 소개하며, 모델이 시간에 따라 적응하고 학습하는 내용에 관심 있는 사람에게 후속 학습 경로를 제시한다.
- 금융업과 월스트리트 종사자가 많이 참석할 것으로 예상해 범용 에이전트 이야기를 중형 은행의 AML 업무 사례에 맞춰 구성한다.
1.2. 중형 은행의 이상 거래 탐지
-
은행은 여러 유형의 거래를 자율적으로 분류해 사람의 조사 부담을 낮추려 한다.
- 실습의 은행은 다섯 가지 유형의 의심 거래를 다루며, 에이전트는 거래 데이터를 계속 읽고 이상 징후를 찾아낸다.
- 위험 거래를 자동으로 판정해 사람의 검토 후보로 올리면 담당자가 모든 거래를 처음부터 살펴보는 시간을 줄일 수 있다.
-
큰 입금 뒤 이어지는 분할 현금 인출은 의심 신호가 될 수 있다.
- 계좌에 100만 달러가 입금되고, 그 뒤 3일 동안 ATM에서 매일 5만 달러씩 인출되는 패턴은 입금 규모와 인출 방식의 불일치 때문에 의심스럽다.
- 에이전트의 목표는 “수상하다”는 표시와 근거를 남기는 것이다. 근거 없이 계좌 전체를 막아 고객의 삶을 망가뜨리는 자동 조치는 하지 않는다.
- 24시간 작동하는 에이전트가 분석 자료와 의심 활동 보고서(Suspicious Activity Report)를 만들어 두면, 은행 직원이 이후 검토·조사 과정에서 활용할 수 있다.
2. 에이전트 스택과 하네스의 제어 지점
2.1. 에이전트형 시스템은 자동화와 자율성을 결합한다
-
AI 애플리케이션은 챗봇, RAG, LLM 워크플로, 에이전트라는 네 가지 형태로 구분할 수 있다.
- 챗봇은 사용자와 대화하는 가장 단순한 인터페이스이고, 검색 증강 생성(RAG)은 검색 결과를 모델 응답에 붙이는 구조다.
- LLM 기반 워크플로는 정해진 단계의 자동화를 제공하고, 에이전트는 목표를 향해 다음 행동을 자율적으로 선택한다.
- Claude Code, Codex, OpenClaw, Hermes Agent 같은 도구는 워크플로 자동화와 에이전트 자율성을 함께 이용하는 에이전트형 시스템이다.
-
자동화와 자율성의 조합은 채팅만으로는 처리하기 어려운 일을 맡는다.
- 자동화는 반복되는 절차를 수행하고, 자율성은 주어진 목표와 결과에 따라 다음 행동을 선택한다.
- 사람을 중간에 두지 않고 오랜 시간 계산하는 작업은 컨텍스트와 메모리 부족을 견디도록 하네스가 설계돼야 한다.
- 에이전트는 챗봇이나 RAG만 제공하는 것보다 절차를 실행하고 결과를 만드는 형태로 활용될 때 강점을 발휘한다.
2.2. 에이전트의 구성요소와 인간의 비유
-
언어 모델은 추론을 맡고, 주변 구성요소가 기억과 행동을 보완한다.
- 인간의 뇌에 해당하는 추론은 LLM이 수행한다.
- 데이터베이스와 메모리 계층은 과거 경험과 정보를 기억하는 역할을 하고, 도구는 인간의 팔다리처럼 운영체제·데이터베이스·외부 서비스와 상호작용한다.
- 입력은 인간의 감각처럼 세계에서 정보를 받아들이며, 컨텍스트 창(context window)은 주의를 기울일 수 있는 범위에 해당한다.
-
컨텍스트 제한은 사람의 주의 제한과 비슷하다.
- 사람이 영화 일곱 편을 동시에 보고도 어느 하나에 집중할 수 없는 것처럼, 모델도 컨텍스트에 너무 많은 정보를 넣으면 중요한 정보에 집중하기 어렵다.
- 인간이 상황에 따라 암묵적으로 이해하는 맥락과 선행 조건처럼, 에이전트에도 명시적으로 말하지 않은 사용자 선호·업무 맥락을 전달하는 의미 계층(semantic layer)이 필요하다.
2.3. 하네스와 데이터 계층
-
하네스는 도구 사용, 기억, 인식·입력 처리에 필요한 비계(scaffolding)다.
- 에이전트 하네스는 모델 주변에서 도구를 호출하고, 적절한 기억을 선택하며, 입력을 정리하는 구성요소를 묶는다.
- 프론티어 모델의 가중치와 추론 방식은 제공자의 영역이어서 직접 제어하기 어렵지만, 데이터 계층과 하네스는 엔지니어가 조절할 수 있다.
- 따라서 같은 모델도 저장·검색·루프·컨텍스트 구성을 바꾸면 특정 과제에서 더 나은 결과를 내거나 악화될 수 있다.
-
하네스의 구성 결정은 데이터 처리 전 과정에 걸쳐 있다.
- 메모리를 어디에 저장할지, 어떤 형식으로 인코딩할지, 두 벡터의 거리를 어떻게 계산해 회수할지 결정해야 한다.
- 기억을 단기·장기로 구분할지, 에피소드·절차·의미라는 별도 칸으로 나눌지 정해야 한다.
- 검색 게이트웨이와 MCP를 통해 외부 데이터에 연결하고, 에이전트 루프와 컨텍스트 엔지니어링으로 무엇을 언제 모델에 보낼지 구성한다.
- 연속 학습까지 포함하면 하네스의 핵심 구성요소는 일곱~여덟 가지로 확장되며, 단일 정답보다는 업무에 맞춘 선택이 중요하다.
3. 파일·데이터베이스·메모리 설계
3.1. 파일과 데이터베이스는 용도에 맞춰 함께 쓴다
-
파일은 비정형 자료에 강하고, 데이터베이스는 동시성·일관성·트랜잭션에 강하다.
- 에이전트에게 모든 정보를 파일로 저장하면 한 달 뒤 저절로 성능이 좋아질 것이라는 식의 파일 만능론은 적절하지 않다.
- 반대로 모든 것을 데이터베이스에 넣는 데이터베이스 만능론도 업무 특성과 자료 형태를 무시한다.
- 파일은 큰 비정형 내용을 보관하는 데 편리하고, 구조화된 조회·변경·공유가 필요한 데이터에는 데이터베이스가 적합하다.
-
공유 파일의 동시 쓰기 문제는 워크트리와 트랜잭션으로 구별해 다뤄야 한다.
- 여러 에이전트가 같은 파일을 동시에 바꾸면 누가 먼저 썼는지, 다른 에이전트가 변경 전 버전을 읽었는지 알기 어려워 일관성 문제가 생긴다.
- 코드 작업에서는 워크트리(worktree)가 에이전트별 작업 공간을 나눠 충돌을 줄이는 우회책으로 쓰인다.
- 다만 격리된 쓰기와 내구성, 트랜잭션 일관성이 필요한 경우 데이터베이스의 ACID 성질은 이미 오래전부터 해결책을 제공해 왔다.
- 자료 성격에 따라 파일과 데이터베이스를 조합하며, 하나만 선택하도록 강제하지 않는다.
3.2. 단기·장기 기억과 장기 기억의 세 유형
-
단기 기억은 현재 대화의 작업 컨텍스트에 해당한다.
- 현재 컨텍스트 창에 들어 있는 정보는 진행 중인 대화에서만 쓸 수 있고, 새 대화를 열면 대부분 사라진다.
- 컨텍스트 창은 용량이 제한되어 있어 모든 대화와 자료를 계속 쌓아 둘 수 없다.
-
장기 기억은 회수할 자료의 성격에 따라 나눌 수 있다.
- 에피소드 기억(episodic memory)은 과거 대화, 도구 실행 로그, 이전 세션 기록과 그 요약을 보관한다.
- 절차 기억(procedural memory)은 스킬, 워크플로, 반복 실행할 작업 순서를 담는다.
- 의미 기억(semantic memory)은 사용자 신원·선호·즐겨 쓰는 프레임워크처럼 명시적으로 말하지 않아도 여러 업무에서 유효한 배경 정보를 저장한다.
- 기억 계층의 분류와 저장 방식은 엔지니어가 업무에 맞춰 설계한다.
3.3. 컨텍스트 품질과 요약·컴팩션
-
큰 컨텍스트 창이 곧 더 좋은 추론을 의미하지 않는다.
- 발표에서 언급한 연구 사례에 따르면 컨텍스트가 비어 있거나 짧을 때보다 256,000 토큰을 채운 상태에서 문제를 풀면 정확도가 낮아질 수 있다.
- 모델의 광고상 한도가 KV cache를 통해 100만 토큰까지 늘어나더라도, 한도에 도달하기 전부터 컨텍스트가 커질수록 성능이 크게 떨어질 수 있다.
- 중요한 것은 가능한 한 많은 정보를 넣는 일이 아니라 당면한 문제에 필요한 유효 정보만 유지하는 일이다.
-
컨텍스트 요약과 컴팩션은 서로 다른 방식으로 이전 정보를 보존한다.
- 컨텍스트 요약(context summarization)은 지금까지의 대화를 짧은 요약으로 만들고, 다음 대화를 그 요약에서 이어 가게 한다.
- 컴팩션(compaction)은 대화 청크를 파일이나 데이터베이스에 저장하고 각 청크에 ID를 붙여, 나중에 필요한 부분을 ID와 오프셋으로 다시 읽는다.
- 요약은 핵심을 압축해 새 작업 컨텍스트를 만들고, 컴팩션은 원문 조각을 외부에 보존해 선택적으로 회수한다.
4. 에이전트 루프·도구 검색·지속 학습
4.1. 에이전트 루프는 매 반복의 작업 범위를 제어한다
-
루프는 필요한 컨텍스트를 모으고 모델의 다음 행동을 반복 실행한다.
- 컨텍스트 조립(context assembly)은 스킬, 도구, 과거 대화, 파일, 데이터베이스에서 현재 문제에 필요한 정보를 동적으로 모은다.
- 조립된 입력을 모델 API에 보내 추론하고, 모델이 정한 다음 행동을 도구로 실행한 뒤 결과에 따라 다시 컨텍스트를 구성한다.
- 이 과정은 설정에 따라 반복되며, 사람이 중간에 개입하지 않는 자율 실행도 가능하다.
-
루프의 실행 한도는 제품·비용·위험에 맞춰 설정한다.
- 실습에서는 비용이 무제한으로 늘어나는 것을 막기 위해 최대 8회 반복으로 제한했다.
- 각 반복의 추론 시간은 최대 60초로 잡았다.
- 이 값은 고정 규칙이 아니며, 에이전트가 풀 문제의 복잡도와 허용 비용에 따라 조정한다.
4.2. 도구함과 스킬함은 필요한 기능만 동적으로 불러온다
-
수많은 스킬과 도구를 매 요청마다 전부 컨텍스트에 넣지 않는다.
- 설치된 스킬이 100개이고 각 스킬이 3,000~5,000 토큰이라면 전체를 한꺼번에 넣는 순간 실제 사용자 요청을 위한 여유가 크게 줄어든다.
- 셸 명령이나 디렉터리 이동도 도구 호출이며, 도구와 스킬은 실제 컨텍스트의 큰 비중을 차지할 수 있다.
- 발표자는 도구·스킬이 어떤 경우 컨텍스트의 50%를 넘을 수 있다고 강조한다.
-
벡터 검색으로 현재 문제에 관련된 기능만 회수한다.
- 도구와 스킬 설명을 임베딩으로 변환해 별도 벡터 저장소에 둔다.
- 에이전트 루프가 필요한 순간 유사도 검색으로 관련 도구·스킬 후보를 찾고, 사용 후 다시 전체 컨텍스트에서 덜어낸다.
- 실습 설계는 도구와 스킬을 별도 벡터 저장소에 두고 각각 상위 세 개를 찾는 방식이다.
- 후보가 세 개여도 모든 작업에 세 개가 필요한 것은 아니므로, 리랭커(reranker)를 추가해 가장 관련성이 높은 하나를 고를 수 있다. 실습의 현재 구성에는 리랭커가 포함되지 않는다.
- 검색 개수와 리랭킹 여부는 업무에 맞춰 선택하고, 선택한 전략을 일관되게 유지한다.
4.3. 스킬 정제와 연속 학습
-
스킬 증류(skill distillation)는 이전 작업 경험을 재사용 가능한 절차로 바꾼다.
- 과거 에이전트 대화와 성공한 실행 기록에서 유용한 패턴을 뽑아 스킬 문서로 정리한다.
- 이 문서를 기존 스킬함에 넣고 임베딩해 두면, 다음 작업의 컨텍스트 조립 단계에서 적절한 스킬을 동적으로 찾을 수 있다.
- 예를 들어 프론트엔드 작업에서 선호한 색상 스타일을 문서화하면, 다음에 같은 스타일을 요청할 때 해당 스킬을 불러와 일관성을 유지할 수 있다.
-
가중치가 고정된 모델도 데이터 계층과 기억을 통해 개선할 수 있다.
- 연속 학습(continual learning)은 파라미터 기억, 표현 기억, 비파라미터 기억의 세 범주로 설명된다.
- 파라미터 기억은 LoRA 같은 저랭크 적응이나 미세조정으로 신경망 가중치를 바꾸고, 표현 기억은 문제별 임베딩 표현을 개선한다.
- 비파라미터 기억은 이 발표에서 다룬 외부 메모리·검색·스킬·도구 구성에 해당한다.
- 프론티어 모델을 직접 바꾸지 못해도 데이터와 검색·하네스를 조정해 모델이 업무에 맞는 정보를 사용하도록 만들 수 있다.
4.4. 지시 계층으로 우선순위와 충돌을 정리한다
-
모델 입력에는 지시의 우선순위가 있다.
- 시스템 프롬프트가 가장 높은 우선순위를 가지며, 애플리케이션별 개발자 지시와 사용자 요청은 서로 다른 위치에서 전달된다.
- 사용자 요청은 시스템 메시지보다 낮은 세 번째 우선순위로 소개되고, 스킬과 도구 설명은 낮은 계층에 놓인다.
- 모든 규칙을 시스템 프롬프트 하나에 몰아넣기보다, 성격과 우선순위에 맞춰 시스템·개발자·사용자·도구/스킬에 분배한다.
- 하위 계층에 있는 스킬은 플러그인처럼 필요할 때 가져와 쓰도록 구성할 수 있다.
-
기억 간 충돌 여부는 회수 방식과 계층 가중치에 달려 있다.
- 과거 대화 기록이 현재 작업과 충돌하는지는 에피소드 기억에 부여한 가중치, 검색 방식, 기억 계층의 분리에 따라 달라진다.
- 이전 대화를 중요하게 회수해야 하는 사용 사례라면 원문 텍스트만 저장하는 대신 벡터화해 현재 질문과 가까운 기록을 찾을 수 있다.
- 기억 유형을 분명히 분리하면 과거 대화와 현재 지시가 뒤섞이는 문제를 줄일 수 있다.
5. AML 에이전트 실습과 현장 질의응답
5.1. 가짜 거래 데이터로 에이전트의 동작을 확인한다
-
에이전트는 백그라운드에서 거래를 읽고 조사 후보를 만든다.
- 실습 화면은 은행을 본뜬 가짜 거래 데이터를 사용하며, 정상 건과 문제 가능성이 있는 건이 계속 추가된다.
- 에이전트는 Oracle Cloud Infrastructure(OCI)의 모델과 데이터베이스에 연결해 거래를 분석하고, 의심 건을 목록에 올린다.
- 화면에서 에이전트의 컨텍스트, 데이터베이스의 고객·거래, 실시간 도구 호출과 분석 과정을 확인할 수 있다.
- 최근 은행 이벤트 30건을 시각화하고, 마지막에는 의심 활동 보고서를 자동으로 만드는 흐름을 보여준다.
-
코드 저장소와 노트북이 실습의 구현 경로다.
- workshopwaitingroom.com을 통해 GitHub 저장소 초대를 받고 Codespaces에서 학생용 노트북과 애플리케이션을 연다.
- 모델을 연결하고 데이터베이스에 접속하는 셀을 실행하며, 커널 재시작 같은 환경 문제도 실습 과정에서 처리한다.
- 전체 세션은 예상보다 빠르게 지나갔고, 이후 참가자들이 직접 작업하는 동안 발표자와 Richmond가 질의응답과 코드 지원을 맡는다.
5.2. 장기 기억·도구 캐시·컨텍스트 예산에 관한 질의
-
과거 대화는 필요한 경우에만 검색하고 적절한 기억 계층에 둔다.
- 에피소드 기억이 이전 대화 내용과 충돌하는 문제는 중요도 가중치와 명확한 기억 분리로 조절한다.
- 가장 단순한 시작은 단기 기억과 장기 기억 두 구조뿐이며, 현재 컨텍스트에서 오래 보존할 만한 정보를 원문 텍스트로 장기 기억에 승격한다.
- 필요성이 확인된 뒤 장기 기억을 임베딩하고, 관찰(observing)과 추론(reasoning) 사이에 회수 단계를 추가한다.
- 질문 임베딩과 기억 임베딩의 거리가 충분히 가까울 때만 컨텍스트에 넣고, 관련성이 낮으면 버린다.
-
도구·스킬의 큰 입력 비용은 동적 로딩과 시맨틱 캐시로 관리한다.
- 시스템 프롬프트만으로 모든 정보를 표현할 수 없고, 도구·스킬 설명과 검색 결과가 API 요청의 큰 부분을 차지한다.
- 한 요청 예시에서 시스템 지시는 약 5,000~10,000 토큰, 사용자 요청은 약 100~1,000 토큰이며, 도구 출력·검색 문서는 약 35,000~100,000 토큰에 이를 수 있다고 설명한다.
- 같은 도구·스킬 설명이 반복되는 부분을 시맨틱 캐시(semantic cache)가 재사용하면 비용을 줄인다. 캐시가 없으면 비용이 네다섯 배 더 들 수 있다는 추산이다.
- 비교 연구에서 Pi 하네스는 초기 요청에 약 6,000 토큰을 넣는 가장 간결한 사례였고, 일부 다른 하네스는 30,000~40,000 토큰에 달했다.
5.3. MCP, SQL, 하이브리드 검색
-
데이터베이스 MCP는 검증된 쿼리를 재사용해 SQL 오류를 줄일 수 있다.
- 에이전트가 모든 요청마다 SQL을 새로 만들게 하면 문법 환각과 실행 오류가 생긴다.
- PostgreSQL, Oracle Database 등 SQL 엔진은 대략 15종에 이르며, 힌트와 세부 문법 차이 때문에 한 데이터베이스에서 맞는 쿼리가 다른 환경에서 실패할 수 있다.
- 자주 쓰는 쿼리를 사전에 만들어 검증한 뒤 MCP를 통해 제공하면 에이전트가 매번 동적으로 쿼리를 조합할 필요가 없다.
-
키워드 검색과 의미 검색을 결합하면 더 다양한 관련 자료를 찾는다.
- 파일시스템의 정규식·키워드 검색은 정확한 단어를 찾는 데 유용하지만, 자료가 커질수록 파일을 훑는 비용이 커지고 검색 표현도 단어 일치에 치우친다.
- 스킬을 임베딩하면 사람이 문장만 읽어서는 알아채기 어려운 의미 관계를 벡터로 표현할 수 있다. 임베딩은 최소 384차원에서 1,000개 이상의 차원으로 구성될 수 있다.
- 의미 검색은 표현이 다른 비슷한 내용을 찾고, 키워드 검색은 정확한 단어 일치를 찾는다.
- 상호 순위 융합(Reciprocal Rank Fusion, RRF) 같은 하이브리드 검색은 두 검색 결과를 합친다. 계산량은 다소 늘지만 더 나은 검색 품질을 얻는다.
5.4. 작은 맞춤형 하네스를 업무별로 설계한다
-
범용 코딩 하네스를 대체하는 것이 목표는 아니다.
- Claude Code, Codex, Pi 같은 범용 도구가 이미 있으므로 모두가 새 범용 에이전트를 만들 필요는 없다.
- 재무 에이전트처럼 데이터·제약·업무가 분명한 좁은 문제를 위해 필요한 기능만 붙인 하네스를 만들 수 있다.
- 금융 컨설턴트는 금융 업무에 맞춘 하네스를 고객별 조건에 맞게 조정할 수 있고, 주식 문제나 수학 문제에는 다른 기억·검색·실행 제약이 필요하다.
-
문제에 불필요한 구성을 제거하면 더 작고 선명한 시스템을 만들 수 있다.
- 사람의 개입 없이 장시간 계산하는 수학 문제는 자동 컨텍스트 요약·컴팩션과 거의 무제한에 가까운 반복 인내가 필요하다.
- AML 실습은 비용과 운영 범위를 고려해 8회 반복 상한을 뒀으므로 같은 루프 구성을 모든 과제에 적용할 수 없다.
- 모델 API는 하네스에 붙이는 교체 가능한 플러그인으로 보고, 필요한 부분만 남기면 불필요한 구성을 최대 90%까지 덜어낼 수 있다.
- 완성된 대형 하네스를 복제하기보다 처음부터 특정 문제를 단순화하고 그 문제에 필요한 작은 하네스를 붙이는 것이 실용적이다.
- 실습 환경은 세션 이후에도 집에서 이용할 수 있으며, 에이전트 하네스 논의는 행사 기간 Oracle 부스에서 이어갈 수 있다.
주요 발언 모음
“모델은 바꿀 수 없는 부분이다. 실제로 개선할 수 있는 곳은 모델을 둘러싼 하네스다.”
“컨텍스트 창이 클수록 더 잘 푸는 것은 아니다. 작을수록 문제 해결이 나아질 수 있다.”
“모든 스킬을 한 번에 넣지 말고, 필요한 순간에 가장 관련 있는 스킬과 도구를 가져와라.”
“처음에는 단기 기억과 장기 기억 두 구조만으로 단순하게 시작하라.”
“작은 맞춤형 하네스는 모든 범용 도구를 다시 만드는 일이 아니라, 특정 문제에 불필요한 90%를 덜어내는 일이다.”
핵심 데이터 & 수치
- 세션 길이: 51분 48초이며, 이론 설명과 AML 실습 및 질의응답으로 이어진다.
- AML 예시: 100만 달러 입금 후 3일간 매일 ATM에서 5만 달러씩 인출하는 거래 패턴을 의심 사례로 든다.
- 거래 유형: 실습 시나리오는 의심 거래를 다섯 유형으로 분류한다.
- 루프 제한: 실습 에이전트는 최대 8회 반복하고 각 반복의 추론 시간을 최대 60초로 제한한다.
- 컨텍스트 크기: 256,000 토큰이 이미 차 있거나 최대 100만 토큰까지 확장된 경우에도 컨텍스트가 커질수록 성능이 낮아질 수 있다고 지적한다.
- 도구·스킬 규모: 스킬 100개가 각각 3,000~5,000 토큰이면 전부 싣기 어렵고, 도구·스킬은 컨텍스트의 50%를 넘을 수 있다.
- 검색 후보 수: 실습은 도구와 스킬을 별도 저장소에서 각각 상위 3개씩 찾고, 리랭커를 추가하면 그중 하나만 선택할 수 있다.
- 초기 요청 토큰: 비교 사례에서 Pi는 약 6,000 토큰, 다른 하네스는 약 30,000~40,000 토큰을 초기 입력으로 사용한다.
- API 요청 예시: 시스템 지시는 약 5,000~10,000 토큰, 사용자 요청은 약 100~1,000 토큰, 도구 출력·검색 결과는 약 35,000~100,000 토큰에 이를 수 있다.
- 캐시 효과: 반복되는 도구·스킬 설명을 캐싱하지 않으면 요청 비용이 네다섯 배 더 커질 수 있다고 추산한다.
- 임베딩 크기: 임베딩 표현은 최소 384차원부터 1,000개 이상 차원까지 가능하다.
- 워크숍 UI: 은행에서 발생한 최근 30개 이벤트를 표시하고 의심 활동 보고서를 만든다.
- 하네스 단순화: 문제별로 불필요한 구성을 제거하면 범용 하네스의 최대 90%를 덜어낼 수 있다.
결론 및 시사점
- 에이전트 성능을 모델 성능만으로 평가하지 말고, 기억·검색·도구·루프·컨텍스트를 포함한 하네스 전체로 평가한다.
- 파일과 데이터베이스의 장점을 구별하고, 비정형 기억은 파일에 보관하되 동시성·트랜잭션이 중요한 자료는 데이터베이스에 맡긴다.
- 단기 기억과 장기 기억 두 구조부터 시작하고, 장기 기억의 가치와 회수 필요성을 확인한 뒤 에피소드·절차·의미 분류와 임베딩을 추가한다.
- 컨텍스트 용량을 무작정 늘리지 말고, 요약과 컴팩션으로 작업에 필요한 정보만 남긴다.
- 스킬과 도구를 전부 로딩하는 대신 관련성 검색과 선택적 리랭킹을 사용해 컨텍스트 예산을 관리한다.
- 자율 AML 에이전트는 24시간 분석과 조사 준비를 맡기되, 사람의 검토 없이 계좌 차단과 같은 중대한 결정을 확정하지 않도록 한다.
- 범용 에이전트의 복제품을 만드는 것보다 업무의 데이터·정책·위험에 맞춘 작은 하네스를 설계하고 반복적으로 개선한다.
20줄 핵심 요약
-
AI 모델 자체를 바꾸지 않아도 하네스의 메모리·컨텍스트·도구 구성을 바꾸면 같은 모델의 업무 성능을 달리할 수 있다.
-
AML 에이전트는 중형 은행의 거래를 24시간 분석하되 의심 건을 즉시 차단하지 않고 담당자가 검토할 기록으로 올려야 한다.
-
100만 달러 입금 뒤 3일 동안 ATM에서 매일 5만 달러를 인출하는 패턴은 분할 인출 위험을 포착하는 사례다.
-
에이전트형 시스템은 LLM 워크플로의 자동화와 에이전트의 자율성을 결합해 대화형 챗봇·RAG보다 넓은 실행을 지원한다.
-
에이전트의 추론은 언어 모델이 맡고, 데이터베이스형 기억·도구·입력 감각과 제한된 주의에 해당하는 컨텍스트가 실행을 보완한다.
-
하네스는 에이전트가 사용할 도구·기억·인식을 둘러싼 비계를 구성하므로 모델 공급자보다 직접 조정 가능한 데이터 계층이 중요하다.
-
여러 에이전트가 같은 파일을 쓰면 일관성 충돌이 생기므로 비정형 자료는 파일에, 동시성·트랜잭션은 데이터베이스에 맡기는 혼합 구성이 적합하다.
-
단기 기억은 현재 대화 컨텍스트에, 장기 기억은 에피소드·절차·선호와 배경 지식을 나누어 저장할 수 있다.
-
컨텍스트가 256k 또는 100만 토큰까지 늘어도 주의 행렬 부담으로 성능이 하락하므로 유효 정보량을 작게 관리해야 한다.
-
요약은 대화 내용을 축약해 새 출발점을 만들고, 컴팩션은 원문 청크를 ID로 저장해 필요할 때 부분 검색한다.
-
에이전트 루프는 메모리·스킬·도구·파일·DB에서 필요한 자료만 조립해 모델을 호출하고 다음 행동을 반복하며 8회·회당 60초 같은 상한을 둔다.
-
100개 스킬이 각각 3천~5천 토큰이라면 전부 불러올 수 없으므로, 임베딩 유사도 검색으로 현재 과제와 가까운 스킬·도구를 동적으로 가져와야 한다.
-
반복된 작업 대화를 스킬 문서로 정제하고 임베딩해 스킬함에 넣으면 특정 취향과 성공 절차를 다음 과제에서 재사용할 수 있다.
-
지속 학습은 가중치 조정, 표현 임베딩 개선, 외부 메모리 활용으로 나뉘며, 하네스 설계는 비파라미터 기억을 통해 고정 모델의 행동을 개선한다.
-
시스템·개발자·사용자 지시의 우선순위를 분리하고 스킬·도구를 하위 계층에 두면 기억 충돌과 실행 모호성을 줄일 수 있다.
-
검색된 이전 대화를 곧바로 넣기보다 관련도 점수를 적용하고 짧은 메모리를 텍스트로 보존한 뒤 필요할 때 장기 기억으로 승격해야 한다.
-
MCP는 스키마 차이가 큰 SQL을 매번 생성하게 하는 대신 검증된 쿼리를 노출해 데이터베이스 질의의 환각과 실행 오류를 줄일 수 있다.
-
키워드 검색과 의미 임베딩 검색을 RRF 하이브리드로 합치면 계산량은 늘지만 의미와 정확 표현을 함께 포착해 검색 품질이 향상된다.
-
시스템 프롬프트 기준으로 6천 토큰의 경량 하네스와 3만~4만 토큰을 싣는 하네스가 공존하며, 캐시는 반복되는 도구·스킬 토큰 비용을 줄인다.
-
범용 코딩 에이전트를 다시 만들기보다 금융·수학 등 특정 업무에서 필요 없는 구성요소를 덜어낸 작은 맞춤 하네스를 만들어야 한다.
