시도하고자 했던 것
작업이 안 굴러가는 원인을 파봤더니, 병목이 예상 밖이었습니다. 토큰도 모델도 아니었고 제 결정이 밀려 있는 것이었습니다. 막힌 항목이 19건, 그중 제가 답해야만 풀리는 게 10건. 어떤 건 17일째 대기 중이었고, 그 하나가 다음 단계 전체를 막고 있었습니다.
문제는 이겁니다 — 에이전트는 이 상황을 이미 알고 있었습니다. 기록에 다 있었으니까요. 다만 제가 안 물어보면 말하지 않았습니다.
그래서 3주차 주제인 상시 트리거를 여기에 걸었습니다. 매일 아침 에이전트가 먼저 묻게 만드는 것.
설계 계약 7칸
이번 주 과제 양식에 맞춰 제가 만든 걸 일곱 칸에 넣어봤습니다. 넣어보니 비어 있던 칸이 드러난 게 이 과제의 소득이었습니다.
칸
제 결정큐에서는
Goal
막힌 결정을 줄인다 — 성공: 답변 회수 / 종료: 큐가 빔
Trigger
매일 아침 10시. 제가 부르지 않아도 발동 / 미답변이 쌓여도 재발화는 안 함(구멍)
Context
결정큐.md 한 파일 + 작업 보드. 그 밖의 대화·메모는 근거로 안 씀
Tree / Route
큐 파일 → 미러 동기화(08:50) → 발화(10:00) → 답변 회수 → 보드 반영
Criteria
"나만 답할 수 있는가" — O/X·일정·구술만 통과
Approval
전 구간. 애초에 사람이 답해야만 다음이 열리는 구조
Repair
봇이 낸 숫자가 보드와 안 맞으면 → 큐 파일이 아니라 세는 로직을 고침
일곱 칸 중 Trigger 칸의 뒷절반("언제는 시작하지 않나")이 비어 있었습니다. 아침에 깨우는 것만 정했지, 답을 안 했을 때 어떻게 되는지를 안 정한 겁니다. 이게 아래 시행착오 4번과 같은 구멍인데, 표에 넣기 전까진 "아직 못 한 것" 정도로만 보였습니다.
진행 방법
1) 큐에 넣을 자격을 먼저 정했습니다
가장 중요한 설계 결정이었습니다. 아무거나 물으면 알림이 소음이 되고, 소음이 되면 안 봅니다.
자격: "나만 답할 수 있는 것"만. 구체적으로 O/X, 일정, 구술 셋뿐입니다.
✅ "이 안으로 확정합니까? O/X" — 내가 결정해야 진행됨
❌ "이거 어떻게 구현할까요?" — 에이전트가 알아보면 되는 것
❌ "진행 상황 알려드립니다" — 질문이 아님
이 컷 하나로 12건이 남았습니다. 그 외는 전부 에이전트 몫으로 되돌 렸습니다.
2) 정본은 파일 하나
결정큐.md 한 파일에 질문·배경·권고를 적습니다. 특히 권고를 반드시 붙입니다 — "어떻게 할까요?"는 저에게 일을 넘기는 거고, "이걸로 하시죠, 근거는 이겁니다, O/X로 답해주세요"는 제 부담을 한 글자로 줄입니다.
3) 상시 트리거 — 아침 10시
결정큐.md (정본, 로컬)
↓ 08:50 동기화
원격 컨테이너의 미러
↓ 10:00 크론
아침 브리핑 발화
→ 미답변 상위 3건을 O/X 질문으로
→ [적체] 막힌 항목 수 1줄
3건만 묻습니다. 12건을 다 던지면 안 읽습니다. 상위 3건만 물어야 답이 옵니다.
4) 되돌아오는 길까지 만들었습니다
트리거만 만들면 반쪽입니다. 답변이 어디로 가는지가 없으면 결국 흘러갑니다. 그래서: 답변 → 큐 파일의 답변란 기입 → 작업 보드 반영까지를 절차로 묶었습니다. 아무 세션이나 회수해서 기입할 수 있게요.
결과와 배운 점
실행 영수증 (최소 정상 실행 1회)
칸
내용
Trace
10:00 크론 발동 → 큐 파일 파싱 → 미답변 상위 3건 추출 → 적체 카운트 → 발화
Proof
발화 원문(질문 3건 + 적체 숫자), 큐 파일, 작업 보드. 셋을 대조해 숫자가 일치
Verdict
PASS — 질문이 나갔고, 숫자가 보드와 맞았고, 다음 날 답이 회수됨
Repair
none (첫 실행에서 통과)
실행 모드는 시뮬레이션이 아니라 실제 발화입니다.
결과
테스트 발화 성공 — 질문 3건이 정확히 나왔고, 함께 나온 적체 숫자(막힘 19·그중 내 몫 10)가 실제 보드와 일치했습니다. 중요한 건 이 숫자를 봇이 파일을 직접 세서 냈다는 겁니다. 추정값이 아닙니다
다음 날 첫 결정 2건 회수 — 하나는 확정, 하나는 보류. 질문 → 답 → 기록 → 보드 반영 풀사이클이 24시간 안에 한 바퀴 돌았습니다
17일 묵은 결재가 그 사이클에서 풀렸습니다
시행착오
처음엔 "알림"을 만들려 했습니다. 진행 상황을 매일 보내주는 것 말이죠. 그건 소음이 됩니다. 질문만 남기고 보고를 빼니까 그제서야 답 을 하게 됐습니다.
권고 없는 질문은 적체를 옮길 뿐이었습니다. "어떻게 할까요?"는 결국 제가 다시 조사해야 해서 또 밀립니다. 권고+근거를 붙이니 O/X 한 글자로 끝났습니다.
되돌아오는 길이 진짜 어려운 쪽이었습니다. 발화(내보내기)는 크론 한 줄인데, 답변을 회수해서 기록·반영하는 쪽은 사람과 여러 세션이 얽혀 있습니다. 상시 트리거의 난이도는 대부분 출력이 아니라 회수에 있었습니다.
아직 못 한 것: 사이클이 한 바퀴 돈 걸 확인했을 뿐, 미답변이 며칠씩 쌓일 때 어떻게 되는지는 안 봤습니다. 에스컬레이션(3일 무응답 시 어떻게 할지)이 없습니다.
꿀팁
상시 트리거를 만들 때 "이 알림을 내가 3일 연속 무시하면 어떻게 되나"를 먼저 정하세요. 답이 "아무 일도 안 일어난다"면 그 트리거는 곧 죽습니다.
큐에 넣을 자격 기준을 "나만 답할 수 있는가" 한 줄로 두면, 대부분의 항목이 자동으로 에이전트 몫으로 되돌아갑니다. 사람에게 남는 일이 줄어드는 게 목적이니까요.
봇이 내는 숫자는 추정 금지, 세게 하세요. 파일을 직접 세게 하면 보드와 대조가 되고, 안 맞으면 그 자체가 신호가 됩니다.
도움이 필요한 부분
무응답 에스컬레이션을 어떻게 설계하셨나요? 재알림 주기를 짧게 하면 소음, 길게 하면 무의미해서 기준을 못 잡겠습니다.
질문 개수 3건은 감으로 정했습니다. 하루에 답할 수 있는 결정의 상한을 실측해 보신 분이 있으면 배우고 싶습니다.
도움 받은 글·강의
3주차 강의 — "이게 쉬울 수도 있는데 상시 발동되게 하는 게 되게 중요하다"는 말이 이 구조의 출발점입니다. 특정 업무에서만 발동하는 워크플로우와 상시 도는 하네스의 차이가 여기서 갈리더군요
3주차 강의의 트리거 · 골 · 크리테리아 · 오케스트레이션 구분 — 제가 만든 걸 이 네 칸에 넣어보니 비어 있는 칸이 보였습니다
"모르면 모른다고 말하게 하라" — 강의 중 발표에서 나온, 데이터가 없을 때 그럴듯한 답을 만들지 않고 멈추는 게 성공이라는 관점. 큐에 "봇이 숫자를 추정하지 말고 직접 세게 한다"로 옮겼습니다