에이전트 운영 회고 (7/7) — 미결 의사결정 5개를 다루는 결정 프레임워크

시리즈 종결편 — 답하기 전에 무엇을 더 알아야 하는가


핵심 요약

  • 마이그레이션 과정에서 답하지 못한 결정이 5개 남는 것은 실패가 아니라 정보 수집 단계의 지표다.
  • 각 결정을 해소하려면 한 가지 추가 정보가 필요하며, 그것을 식별하는 것 자체가 의사결정의 일부다.
  • 결정 프레임워크의 세 축: 되돌릴 수 있는가 / 정보 비용은 얼마인가 / 결정 미루기의 비용은 얼마인가.

이 글에서 다루는 기법

  1. "미결"을 가시화하는 표 구조 — 결정을 숨기지 않고 필요 정보와 함께 나열한다.
  2. Reversibility × Information-cost × Delay-cost 3축 분류 — 동일 질문을 5개 결정에 반복 적용해 정렬한다.
  3. 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 판정에 프로젝트 외부 비용(팀 인지 부담 등)을 포함할지.

시리즈는 끝나지만, 위 질문들은 다음 단계에서 다시 마주친다.


시리즈 색인 (전체)

  1. OpenClaw 해부 — 다수 에이전트와 스케줄러로 굴러가던 시스템
  2. Hermes로 옮길 것, 버릴 것 — 4 카테고리 분류표
  3. 이식할 가치가 있는 항목을 골라낸 코드 리뷰
  4. 5주짜리 이사 계획 — 다중 카테고리로 묶은 이식 명세
  5. memcore — SQLite로 다시 짠 메모리 코어, 51 tests pass
  6. 전수조사로 발견한 누락 항목 — 정직한 감사 보고
  7. 거버넌스 Tier 게이트 — 4-step 승격과 pre-commit 차단
  8. Heartbeat v2 — 다중 모드, 다단계 escalation, Proactive 피드백 루프
  9. Router_Control은 왜 통합되지 않았나
  10. 벡터 DB 후보들을 다축으로 비교한 결과
  11. 운영 실패 60건에서 추린 7가지 교훈
  12. Manager / Runner 역전과 Self-Improve 트리거
  13. 미결 의사결정 5개를 다루는 결정 프레임워크 (이 글)

시리즈 전체 안내: 시리즈 목차

댓글

이 블로그의 인기 게시물

"LLM 핵심 학습 (1/6) — 기본: 토큰화·임베딩·어텐션·위치 인코딩"

"LLM 핵심 학습 (2/6) — 파인튜닝: LoRA·QLoRA·증류·Adapter"

"ML 기초 학습 (1/9) — 머신러닝과 sklearn: 학습의 좌표계"