AI 자동매매 안전장치 3가지 — 실제 돈을 맡기기 전에 먼저 만든 것들
"일단 돌려보고 고치자"가 안 통하는 영역
주문이 한 번 체결되면 되돌릴 수 없다. 자동매매에서 버그는 "죄송합니다"로 끝나지 않고 손실로 그대로 남는다. 그렇다면 질문은 하나로 좁혀진다. AI 에이전트가 짠 코드를, 사람이 매 순간 들여다보지 않아도 될 만큼 믿으려면 무엇이 먼저 있어야 하는가. 그런데도 소프트웨어를 만들 때 흔한 접근법은 이 질문과 정반대로 움직인다 — 일단 작동하는 버전을 빨리 만들고, 문제가 생기면 그때 고친다.
웹사이트나 앱이라면 이 방식이 대체로 괜찮다. 버그가 나도 롤백하면 되고, 사용자에게 사과하면 된다. 하지만 실제 돈이 오가는 시스템에서는 그 전제가 무너진다. 그래서 AI 에이전트 여러 개에게 기획·개발·검증 역할을 나눠 맡기기로 했을 때, 가장 먼저 손댄 건 전략 로직이 아니라 "이 시스템이 스스로 사고를 칠 수 없게 만드는 장치"였다.
왜 전략보다 안전장치를 먼저 만들었나
돌이켜보면 이 순서가 직관과는 반대였다. 보통은 "얼마나 벌 수 있는가"가 먼저 궁금하고, 리스크 관리는 나중에 붙이고 싶어진다. 하지만 몇 가지 이유로 순서를 뒤집었다.
첫째, 전략은 틀려도 손실이 제한적이지만 안전장치 부재는 손실 상한 자체가 없다는 뜻이다. 아무리 좋은 전략도 안전장치 없이 돌리면 한 번의 이상 상황으로 전부를 잃을 수 있다.
둘째, AI 에이전트에게 코드를 맡긴다는 것 자체가 새로운 리스크였다. 사람이 직접 짠 코드라면 "이 부분은 내가 확실히 검토했다"고 믿을 구간이 있는데, 여러 AI가 나눠 짠 코드는 그 신뢰를 처음부터 다시 쌓아야 했다. 안전장치는 "AI가 잘못 짰을 가능성"까지 전제하고 설계해야 했다.
셋째, 안전장치를 나중에 붙이면 "이미 돌아가는 시스템에 억지로 끼워 맞추는" 형태가 되기 쉽다. 처음부터 안전장치를 통과해야만 주문이 나가는 구조로 짜두면, 어떤 코드가 나중에 추가되더라도 그 구조를 벗어날 수 없다.
자동매매 안전장치 3가지: 예산 한도·비가역 결정 차단·사람의 최종 승인
구체적인 코드나 임계값은 이 글에서 밝히지 않는다(실제 운영 중인 시스템의 상세는 공개하지 않는다는 원칙이다). 다만 어떤 종류의 장치를 왜 뒀는지는 정리할 수 있다. 손절선이나 포지션 한도 같은 규칙 수준의 설계는 자동매매 리스크 관리 규칙 설계에서 따로 다뤘다.
1. 예산 한도. 시스템 전체가 건드릴 수 있는 자금 규모에 명확한 상한을 뒀다. 전략이 아무리 확신에 찬 신호를 내더라도, 이 상한을 넘는 주문은 애초에 생성 자체가 막히도록 했다. "이번엔 확실하니까 더 넣자"는 판단을 AI도, 사람도 실시간으로 내릴 수 없게 만든 셈이다. 요청이 몰리는 상황에서 이 한도를 어떻게 지켰는지는 증권 API 레이트리밋과 재시도 설계에서 다뤘다.
2. 비가역 결정 차단. 되돌릴 수 없는 종류의 행동(예: 특정 임계 이상의 주문, 시스템 설정 자체를 바꾸는 행동)은 AI가 단독으로 실행할 수 없게 경로를 분리했다. "실행 가능"과 "실행해도 되는 조건을 만족했는지 재확인"을 서로 다른 구성요소가 담당하게 만들어서, 하나의 버그가 바로 실행으로 이어지지 않도록 했다.
3. 사람의 최종 승인. 일정 조건을 넘는 행동은 사람이 마지막으로 확인해야만 실제로 실행되게 했다. 이게 가장 느린 지점이었다. 자동화의 의미가 퇴색되는 것 아니냐는 생각도 들었다. 하지만 "느리다"는 건 안전장치가 제 역할을 하고 있다는 증거이기도 했다.
이 설계가 실제로 시험대에 오른 순간
이 안전장치들이 그냥 이론으로 남았으면 이 글을 쓸 이유도 없었을 것이다. 모의투자와 초기 실전 단계에서, 코드의 사소한 실수가 실제로 몇 번 발견됐다. 그때마다 안전장치가 그 실수를 실제 손실로 넘어가지 못하게 막아줬다. 모의투자 단계에서 구체적으로 어떤 문제들이 이렇게 걸러졌는지는 모의투자 단계에서 배운 것들에서 다뤘다.
사고가 나서 안전장치를 만든 게 아니라, 안전장치가 있었기 때문에 사고가 사고로 번지지 않은 순서였다는 점이 지금 돌아봐도 다행스럽다. 이 세 가지를 포함해 실전 투입 전 전체 점검 항목을 정리한 게 자동매매 실전 투입 전 체크리스트다.
오늘의 교훈 정리
- 자동매매처럼 되돌릴 수 없는 행동을 다루는 시스템은 전략보다 안전장치를 먼저 설계하는 게 순서상 맞다.
- 예산 한도·비가역 결정 차단·사람의 최종 승인, 이 세 가지는 서로 다른 종류의 실패를 막아주기 때문에 하나로 뭉뚱그릴 수 없다.
- 안전장치가 "느리게 느껴진다"는 건 결함이 아니라, 그 장치가 실제로 관문 역할을 하고 있다는 신호로 봐야 한다.
다음 글에서는 안전장치가 실제로 작동하려면 시스템이 증권사와 어떻게 통신하는지, 즉 증권사 REST API 인증과 잔고 조회의 일반적인 흐름을 개념 위주로 다뤄본다.
익명의 1인 운영자가 AI 에이전트 조직으로 자동매매 시스템을 만든 경험을 정리한 글이며, 계좌·금액·소속 등 특정 가능한 정보는 모두 제외했습니다. 안전장치를 다루지만 이 글 자체가 투자 조언이 아니고, 특정 종목이나 매매기법을 권하지도 않습니다. 그 어떤 수익도 보장하지 않으며, 투자 결과에 대한 책임은 투자자 본인에게 있습니다.