루프 엔지니어링, AI에게 기억을 파일로 넘기는 법
새 대화를 열 때마다 AI는 지난주에 정한 방식도, 이미 처리한 파일도 기억하지 못합니다. 회사의 방식을 적은 매뉴얼, 어제까지의 진행을 적은 상태 파일, 같은 지시를 되풀이하는 러너로 AI가 매주 같은 보고서를 이어서 만들게 하는 루프 엔지니어링 마지막 편.
3주 동안 매주 새 대화를 열고 1편에서 쓴 한 줄을 그대로 넣어 봅니다. "이번 주 주간 보고서 만들어줘." 처음에는 폴더에 1주차 대리점 파일만 있고, 2주차와 3주차에는 그 주의 파일이 더해집니다. 이렇게 만든 3개의 보고서를 나란히 놓고 보고서가 어떻게 서로 다르게 나오는지 확인합니다. 제목과 절 구성, 용어, 금액 단위와 반올림이 보고서마다 같은지, 3주차 보고서가 1·2주차 파일까지 다시 집계하지는 않았는지, 금액을 천 원 단위로 보내는 한 대리점을 매주 처음부터 다시 살펴 보고서마다 다른 방식으로 바꿔 계산하지는 않았는지 봅니다.
새 대화의 에이전트는 지난주 대화에서 스스로 정한 방식도, 이미 처리한 파일도 알지 못합니다. 지난 편에서 멈춘 루프를 다시 열었을 때 채널 담당의 결정과 반려 기록을 넘겨받지 못한 것도 같은 이유입니다. 시리즈의 마지막인 이번 편에서는 회사의 방식을 적은 매뉴얼과 어제까지의 진행을 적은 상태 파일에 이 내용을 남기는 방법, 그리고 두 파일을 읽으며 같은 지시를 되풀이하는 러너를 소개합니다.
매뉴얼, 말로 알려 준 규칙은 다음 회차에 남지 않는다
예를 들어 2주차 보고서를 받아 본 채널 담당이 증감률이 소수 둘째 자리까지 적힌 것을 보고 "증감률은 소수 첫째 자리까지만 적어"라고 말합니다. 그 대화 안에서는 고친 보고서가 나오지만, 3주차에 새 대화를 열면 증감률은 다시 둘째 자리까지 나옵니다. 대화 안에서 말로 알려 준 규칙은 다음 회차에 반영되지 않기 때문입니다. 규칙을 적어 둔 곳이 없으면 루프는 돌 때마다 회사의 방식을 처음부터 다시 짐작합니다.
그래서 규칙은 매뉴얼이라는 파일에 적어 둡니다. 주간 채널 실적 보고의 매뉴얼에는 필수 항목 5개와 그 순서를 정한 양식, 대리점의 정식 명칭, 금액은 원 단위로 쓰고 증감률은 소수 첫째 자리까지 적는다는 단위 규칙, 추정해서 채우거나 원본을 고치거나 요청 밖의 일을 하지 않는다는 금지 사항을 적습니다. 2편의 완료 기준이 어디에 있는지와, 반려되면 반려 사유만 고쳐 다시 쓴다는 재작업 방법도 함께 적습니다. 서론의 3개 보고서에서 서로 다르게 나온 것들이 모두 이 항목에 들어갑니다.
매뉴얼 본문은 위키에 둡니다. 위키는 에이전트가 쓰고 사람이 읽는 문서를 한 폴더에 페이지로 모아 둔 것입니다. 에이전트에게 작업 방식을 넘기는 SKILL.md에는 매뉴얼 내용을 옮겨 적지 않고 위키의 매뉴얼 페이지를 읽으라고만 적어, 사람이 Obsidian에서 매뉴얼을 열어 보고 고칠 수 있게 합니다. Obsidian은 내 PC의 폴더 속 문서를 페이지처럼 열어 보는 무료 메모 프로그램입니다. 규칙이 바뀌면 사람은 Obsidian에서 매뉴얼 한 곳을 고치고, 루프는 매 회 그 페이지를 읽습니다.
매뉴얼의 효과는 3주차 보고서를 새 대화에서 두 번 만들어 확인합니다. 두 보고서를 항목별로 비교해 같은지 표로 남기고, 매뉴얼 없이 만든 3개의 보고서와도 비교합니다. 다만 스킬을 다룬 글에서 본 것처럼 매뉴얼도 에이전트가 참고하는 문서라서 같은 양식이 나올 확률을 높일 뿐이고, 지켜졌는지는 검토 에이전트가 완료 기준으로 판정합니다.
상태 파일, 어제까지의 진행을 퇴근하며 적어 둔다
매뉴얼이 있어도 에이전트는 어디까지 했는지 모릅니다. 3주차에 새로 시작한 에이전트는 1·2주차 파일 가운데 무엇을 이미 처리했는지 모르니 폴더의 파일을 전부 다시 집계할 수 있고, 2주차에 그 대리점에 금액 단위를 확인해 달라고 요청한 일이 아직 답을 받지 못한 상태라는 것도 모릅니다. 이 진행을 적어 두는 파일이 상태 파일입니다. 사람으로 치면 퇴근하며 쓰는 인수인계 노트입니다. 상태 파일에는 이번 주 할 일 목록, 처리한 파일, 미결 이슈, 다음 회차가 할 일을 적고, 에이전트가 회차마다 직접 고쳐 씁니다. 할 일 하나는 한 번에 5분 안에 끝나는 크기로 나누고, 한 주에 5개 안팎이 되게 합니다.
위키에는 상태 파일과 함께 기록 세 가지를 따로 둡니다. 회차마다 몇 번 시도했고 판정이 무엇이었는지, 멈췄다면 왜 멈췄는지를 적는 운영로그, 반려 사유와 그것을 어떻게 해결했는지를 적는 학습점, 사람이 확정한 판단을 적는 판정사례입니다. 지난 편에서 채널 담당이 그 대리점의 금액을 천 원 단위로 읽기로 정한 결정은 판정사례에 남습니다. 반려 횟수와 사유도 운영로그와 학습점에 남으니, 루프를 다시 연 에이전트가 시도 횟수를 처음부터 셀 일이 없습니다.
루프를 다시 열 때 지난 대화를 찾아 붙여 넣을 필요도 없습니다. 새 대화에서 "작업 폴더와 Obsidian 내용을 보고 현재까지 진행 내용을 정리해 봐"라고 한 마디만 하면 에이전트가 파일을 읽고 어디서부터 이어 갈지 정리합니다. 이어받았는지는 세 가지로 확인합니다. 1·2주차 파일을 다시 처리하지 않았는지, 2주차에 남긴 미결 이슈인 그 대리점의 단위 확인 요청을 3주차가 이어받았는지, 원본 폴더를 고치려 할 때 권한 설정이 거부하는지입니다.
셋째 확인을 통과하려면 쓰기 범위를 권한 설정으로 정해 두어야 합니다. 에이전트는 원본 폴더와 매뉴얼을 읽기만 하고, 작업 폴더에는 쓰고, 발행 폴더에는 검토 에이전트의 통과 판정 뒤에만 쓰게 합니다. 하네스 엔지니어링 2편에서 본 것처럼 지침은 에이전트가 참고할 뿐이고 권한은 그 자체로 못 하게 만드는 장치입니다. 원본은 읽기만 하라는 1편의 하네스 문장이 회차가 바뀌어도 지켜지는 것도 이 권한 설정 덕분입니다. 1편 서론에서 말한 6개월차의 경력은 회사의 방식을 적은 매뉴얼과 지난주까지의 진행을 적은 상태 파일, 이 두 가지가 대신합니다.
러너, 같은 지시를 되풀이하되 끝은 검토 에이전트의 판정이 정한다
기억이 파일에 남으면 반복을 맡길 수 있습니다. 먼저 사람이 손으로 한 바퀴를 돌려 봅니다. 채널 담당이 에이전트에게 2주차 보고서를 만들게 하고, 검토 에이전트를 불러 판정을 받습니다. 반려되면 사유를 읽고 다시 만들게 하고, 통과하면 몇 번 만에 통과했는지와 반려 사유를 적어 둡니다. 같은 사유로 두 번 반려되면 멈출지도 채널 담당이 정합니다.
사람이 한 이 일들은 도는 순서의 뒤에서부터 넘깁니다. 기록하기는 상태 파일과 운영로그가 맡고, 검토 에이전트 부르기와 다시 시키기는 러너가 맡습니다. 멈출지도 러너가 지난 편의 멈춤 기준에 따라 정합니다. 러너는 같은 지시를 되풀이해 넣는 장치이고, 기억은 파일에만 둡니다. 처음 시작하는 일은 사람이 계속 맡아도 됩니다.
러너가 한 번 돌 때는 네 단계를 거칩니다. 위키의 목록과 상태 파일을 읽고, 할 일 목록에서 아직 체크되지 않은 할 일 하나를 처리합니다. 그 결과를 검토 에이전트가 판정해 통과면 그 할 일에 체크하고, 반려면 사유를 학습점에 적습니다. 마지막으로 운영로그를 남깁니다. 보고서를 발행 폴더에 저장하는 것은 통과 판정을 받은 뒤입니다. 손으로 돌릴 때는 채널 담당이 반려 사유를 읽고 다시 시켰습니다. 러너로 돌리면 반려 사유는 학습점에 남고, 에이전트는 매뉴얼에 적어 둔 재작업 방법대로 반려된 부분만 고쳐 다시 만듭니다.
끝은 에이전트가 정하지 않습니다. 에이전트가 "다 했습니다"라고 말해도 루프는 끝나지 않고, 검토 에이전트의 통과 판정이 나오고 할 일 목록에 남은 일이 0건일 때 끝납니다. 새로 들어온 파일이 없으면 할 일 없이 바로 끝냅니다.
1편에서는 채널 담당이 에이전트에게 건네는 말로 하네스 문장과 루프 문장을 적었습니다. 루프 문장의 "검토 에이전트에게 판정을 받고, 통과하면 거기서 끝내"는 2편에서 참과 거짓으로 답하게 적은 완료 기준과, 원본을 읽기만 하는 검토 에이전트가 지킵니다. "세 번을 해도 안 되면 나한테 물어봐"는 3편의 멈춤 기준 네 가지와 사람에게 넘기는 조건 세 가지가 지킵니다. "반려되면 사유를 보고 고쳐서 다시 만들고"는 이번 편의 매뉴얼과 상태 파일, 학습점, 러너가 지킵니다. 하네스 문장의 "원본 파일은 읽기만 하고, 발행 폴더에는 검증을 통과한 뒤에만 저장해"는 권한 설정이 지킵니다. 1편에서 6개월차라면 굳이 듣지 않아도 알아서 한다고 했던 일을, 이제는 문장마다 그 일을 맡는 기준과 파일과 장치가 있어 에이전트에게 맡길 수 있습니다.
이 사례는 포텐스닷이 진행한 루프 엔지니어링 교육에서 나온 것입니다. 같은 과정을 직접 설계해보고 싶다면 포텐스닷 기업교육에서 확인할 수 있습니다.