2026-10-05-TIL: 기준을 어디에 둘 것인가
Today I Learned
사흘 동안 한 일을 돌아보면 같은 질문이 여러 번 나왔다. 무엇을 기준으로 삼을 것인가. 글은 무엇에 맞춰야 하고, 시각은 누구의 시계로 재고, 안전장치는 무엇을 막아야 하는가.
글은 사실 기록에 맞춘다
블로그에서 이력서 프로젝트를 다룬 글 마흔여 편을, 이력서 저장소의 사실 기록과 한 편씩 대조했다. 예전에 AI와 함께 쓴 글에는 실제로 하지 않은 일이 경험처럼 들어가 있었다. 검토하지 않은 대안 비교, 겪지 않은 장애 이야기, 다른 자료에서 들어온 숫자 같은 것들이다. 문장은 자연스러워서, 사실 기록과 한 줄씩 맞춰 보기 전에는 보이지 않았다.
그래서 사실 기록에 없는 내용은 빼고, 원인을 어떻게 찾았는지 기록이 없으면 “기록이 없다”고 한 문장으로 적었다. 사실 기록끼리 숫자가 다른 곳도 있었는데, 확실하지 않은 쪽을 따르기로 하고 그 숫자를 홈 화면에서도 뺐다. 글을 먼저 쓰고 나중에 검증하는 순서로는 이런 오류를 막기 어렵다. 사실을 먼저 고정하고 그 안에서 쓰는 순서가 맞다.
날짜도 같은 문제였다. 결제 프로젝트 시리즈가 저장소의 첫 커밋보다 몇 달 앞선 날짜로 적혀 있어서, 시리즈를 첫 커밋 뒤로 옮겼다. 그보다 먼저 쓴 글들이 이 프로젝트를 “직접 검증했다”고 적은 곳은 “이후 검증했다”로 고쳤다. 고정된 사실이 하나 바뀌면, 그 사실에 기대는 다른 글이 어디인지부터 찾아야 한다는 것을 배웠다.
시각은 같은 시계끼리만 비교한다
사이드 프로젝트에서 가끔씩만 실패하는 테스트를 쫓다가, 애플리케이션 서버의 시계와 DB의 시계를 섞어 쓰는 곳을 찾았다. 작업이 실행될 시각은 서버 시계로 적고, 실행할 작업을 꺼낼 때는 DB의 now()와 비교하고 있었다. 서버 시계가 DB보다 조금만 앞서 있어도 방금 넣은 작업이 “아직 때가 안 됐다”로 보였다.
고친 뒤 정한 규칙은 하나다. 시각은 같은 시계로 적힌 시각하고만 비교한다. 값을 DB 기본값으로 쓴다면 비교도 DB의 now()로 한다. 다만 몇 밀리초 늦어도 괜찮은 곳은 굳이 고치지 않았다. 보통의 시계 오차보다 여유가 충분히 크기 때문이다.
안전장치는 위험을 늘리는 행동만 막는다
주식 앱에 실제 계좌로 주문을 넣는 기능이 붙으면서, 문제가 생기면 주문을 멈추는 킬 스위치와 손실 한도를 먼저 만들었다. 가장 오래 고민한 것은 일일 손실 한도의 범위였다. 한도에 걸렸다고 매도까지 막으면, 손실을 줄이려는 정리 주문조차 못 내게 된다. 그래서 한도는 매수에만 걸었다. 같은 이유로, 실시간 시세가 끊긴 상태에서는 조건부 주문을 받지 않게 했다.
비교는 문서로 시작하고 실측으로 끝낸다
GitHub에 고정해 둔 프로젝트 여섯 개는 첫 커밋 날짜로 초기 설계 글을 썼다. 글마다 기술을 고른 이유를 대안과 비교했다. 저장소에 이유가 없던 선택은 저장소에도 근거 문서를 남기고, “나중에 재구성했다”고 밝혔다.
같은 맥락에서 시중 APM 도구 열여섯 개를 공식 문서와 가격표로 비교한 글도 썼다. 문서만으로는 설치 난이도와 실제 오버헤드를 알 수 없어서, 결제 프로젝트에 OpenTelemetry Collector를 사이에 두고 APM을 바꿔 끼울 수 있는 구조를 만들어 직접 붙여 보기로 했다. 그 결과는 따로 정리할 생각이다.
Redis에서 갈라진 Valkey도 정리했다. 새로 안 것은 데이터 파일 호환의 경계다. Redis 7.4 이상이 만든 RDB 파일은 Valkey가 읽지 못한다. 그래서 “Valkey로 옮길까”는 라이선스 문제이기 전에 “지금 몇 버전을 쓰는가”의 문제다.
AI 키워드: 혼자 일하는 에이전트를 어떻게 감독하나
같은 주에 나온 두 발표가 비슷한 방향을 가리켰다.
- OpenAI Dots: ChatGPT 안에서 하루 종일 도는 에이전트로, 자기 클라우드 컴퓨터와 브라우저를 갖는다. 처음부터 혼자 해도 되는 일과 승인이 필요한 일의 규칙이 정해져 있고, 사용자가 작업별로 허용, 차단, 승인 요구를 정한다. 비밀번호 변경처럼 민감한 작업은 항상 승인을 받는다.
- Gemini 4 Argon: Google DeepMind가 코딩, 지식 업무, 사이버 보안에 강하다고 소개한 모델이다. 보도에 따르면 처음에는 보안 방어 조직에게만 먼저 열었다.
둘 다 능력을 처음부터 모두에게 열지 않는다. 범위를 좁혀 열고, 멈추거나 승인을 받는 경로를 먼저 만든다. 실주문에 킬 스위치를 단 것과 같은 발상이다. 에이전트가 오래, 혼자 일할수록 “무엇을 혼자 하게 둘 것인가”와 “결과를 무엇에 대조할 것인가”를 먼저 정해야 한다.
댓글
아직 댓글이 없습니다