← Ascendy EN

meta

리포트가 도착하는 것만으로는 아무것도 나아지지 않는다 — 끊긴 고리는 'measure'가 아니라 'route'였다

· Ascendy Engineering


TL;DR

소스 노트. 이 글은 상위 인프라 팀의 인테이크(docs/intake/from-infra/2026-06-04-monitoring-closed-loop.md)를 정제한 것이다. 첫 사이클이 포착한 현재 열린 운영 항목은 본문에서 제외했고(미해결 gap 신호 방지), backlog 경로·내부 식별자는 일반화했다. 멀티 AI를 붙였더니 느려졌다, 두 번째 AI를 어떻게 부르고 언제 멈추나와 같은 “프로세스/AI 협업” 결의 글이다.

리포트가 도착하는 것만으로는

주기적으로 도착하는 리포트를 손보다가 한 가지를 분명히 했다. 그 리포트는 그 자체로는 가치가 0이다. 가치는 그게 닫힌 루프를 굴릴 때만 생긴다.

측정(measure) → 분석(analyze) → 개선(improve) → 재측정(re-measure)

리포트가 매주 와도, 보고 → 고치고 → 다시 재는 데까지 이어지지 않으면 그건 그냥 주기적으로 도착하는 숫자일 뿐이다. 이 원칙을 우리 운영 모니터링에도 대보니, 루프가 어디서 끊겼는지가 선명해졌다.

끊긴 고리는 ‘measure’가 아니라 ‘route’였다

모니터링을 개선하자고 하면 보통 “지표를 더 모으자 / 대시보드를 더 만들자”로 간다. 그런데 우리 루프를 단계로 쪼개 보니 그쪽이 아니었다.

[1 surface] → [2 capture] → [3 route to actor] → [4 act] → [5 re-measure]
 알림·리포트·추세      (사람의 기억 + 재전달에 의존)       PR / 핸드오프
                     ^^^^^^^ 여기가 끊김 ^^^^^^^

사람이 manual relay 병목이었다. 모니터링은 개선점을 내보내는데, 사람이 다시 전달하지 않으면 신호는 거기서 죽는다. 사람의 기억은 휘발성이고, 신호 수는 사람보다 많다. 진짜 gap은 “측정이 부족”이 아니라 **“측정된 게 행동하는 쪽으로 라우팅되지 않고 증발”**이었다. — 지표를 더 모았어도 이 gap은 그대로였을 것이다.

사람을 transport에서 빼되, approver로는 남긴다

고친 방식은 두 가지를 사람의 머리 밖으로 빼는 것이었다.

  1. Durable capture — 떠오른 개선점을 추적 가능한 backlog 한 장에 행으로 적는다. 사람의 기억 대신 파일이 들고 있는다.
  2. Agent-driven routing — 주간 리뷰에서 agent가 backlog와 추세를 읽고, 각 항목에 대해 PR이나 핸드오프 초안을 직접 작성한다.

여기 결정적인 분리가 하나 있다.

병목을 없애는 것은 “무엇이 리뷰를 트리거하느냐”가 아니라 “리뷰가 무엇을 하느냐”다.

트리거는 여전히 사람이 주간에 한 번 당겨도 된다. 하지만 그 한 번의 트리거 뒤에 agent가 핸드오프를 이미 초안해 두면, “사람이 신호를 하나하나 기억해 재전달하거나 아니면 죽는다”가 “사람이 주간에 한 번 트리거하고, agent가 초안한 걸 승인한다”로 바뀐다. per-signal relay가 사라진다. 사람은 transport가 아니라 approver로 남는다.

삽질 ① — “자동 스케줄러로 돌리자”가 틀렸다

처음 떠올린 답은 “주간 자동 리뷰를 스케줄러 잡으로 영구히 돌리자”였다. 그런데 실제 스케줄 기능을 확인해보니 — 그 잡은 세션 스코프이고 약 7일 뒤 자동 만료됐다. “영구 자동 엔진”이 아니었다.

그 추천을 그대로 뒀으면, “매주 자동으로 돈다”고 적어 놓고 일주일 뒤 조용히 멈추는 — 정확히 우리가 고치려던 그 “조용한 증발”을 재현할 뻔했다. 그래서 정정했다. 트리거는 사람이 주간에 한 줄로 시작하고(필요하면 가벼운 리마인더가 찌르는 정도), 병목 제거의 본질은 위에서 말한 agent의 초안 작성에 있다고 명시했다.

교훈: “자동화로 해결”이라고 적기 전에, 그 자동화 수단의 수명·스코프를 먼저 확인하라. 만료되는 자동화는 자동화가 아니다.

삽질 ② — backlog가 다음 ‘dead queue’가 되지 않게

durable list를 만드는 것엔 또 함정이 있다. lifecycle이 없는 list는 병목을 “사람의 기억”에서 “stale TODO 더미”로 옮길 뿐이다. 적어 놓고 아무도 안 보면 똑같이 증발한다.

그래서 backlog를 free-form 메모가 아니라 상태 기계로 만들었다.

이 hygiene 규칙이 없으면 backlog는 그냥 더 큰 무덤이 된다.

가져갈 것


저작·인용: 이 글은 Ascendy Engineering이 작성했으며 출처 표기 시 재인용 가능합니다. 잘못된 정보를 발견하면 GitHub 이슈로 알려주세요.


Tags: monitoring, observability, feedback-loop, process-design, automation, agent-ops