에이전트 운영 회고 (7/7) — 미결 의사결정 5개를 다루는 결정 프레임워크
시리즈 종결편 — 답하기 전에 무엇을 더 알아야 하는가
핵심 요약
- 마이그레이션 과정에서 답하지 못한 결정이 5개 남는 것은 실패가 아니라 정보 수집 단계의 지표다.
- 각 결정을 해소하려면 한 가지 추가 정보가 필요하며, 그것을 식별하는 것 자체가 의사결정의 일부다.
- 결정 프레임워크의 세 축: 되돌릴 수 있는가 / 정보 비용은 얼마인가 / 결정 미루기의 비용은 얼마인가.
이 글에서 다루는 기법
- "미결"을 가시화하는 표 구조 — 결정을 숨기지 않고 필요 정보와 함께 나열한다.
- Reversibility × Information-cost × Delay-cost 3축 분류 — 동일 질문을 5개 결정에 반복 적용해 정렬한다.
- GO / HOLD / DEFER / 부분 GO의 4단계 처분 — 미결 자체를 처분 상태로 전환한다.
5개 미결 결정
| # | 결정 | 답하기 위해 필요한 것 |
|---|---|---|
| 1 | sqlite-vec + bge-m3 최종 승인 | Hermes 통합 시 실측 latency 1주일치 |
| 2 | 작업 순서: B(persona) → C(episodes) → A1(vector) → D(config) → E(.claude) → A2 → A3 → F → G/H/I~N | 듀얼 실행 첫 24시간 안정성 |
| 3 | 20~24시간 통합 구현 진행 여부 | 사용자 가용 시간 확인 |
| 4 | Router_Control 통합 우선순위 | Hermes smart_model_routing.py의 비용 절감 실측치 |
| 5 | Knowledge 파이프라인 다중 소스 선택 (Discord scope / bookmark 방식 / X rate-limit / researcher 충돌) | 각 소스의 1주일 트래픽 샘플링 |
핵심은 결정 자체가 아니라 각 결정에 붙은 "필요 정보"다. 결정이 미결인 이유를 "아직 고민 중"으로 두지 않고, "X가 확보되면 해소"로 환원하면 결정은 실행 가능한 정보 수집 과제로 바뀐다.
결정 프레임워크 — 3개 질문
질문 1 — 되돌릴 수 있는가?
Reversible 결정은 빠르게 내리고 시작한다. Irreversible 결정은 정보를 더 모은다.
- sqlite-vec 선택은 reversible — 다른 vector store로 이전 시 데이터 export 경로가 있다.
- Router_Control 통합은 irreversible에 가깝다 — 코드 다수 위치를 수정해야 하므로 롤백 비용이 높다.
이 축만 적용해도 1번(빠르게 GO)과 4번(천천히 DEFER)의 처리 속도가 즉시 갈린다.
질문 2 — 정보 비용은 얼마인가?
결정에 필요한 정보를 얻는 데 드는 시간·토큰·자동화 비용.
- 1주일치 latency 측정: 자동 수집 — 비용 ≈ 0.
- 사용자 가용 시간 확인: 메시지 1줄.
- 다중 소스 트래픽 샘플링: 소형 스크립트 다수.
정보 비용이 낮을수록 "정보를 모은 뒤 결정"이 유리하다. 반대로 정보 비용이 결정 자체의 기대 이득을 넘어서면 결정은 heuristic으로 처리한다.
질문 3 — 결정 미루기의 비용은 얼마인가?
Delay cost는 미루는 동안 누적되는 기회손실이다.
- 1번을 미루면 v0.2가 시작되지 못한다 → 큰 비용.
- 4번을 미루면 비용 절감의 미달성만 발생한다 → 작은 비용.
세 질문을 조합하면 우선순위는 기계적으로 결정된다: Reversible + Low info-cost + High delay-cost → 즉시 GO, Irreversible + High info-cost + Low delay-cost → DEFER.
5개 결정의 처분
| # | 결정 | 처분 | 근거 |
|---|---|---|---|
| 1 | sqlite-vec | GO. 이번 주 안에 승인 + 구현 시작 | Reversible + 미루기 비용 큼 |
| 2 | 작업 순서 B→C→A1→D→E→A2→A3→F→G→H→I~N | GO. 단, 듀얼 실행 첫 24h 안정성 confirm 후 | 작은 risk, 큰 정렬 효과 |
| 3 | 20~24h 통합 구현 | HOLD. 사용자 가용 시간 확인 후 결정 | 정보 비용 1줄 |
| 4 | Router_Control 통합 우선순위 | DEFER. Hermes 라우터 1개월 운영 후 측정 | 미루기 비용 작음, 정보 가치 큼 |
| 5 | Knowledge 다중 소스 | 부분 GO. Discord scope 우선 착수, 나머지는 트래픽 샘플 후 | 부분 진행 가능 |
4단계 처분은 "결정/미결"의 이진 상태를 GO / HOLD / DEFER / 부분 GO의 4상태로 확장한다. HOLD는 짧은 확인 뒤 해소, DEFER는 기간이 지정된 보류, 부분 GO는 쪼갤 수 있는 결정의 일부 착수. 미결이라는 단어가 가리던 스펙트럼을 처분 상태로 드러낸다.
한계와 적용 범위
- 이 프레임워크는 결정이 여럿이고, 각 결정의 delay cost가 비대칭일 때 가장 효과적이다. 결정이 한 개뿐이면 3축은 과도한 구조다.
- Reversibility 판정은 주관이 개입한다 — "export만 가능하면 reversible인가" 같은 경계 질문은 사전에 합의가 필요하다.
- Delay cost를 숫자로 달 수 없다면 순위(크다/작다)만으로도 우선순위가 갈리지만, 숫자가 있는 경우 DEFER의 타당성이 크게 달라진다.
시리즈를 닫으며
13편에 걸쳐 반복된 한 문장이 있다.
좋은 마이그레이션의 핵심은 옮기지 말아야 할 것을 구분하는 일이다.
옮기는 것보다 놓고 가는 것을 구분하는 쪽이 어렵다. 미결 결정 5개를 그대로 둔 것도 같은 맥락이다 — 지금 당장 답하는 대신, 무엇이 확보되면 답할 수 있는지를 명시한다.
열린 질문
- Delay cost와 Information cost의 단위를 맞출 수 있는가? (시간 vs 토큰 vs 기회)
- 부분 GO가 일반화되면 "결정"의 단위 자체가 모호해지지 않는가?
- Reversibility 판정에 프로젝트 외부 비용(팀 인지 부담 등)을 포함할지.
시리즈는 끝나지만, 위 질문들은 다음 단계에서 다시 마주친다.
시리즈 색인 (전체)
- OpenClaw 해부 — 다수 에이전트와 스케줄러로 굴러가던 시스템
- Hermes로 옮길 것, 버릴 것 — 4 카테고리 분류표
- 이식할 가치가 있는 항목을 골라낸 코드 리뷰
- 5주짜리 이사 계획 — 다중 카테고리로 묶은 이식 명세
- memcore — SQLite로 다시 짠 메모리 코어, 51 tests pass
- 전수조사로 발견한 누락 항목 — 정직한 감사 보고
- 거버넌스 Tier 게이트 — 4-step 승격과 pre-commit 차단
- Heartbeat v2 — 다중 모드, 다단계 escalation, Proactive 피드백 루프
- Router_Control은 왜 통합되지 않았나
- 벡터 DB 후보들을 다축으로 비교한 결과
- 운영 실패 60건에서 추린 7가지 교훈
- Manager / Runner 역전과 Self-Improve 트리거
- 미결 의사결정 5개를 다루는 결정 프레임워크 (이 글)
시리즈 전체 안내: 시리즈 목차
댓글
댓글 쓰기