만들면서 배운 것

"자동으로 멈추게" 만들기 — 실행 게이트를 설계한 이야기 🛠️

답답 짤

지난 빌드로그에서 이런 얘길 했었죠.

“신호의 95%는 함정이었다”고요. 그리고 글 끝에 이렇게 적어뒀습니다. “다음엔 이 자동으로 멈추게 하는 장치를 어떻게 만들었는지 뜯어볼게요.”

오늘이 그날입니다.

왜 이게 필요했나

신호를 믿을 수 없다는 걸 인정하고 나니, 질문이 바뀌었어요.

“어떻게 맞힐까”가 아니라 “틀렸을 때 얼마나 안 다칠까.”

집에 아이가 태어나면 제일 먼저 하는 게 뭘까요. 콘센트에 커버 씌우고, 계단에 안전문 다는 겁니다. 아이가 실수할 걸 막으려는 게 아니라, 실수해도 크게 안 다치게 하려는 거예요.

자동화도 똑같더라고요. 프로그램이 틀린 판단을 내릴 일은 반드시 있습니다. 문제는 그 순간에 뭔가가 자동으로 멈춰주느냐였어요.

처음엔 다 따로 놀았다

생각 짤

살펴보니 안전장치 자체는 이미 있었어요. 한도를 넘으면 막고, 시험 모드에서만 돌게 하는 로직들.

그런데 스크립트마다 각자 자기 방식대로 그 장치를 넣고 있었습니다. 코인 쪽 하나, 미국 주식 쪽 하나, 국내 쪽 하나 — 다 따로.

이게 왜 문제냐면, 규칙 하나를 고치려면 네 군데를 다 찾아가서 똑같이 고쳐야 했어요. 하나만 빼먹어도 그 구멍으로 사고가 납니다. 안전문을 계단에만 달고 베란다는 깜빡한 셈이죠.

거기다 더 근본적인 문제가 있었어요. “어제 왜 그런 판단을 했는지”를 나중에 설명할 방법이 없었습니다. 로그 파일에 문장 몇 줄 남는 게 전부였어요.

그래서 한 곳에 모으기로 했다

원리는 생각보다 단순해요. 세 가지만 지키면 됩니다.

첫째, 모든 시도를 한 곳에 기록한다. 시험이든 실전이든 상관없이, “언제 · 왜 · 얼마 · 결과”를 파일 한 줄에 남겨요. 사람으로 치면 가계부를 한 권으로 통일하는 것과 같아요.

둘째, 같은 의도의 시도는 중복 실행되지 않게 한다. 프로그램이 재시작되거나 두 번 실행돼도, “이미 했던 거잖아” 하고 건너뛰게요.

셋째, 안전 규칙을 한 곳에만 둔다. 네 개의 프로그램이 각자 규칙을 들고 있던 걸, 규칙 하나를 여럿이 같이 불러 쓰는 구조로 바꿨어요. 이제 규칙을 고치면 전체가 한 번에 바뀝니다.

✅ 실제로 검증하며 알게 된 것

화이팅 짤

말은 쉬운데 옮기는 과정은 지루했어요. 한 단계씩, 실전 모드가 아니라 시험 모드로 먼저 강제 실행해서 “거동이 똑같이 나오는지”부터 확인했습니다. 하나 고칠 때마다 이 확인을 반복했고요.

그러다 예상 못 한 소득이 하나 있었어요. 규칙을 한 곳에 모으는 과정에서, 원래 없던 방어선 하나가 저절로 생겼습니다. 국내 주식 쪽은 제가 증권업계에 몸담고 있어서 애초에 자동 실행 자체가 막혀 있어야 하는데, 예전 구조에선 그 방어가 코드에 빠져 있었더라고요. 통합하면서 발견하고 바로 채웠습니다.

이런 종류의 구멍은 화려하게 터지지 않아요. 조용히 있다가, 하필 방심한 날 문제가 됩니다.

남은 교훈

이번에 제일 크게 느낀 건, 자동화의 신뢰는 “잘 맞혔다”에서 안 나온다는 것이었어요.

“왜 그런 판단이었는지 지금도 설명할 수 있는가”, “같은 실수가 두 번 반복되지 않는가” — 신뢰는 거기서 나오더라고요.

화려한 결과 이야기는 아니었지만, 저한테는 신호를 찾는 것보다 이 멈추는 장치를 만드는 게 훨씬 오래 걸리고 훨씬 중요한 작업이었습니다.

오늘도 한 걸음. 🐴

이 글은 산업 구조와 만드는 과정을 정리한 개인 기록입니다. 특정 종목의 매수·매도 추천이 아니며, 투자 판단과 그 결과는 독자 본인에게 있습니다. · 네이버 요약본

← 글 목록으로