작업 기억 에이전트: "어제 뭐 했지"에 0.1초로 답하는 도구
여러 AI 도구에서 한 작업을 따로 기록하지 않아도, 각 도구가 컴퓨터에 남긴 세션 기록을 읽어 무엇을 했고 다음에 무엇을 해야 하는지 답하는 도구를 만들었습니다.
- 분야업무 자동화
- 기간2026년 10월
- 도구Node.js(외부 패키지 없음), Claude Code, Codex
- 상태사용 중

AI 도구를 여러 개 쓰면 작업이 흩어집니다. 터미널의 Claude, 데스크톱의 Codex, 여러 에이전트를 나란히 띄우는 작업 환경에서 각각 다른 프로젝트를 진행하다 보면, 며칠 뒤에는 어디서 무엇을 어디까지 했는지 기억나지 않습니다. 이 문제를 풀려고 만든 도구입니다.
도구의 설명 문서와 소스 코드, 그리고 이 글을 쓰면서 직접 실행한 조회 결과와 테스트 결과입니다. 수치는 그때 실행해 얻은 값입니다.
풀려던 문제
요구 사항은 한 문장이었습니다. "내가 어떤 도구에서 무엇을 했는지 기억하고 있다가, 물어보면 바로 답하고 다음에 할 일을 말해 주는 에이전트."
작업 일지를 쓰게 하는 방식은 처음부터 제외했습니다. 일지는 쓰는 것을 잊는 순간 쓸모가 없어집니다. 대신 각 도구가 이미 이 컴퓨터에 남기고 있는 세션 기록을 읽기로 했습니다. 사용자는 아무것도 따로 기록하지 않습니다.
읽는 기록
| 도구 | 읽는 것 |
|---|---|
| Claude Code (터미널, 편집기, 데스크톱) | 프로젝트별 세션 기록 파일 |
| Codex (터미널, 데스크톱) | 세션 기록과 보관된 세션 |
| 여러 에이전트를 띄우는 작업 환경 | 그 환경이 띄운 세션과, 열었던 폴더 목록 |
| Claude 데스크톱의 협업 모드 | 제목과 첫 요청만 |
세션 기록마다 네 가지를 뽑습니다. 사용자가 친 요청, 에이전트의 마지막 답변, 바꾼 파일, 그리고 세션이 어떻게 끝났는지입니다.
실제로 조회한 결과
이 사례 페이지에 실을 프로젝트를 고르려고 "최근 60일에 한 일"을 물었습니다. 답은 이렇게 시작했습니다.
## 한 일 · 최근 60일
프로젝트 26개 · 세션 102개 · 요청 949건
그 아래에 프로젝트별로 세션이 묶여 나옵니다. 세션마다 제목, 어느 화면에서 했는지, 마지막으로 작업한 시각, 사용자의 요청 몇 줄, 에이전트의 마지막 답변, 바꾼 파일이 붙습니다. 지금 다른 창에서 돌고 있는 세션은 "지금 진행 중"으로, 답을 받지 못하고 끝난 세션은 "답 없이 끝남"으로 표시됩니다.
| 항목 | 값 |
|---|---|
| 색인에 들어 있는 세션 | 307 |
| 그중 자동 실행 세션 | 166 |
| 최근 60일의 프로젝트 | 26 |
| 최근 60일의 세션 (자동 실행 제외) | 102 |
| 최근 60일의 요청 | 949 |
이 페이지의 다른 사례들은 이 조회 결과에서 골랐습니다. 두 달 동안 26개 프로젝트에서 한 일을 기억으로 정리하는 것은 불가능했을 것입니다.
설계에서 정한 것
언어 모델 없이 답한다
조회 자체에는 AI 모델을 쓰지 않습니다. 기록을 읽어 색인을 만들고, 질문에서 기간, 도구, 프로젝트 이름, 검색어를 읽어 결과를 묶는 일은 모두 일반 코드가 합니다. 그래서 빠르고, 비용이 들지 않고, 같은 질문에 같은 답이 나옵니다.
| 동작 | 시간 |
|---|---|
| 전체 색인 다시 만들기 | 약 6초 |
| 그 뒤의 조회 (바뀐 파일만 다시 읽음) | 약 0.1초 |
외부 패키지를 하나도 쓰지 않은 Node.js 스크립트이고, 소스는 약 1,000줄입니다.
모델은 마지막에 한 번만 쓴다
"다음에 할 일"은 기계적으로 뽑으면 잡음이 섞입니다. 그래서 두 단계로 나눴습니다. 코드가 후보를 뽑고, 에이전트를 통해 물었을 때는 모델이 각 세션의 마지막 답변을 읽고 정말 손이 가야 하는 것 세 개 안팎으로 줄입니다.
후보를 뽑는 기준은 최근 7일 세션의 끝맺음입니다.
- 중단했거나 답을 받지 못하고 끝난 요청
- 에이전트가 사용자에게 질문하고 끝난 것
- 에이전트가 스스로 "못 했다" 또는 "남았다"고 적은 것
- 에이전트가 제안한 후속 작업, 커밋하지 않은 변경
어디서든 같은 방식으로 묻는다
도구마다 따로 익힐 필요가 없도록, 각 도구의 확장 기능으로 연결했습니다. Claude에서도 Codex에서도 "어제 뭐 했지? 다음엔 뭐 해야 해?"라고 그냥 물으면 됩니다. 터미널에서 직접 실행할 수도 있습니다.
기록은 컴퓨터 밖으로 나가지 않는다
세션 기록에는 업무 내용이 그대로 들어 있습니다. 그래서 읽기는 이 컴퓨터 안에서만 하고, 색인 파일은 저장소에 올리지 않도록 제외했습니다. 열쇠나 토큰처럼 보이는 문자열은 가려서 색인합니다.
검증
자동 테스트 9개가 모두 통과합니다. 이 글을 쓰면서 다시 실행해 확인했습니다. 만든 직후에는 Claude, Codex, 그리고 저희의 업무 에이전트 화면 세 곳에서 실제로 질문해 답이 나오는 것을 확인했습니다.
한계
- 웹과 모바일 채팅은 보이지 않습니다. 이 컴퓨터에 기록이 남지 않는 대화는 읽을 수 없습니다.
- 어느 화면에서 했는지는 추정입니다. 작업 환경이 연 폴더에서 실행된 터미널 세션이면 그 환경에서 한 것으로 봅니다.
- 질문 해석이 단순합니다. 이번 조회에서 "프로젝트별로 정리해 줘"라고 물었더니 "프로젝트별"을 검색어로 받아들여 엉뚱한 결과가 나왔습니다. "최근 60일에 한 일"처럼 짧게 물어야 했습니다.
- 가림 처리가 완벽하지 않습니다. 규칙이 놓치는 형식이 있을 수 있어, 조회 결과를 밖으로 옮길 때는 사람이 한 번 더 확인해야 합니다.
- "다음에 할 일"에는 이미 끝난 일이 섞입니다. 모델이 걸러 주지만, 최종 판단은 사람이 합니다.
이 작업에서 가져갈 것
자동화가 꼭 AI 모델을 뜻하지는 않습니다. 이 도구에서 가장 쓸모 있는 부분은 모델 없이 도는 색인과 조회이고, 모델은 마지막에 결과를 추리는 데만 씁니다. 정해진 규칙으로 할 수 있는 일은 코드로 하고, 판단이 필요한 자리에만 모델을 두는 방식은 저희 업무 에이전트를 설계하는 기준이기도 합니다.