AI 자동화와 사람의 판단을 잇는 우편함 만들기

AI 에이전트 생태계 구축기· 6 / 10
- 1 — 멋진 비서를 만들기 위한 뜬구름 시도 끝에, LLM Wiki부터 세웠다
- 2 — LLM Wiki를 지식 뇌로 쓰게 해주는 두 가지 자동화
- 3 — 지식 뇌와 연결한 첫 번째 비서 알림 기능
- 4 — 지식 뇌에 손발을 붙였다: LLM Wiki와 헤르메스 연결하기
- 5 — AI 대화 기록으로 블로그 작성하기
- 6 — AI 자동화와 사람의 판단을 잇는 우편함 만들기
- 7 — 텔레그램에서 슬랙으로 헤르메스 사무실 옮기기
- 8 — AI가 쓴 블로그에 필요한 이미지를 더한 방법
- 9 — 헤르메스로 자동화를 운영하며 접한 사소한 문제들
- 10 — AI 코딩 에이전트의 테스트 PASS를 그대로 믿을 수 있을까
second에 작업 맥락이 쌓이고, blog에 글을 쓰고, 헤르메스가 나에게 보고를 전하기 시작하자 각 기관 사이에 결과와 결정을 주고받을 길이 필요해졌다. 매번 서로의 내부 파일을 직접 건드리게 하면 기능을 하나 붙일 때마다 연결도 하나씩 늘어난다.
그래서 각 기관이 쪽지 한 장으로만 일을 넘기고, 나는 그 쪽지를 텔레그램에서 확인해 결정하도록 우편함을 만들었다. 이 글은 그 우편함이 왜 필요했고, 어떻게 세 기관 사이의 중계소가 됐는지 기록한 글이다.
second는 AI와 한 작업 기록을 모아 정리하고, 다음 작업에 필요한 맥락을 보관하는 내 지식 보관소다.
blog는 승인된 발제를 실제 블로그 글로 작성하고 공개하는 발행 리포다.
헤르메스는 내 컴퓨터에서 상주하며, 정기 보고와 알림을 나에게 전달하는 AI 비서 환경이다.
생태계가 커질수록 의존성도 늘어난다
second의 컴파일을 새벽에 자동으로 돌리기 시작했다. 작업 기록을 정리한 결과와 블로그 글감이 생기는 것은 좋았다. 문제는 내가 그 결과를 어디서 보고, 무엇을 할지 결정하느냐였다.
당시 블로그 발제는 second가 blog 리포 안에 문서로 직접 넣는 방식이었다. 발제를 확인하려면 나는 blog에서 새 세션을 열어 그 문서를 찾아 읽고, 글로 쓸지 결정한 뒤 다시 작성 지시를 내려야 했다. 결과를 만든 곳, 내가 판단하는 곳, 글을 쓰는 곳이 한 흐름으로 이어져 있지 않았다.
이 상태로 앞으로 추가할 다양한 기능과 프로젝트를 이 생태계에 얹어 간다면, 각 플랫폼은 서로의 파일과 처리 방식을 더 많이 알아야 한다. 기능 하나를 고칠 때마다 연결된 다른 곳까지 함께 신경 써야 하는 의존성이 생길 터였다. 나는 각 기능이 서로의 내부를 직접 아는 대신, 모든 결과와 결정을 한곳에서 주고받게 만들 필요를 느꼈다.
각 기관 사이에 중계 기관을 두기로 했다
그래서 역할이 다른 곳들을 직접 연결하는 대신, 그 사이에 일을 중계하는 중앙 기관을 두기로 했다.
| 기관 | 맡은 일 | 발생한 문제 |
|---|---|---|
| second | 작업 맥락을 모으고 컴파일 보고와 블로그 발제를 만든다. | 컴파일 결과를 나에게 전달할 곳이 없었다. 블로그 발제는 blog 리포 안에 직접 넣어야 했다. |
| blog | 승인된 발제를 글로 쓰고 공개한다. | 새 발제가 들어왔는지 내가 직접 찾아보고, 원본을 읽은 뒤 집필을 다시 지시해야 했다. |
| 헤르메스 | 내가 자리를 비운 사이 보고와 알림을 전달한다. | 새 기능이 생길 때마다 어떤 결과를 어디에서 받아 나에게 보낼지 전달 경로를 따로 정해야 했다. |
블로그 발제는 원래 second에서 만든 마크다운 문서였다. 바뀐 것은 문서 자체가 아니라 문서를 두는 곳이다. 예전에는 second가 발제를 blog 리포에 직접 넣었다면, 이제는 우편함에 넣는다. 이 방식을 블로그 발제에만 쓰지 않고, 컴파일 보고나 다른 기관에 전달할 요청에도 똑같이 적용했다. 기관 사이를 오가는 문서는 모두 우편이라는 같은 형태로 우편함에 넣고, 필요한 곳이 자기에게 온 우편만 확인하게 한 것이다.
예를 들어 블로그 발제가 생기면, second는 그것을 blog에 직접 넣지 않고 우편함에 남긴다. 헤르메스는 나에게 승인 요청을 알리고, 내가 승인하면 blog가 그 우편을 받아 글을 쓴다. 컴파일 보고처럼 내가 확인만 하면 되는 우편도 같은 곳에 남는다. 우편함은 서로 다른 기관이 문서를 직접 주고받지 않고도, 필요한 우편만 찾아 처리하게 하는 중계 지점이 됐다.
우편 한 장의 구조
우편함에서 파일 하나는 하나의 용무를 뜻한다. 우편은 처음에 no: 1 쪽지 한 장으로 시작한다. 누군가가 확인하거나 승인·반려해 다음 곳으로 넘길 때마다, 번호를 하나 올린 새 쪽지를 같은 파일 맨 위에 얹는다. 그래서 맨 위 쪽지의 from과 to를 보면, 지금 누가 누구에게 일을 넘겼고 다음에는 누가 처리해야 하는지 알 수 있다.
아래는 second가 블로그 발제를 보내고, 내가 승인한 뒤 blog로 넘기는 예시다.
---
no: 2
from: zeke
to: blog
title: 블로그 글감 — 헤르메스 침묵 규약
status: pending
created: 2026-07-17T14:35
---
승인. blog에서 글 작성 진행.
---
no: 1
from: second-compile
to: zeke
title: 블로그 글감 — 헤르메스 침묵 규약
status: pending
created: 2026-07-17T14:30
on-approve: blog
on-reject: second
---
컴파일에서 발견한 블로그 발제다.| 속성 | 뜻 |
|---|---|
from | 이 쪽지를 작성한 곳이다. 예를 들어 second-compile은 second의 컴파일 결과를 뜻한다. |
to | 지금 이 쪽지를 처리할 곳이다. 처음에는 zeke, 승인 뒤에는 blog가 된다. |
title | 해당 쪽지가 무엇에 관한 용무인지 나타낸다. |
status | 해당 쪽지의 처리 상태다. 맨 위의 새 쪽지는 항상 pending으로 시작한다. |
on-approve·on-reject | 내가 승인하거나 반려했을 때 다음 쪽지를 어디로 보낼지 미리 적어 둔 주소다. |
내가 텔레그램에서 승인·반려·확인을 말하면, 정해진 프로그램이 기존 쪽지에 결과를 남기고 새 쪽지를 맨 위에 붙인다. AI가 결정을 대신하지 않고도, 내 결정에 따라 우편이 다음 기관으로 정확히 넘어간다.
기관은 분리하고, 일은 한곳에 모았다
우편함을 만들고 달라진 것은 단순히 알림 하나가 늘어난 일이 아니었다.
| 이전 | 이후 |
|---|---|
| second가 blog 내부에 직접 발제를 넣었다. | second는 우편함에 발제를 남기고, blog는 승인된 우편만 받는다. |
| 새벽 컴파일 결과를 내가 직접 찾아야 했다. | 헤르메스가 우편함을 확인해 텔레그램으로 알려 준다. |
| 승인·반려 뒤에 누가 무엇을 해야 하는지 다시 설명해야 했다. | 우편에 적힌 다음 목적지에 따라 프로그램이 결과를 회송한다. |
| 처리하지 않은 일이 각 프로젝트 안에 흩어졌다. | 아직 결정하지 않은 일은 우편함에 남아 다시 확인할 수 있다. |
특히 마지막이 중요하다. 우편함은 일처리 보관소가 아니라 미결함으로 이해하면 된다. 이미 끝난 우편은 받는 기관의 장부로 옮기고, 아직 결정하지 않은 우편만 우편함에 남긴다. 그래서 우편함을 열면 지금 내가 처리해야 하는 일만 볼 수 있다. 아직 결론 나지 않은 일이 어느 기관의 폴더에 남아 있거나, 어디서 처리해야 할지 모른 채 떠도는 일도 없다.
자동화와 내 처리 사이에 우편함을 뒀다
AI 자동화가 가능해지고 쉬워질수록, 무엇을 자동으로 맡기고 어디에서 내가 직접 확인하고 결정할지 정하는 일이 더 중요하다고 요즘 느낀다. 우편함은 그 사이에서 내가 찾은 자리 하나다. 자동화가 만든 보고와 요청은 우편함에 남기고, 판단이 필요한 우편만 내가 확인한다.
이렇게 해결 파이프를 하나씩 만들수록, 자동화와 수동 처리의 경계도 조금씩 분명해진다. 각 기관은 자기 일을 마친 뒤 우편만 남기고, 나는 우편함 하나에서 지금 처리할 일을 보고 결정한다. 우편함은 그 경계를 실제 작업 흐름으로 만든 첫 번째 중계소가 됐다.
참고 자료
- [1] 우편함 — 에이전트 간 통신 인프라 기획
- [2] postbox PB2 — 헤르메스 배치 완료
- [3] postbox v2 라우팅 모델