백엔드 개발자의 AI 비서 만들기 (3편) — "저번에 말한 거 기억해?"
목차
TL;DR
- 문제: Claude는 대화가 끝나면 리셋. 어제 한 얘기를 오늘 또 처음부터 해야 했습니다
- 실패 1: 대화 전체를 시스템 프롬프트에 붙여넣기 → 4주 만에 토큰 폭발
- 실패 2: MEMORY.md 하나에 요약 누적 → 20KB 돌파 후 에이전트가 죽었습니다
- 성공: LanceDB 벡터 DB + 유사도 검색 → 관련 것만 꺼내서 주입
- 결과: 발표 전날 아침, Jarvis가 먼저 “내일 기술 공유 세미나가 있습니다”라고 말을 걸었습니다
발표 전날 아침에 벌어진 일
3월 어느 수요일 오전 8시, 아침 브리핑이 왔습니다.
Jarvis → #jarvis-morning
내일 팀 기술 공유 세미나가 있습니다 (오후 2시).
2월에 정리하셨던 Virtual Thread + HikariCP 데드락 건이 발표 주제로 적합해 보입니다:
- 재현 조건: JDK 21 Virtual Thread 100개 병렬 조회 + HikariCP 풀 10개
- 핵심 해결: 커넥션 풀 10→50 조정, 병렬 조회 제한, 타임아웃 설정
- 2월 중순에 정리해두신 코드 예시가 있습니다. 필요하시면 꺼내드리겠습니다
발표 자료 구성 도움이 필요하시면 말씀해주세요.
저는 이 메시지를 보내달라고 요청하지 않았습니다.
Jarvis가 스스로 오늘 날짜를 확인하고, RAG에서 “기술 공유 세미나 3월 XX일”이 담긴 청크를 꺼내고, 2월에 나눴던 데드락 분석 대화까지 합쳐서 정리해서 보낸 겁니다.
기억이 있어야 챙길 수 있다는 걸 이날 실감했습니다. 그 기억을 만드는 데 두 번 실패가 있었습니다.
기억이 없는 AI와 일한다는 것
Jarvis v0.1이 동작한 첫 날, 이런 대화를 했습니다.
나 → #jarvis-work
오늘 Spring Batch 리팩토링 마무리했어. Tasklet → Chunk 방식으로 바꿨고 트랜잭션 경계 정리 완료.
Jarvis
수고하셨습니다. 이후 성능 측정도 해보시면 좋겠습니다.
다음 날 다시 물었습니다.
나 → #jarvis-work
어제 Batch 리팩토링한 거 기억해? 성능 개선 수치 나왔는데 얘기하고 싶어.
Jarvis
죄송합니다, 이전 대화 내용에 접근할 수 없습니다. 어떤 Batch 작업을 리팩토링하셨는지 다시 설명해주시면 분석해드리겠습니다.
예상은 했지만, 막상 겪으니 불편함이 생각보다 컸습니다. 단순히 기억이 없다는 게 아니라, 매 대화마다 “저는 백엔드 9년차이고, SK D&D에서 IoT 플랫폼 개발 중이고, 현재 이직 준비 중이고…”를 처음부터 설명해야 한다는 게 문제였습니다. 그렇게 쓸 거면 Claude.ai 웹이랑 다를 게 없었습니다.
실패 1: 전체를 붙여넣기
가장 단순한 해결책부터 시도했습니다. 이전 대화를 텍스트 파일에 저장해두고, 다음 대화 시작 시 시스템 프롬프트에 전부 붙여넣는 방식.
“전부 넣으면 전부 기억하겠지.” 백엔드 9년을 하고도 이런 생각을 했습니다. DB에서 테이블 풀스캔 날리는 것과 같은 발상이었는데, 그때는 몰랐습니다.
처음 며칠은 잘 됐습니다.
문제는 쌓이면서 시작됐습니다.
| 경과 | 누적 대화량 | 응답 시간 | 현상 |
|---|---|---|---|
| 1주차 | ~8K tokens | 3~5초 | 정상 |
| 2주차 | ~25K tokens | 8~12초 | 체감 느림 |
| 3주차 | ~60K tokens | 20초+ | 종종 타임아웃 |
| 4주차 | ~90K tokens | 실패 | Max 컨텍스트 초과 |
한 달이 지나자 매 대화마다 90K 토큰짜리 과거 대화를 첨부하는 구조가 됐습니다. Claude Max 5시간 쿼터가 대화 몇 번 만에 다 닳고, 응답도 느렸습니다.
폐기했습니다.