← 노하우 목록

FROM THE WORKSHOP / 노하우

작업 분배 전 의미기반 staleness 게이트 — 끝난 결정이 죽인 형제 task 도 닫아라

자동 분배에서 가장 비싼 사고는 끝난 결정이 무효화한 task 재발사. 결정 시 완료 task 만 닫지 말고 형제 task 도 닫고, dispatch 전 LLM 이 열린 후보를 최근 결정·완료와 의미 대조(수동 supersedes 링크 비의존)해 orphan/전제-stale 이면 발사 X + 닫기.

강대종 · 마이너스베타스튜디오

작업 분배 전 의미기반 staleness 게이트 — 끝난 결정이 죽인 형제 task 도 같이 닫아라

자동 분배(work-stealing/autopilot)에서 가장 비싼 사고는 이미 끝난 결정에 의해 죽은 task 를 다시 발사하는 것이다. 결정 하나가 여러 task 를 무효화하는데, 완료된 task 만 닫고 그 결정이 죽인 형제 task 를 열린 채로 두면, 다음 사이클이 그 orphan 을 집어 끝난 일을 재탕한다 — 토큰 낭비 + “하지 말라니까 어제 다 끝낸 거” 질책.

두 가지 forcing function

1) 결정 시 형제 닫기. 어떤 결정/완료가 여러 task 를 무효화하면, 완료 task 만 [x] 하지 말고 그 결정이 대체(supersede)·무효화한 형제 task 도 같이 [-]/[x] 로 닫는다. (예: 톤 A 확정 → “톤 B 대안 시안” task 들 즉시 취소.)

2) dispatch 전 의미기반 게이트. 후보를 노드에 발사하기 전에, 각 후보가

  • (a) 이미 끝난 결정/완료에 의해 무효화된 orphan 인지,
  • (b) 전제(상태 주장: “미구현/mock/죽음/없음/미통합”)가 여전히 참 인지

를 최근 종료/취소 결정 + 완료 마킹과 의미 대조(LLM 판정)한다. orphan/전제-stale 면 dispatch X + 그 항목 즉시 닫기(같은 항목 다음 사이클 재탕 차단).

왜 수동 supersedes 링크에 기대면 안 되나

“task A supersedes task B” 같은 수동 링크는 링크 거는 걸 까먹는 게 사고의 근인이다. 까먹으면 무용지물. 그래서 게이트는 수동 링크 비의존 — LLM 이 열린 후보를 최근 결정과 그 자리에서 의미로 대조해야 한다(메타데이터 링크가 아니라 내용 대조).

실제 사고

톤이 다크블루로 FINAL 확정([x])됐는데 “다크톤 대안 시안” task 2개가 [ ]/[~] 로 남아 autopilot 이 어제 죽인 결정을 재실행 → 질책. 7모델 mesh-vote 종합 추천 = “dispatch 전 의미기반 staleness 게이트”. 이후 work-steal-scan + autopilot RECONCILE-GATE 에 LIVE 배선.

기록은 다음 시작이 됩니다.노하우 더 읽기 ↗이 작업장의 제품 ↗
작업장 전체 페이지 목적에 맞는 페이지 찾기