본문 바로가기

EP 빌드로그

EP.26 자동화 알림에서 '해야 할 일'과 '관찰 결과'를 분리하는 법

문제: 알림이 뒤섞이면 사람이 오해한다

자동화 시스템을 운영하다 보면 하나의 알림 채널로 여러 종류의 메시지가 들어온다. 실제로 무언가를 승인해야 하는 '행동 요청'과, 시스템이 그냥 기록하는 '관찰 결과'가 같은 채널에 섞이는 순간, 사람은 어느 것에 반응해야 하는지 판단하기 어려워진다.
필자는 매매 봇의 관찰(shadow) 모드를 운영하면서 이 문제를 직접 겪었다. 실제 주문을 내지 않는 관찰 상태였는데도, 추천·스캔·수동매매 관련 메시지가 실험 알림과 함께 도착했다. 실제 행동을 요청하는 메시지와 실험용 관찰 알림을 눈으로 구분하기가 쉽지 않았다.


왜 위험한가

행동 요청과 관찰 결과가 섞이면 두 방향으로 사고가 날 수 있다.

  • 잘못된 승인: 관찰용 알림을 실제 지시로 착각해 하지 않아도 될 조작을 하게 된다.
  • 상태 오해: 지금 시스템이 '실험 중'인지 '실제 운영 중'인지 헷갈려, 실험 결과를 실제 성과로 오인할 수 있다.

필자의 경험에서 얻은 핵심은 이것이다. 관찰 모드는 '주문을 내지 않는 것'만으로는 충분하지 않다. 알림 채널에서도 행동 요청과 관찰 결과를 분리해야 사람이 실수하지 않는다.


확인 절차: 알림을 분리하는 3단계

1. 메시지를 두 종류로 분류한다

모든 알림을 '사람의 행동이 필요한가'라는 기준으로 나눈다. 승인·개입이 필요하면 행동 요청, 단순 기록이면 관찰 결과다.

2. 발신 지점에서 정책을 적용한다

필자는 주문을 내보내는 게이트 단계에서 관찰 모드일 때 실거래성 메시지를 억제하도록 정책을 걸었다. 메시지를 받는 쪽에서 필터링하기보다, 보내는 쪽에서 걸러야 누락이 줄어든다.

3. 관찰 알림은 별도 경로로 유지한다

관찰 모드의 진입·청산 같은 실험 알림은 아예 다른 경로로 분리했다. 채널이나 접두어, 태그로 구분하면 눈으로도 즉시 구별된다.


적용 체크리스트

  • 각 알림에 '사람이 지금 무엇을 해야 하는가'가 명확히 드러나는가?
  • 실험/관찰 상태의 알림에 눈에 띄는 표시(접두어·채널·태그)가 있는가?
  • 실제 행동을 요청하는 메시지와 관찰 결과가 같은 채널에 섞여 있지는 않은가?
  • 메시지 억제·분리를 받는 쪽이 아니라 보내는 쪽에서 처리하는가?
  • 날짜·시간 기준의 데이터가 다음 구간으로 잘못 이월되는 오귀속은 없는가?

적용 예시

필자의 관찰 모드 적용 사례를 일반화하면 다음과 같다.

  • 관찰 모드가 켜지면 주문 게이트에서 실거래성 메시지를 억제한다.
  • 관찰용 진입·청산 알림은 별도 경로로 보내 '이건 실험'임을 분명히 한다.
  • 추가로, 시간 기준으로 처리하는 데이터(예: 특정 시점 가격 미확인 건)가 다음 날로 잘못 넘어가는 날짜 오귀속을 함께 점검한다.

알림 채널이 여럿인 서비스라면 '행동 채널'과 '로그 채널'을 물리적으로 분리하는 것도 같은 원칙의 응용이다.


한계와 주의사항

이 글의 원칙은 매매 자동화라는 특정 맥락의 경험에서 나왔다. 도메인에 따라 '행동'과 '관찰'의 경계가 다르므로, 분류 기준은 각자의 시스템에 맞게 다시 정의해야 한다.
또한 알림 분리는 사람의 오해를 줄이는 장치일 뿐, 시스템의 안전을 보장하지 않는다. 실패 시 되돌릴 방법과 실제 행동에 대한 승인 단계는 별도로 마련해야 한다. 어떤 방식도 사고 가능성을 '100% 제거'한다고 단정할 수 없으므로, 분리 후에도 실제 동작을 주기적으로 재확인하는 습관이 필요하다.
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

반응형