CodeKitHub
세금·급여 계산기가 조용히 낡아 가는 것을 막는 방법

세금·급여 계산기가 조용히 낡아 가는 것을 막는 방법

게시일 2026년 8월 4일

이 사이트에서 세금, 사회보험, 최저임금을 다루는 모든 계산기는 같은 실패 양상을 갖고 있습니다. 만든 날에는 정확하지만, 여섯 달 뒤 정부가 요율을 바꾸면 도구는 소리 없이 틀린 답을 내놓기 시작합니다. 아무도 에러 메시지를 받지 않습니다. 페이지는 전과 똑같이 잘 작동합니다 — 다만 이제는 틀렸고, 그것도 아주 자신만만하게 틀렸을 뿐이죠.

이건 도구가 아예 없는 것보다 나쁜 결과입니다. 그래서 저희는 이를 잡아내기 위한 시스템을 따로 만들었습니다.

“잊지 않고 확인하면 되지”의 문제

당연해 보이는 해결책 — “주기적으로 숫자를 확인하면 된다” — 은 규모가 커지면 통하지 않습니다. 저희는 대여섯 개 나라에 걸쳐 실수령액, 사회보험, 급여 계산기를 운영하고 있고, 나라마다 고유한 세율 구간, 기여율, 매년 조정되는 기준액이 있습니다. 누군가 다시 확인해야겠다고 생각하기까지 흘러가는 몇 달을 곱해 보면, 솔직한 답은 이렇습니다. 언젠가는 무언가가 낡아 버리고, 사용자가 알아챌 때까지 아무도 모릅니다.

대신 저희가 만든 것

레지스트리 파일 하나에 모든 계산기의 하드코딩된 공식 수치를 전부 기록합니다. 어느 파일에 있는지, 그 숫자가 무엇을 의미하는지, 공식 출처는 어디인지, 현실적으로 얼마나 자주 바뀔 것으로 예상되는지(어떤 값은 새 회계연도가 시작되는 1월마다 움직이고, 어떤 값은 법 개정 때만 바뀌어서 예측 불가능하지만 드뭅니다)까지요.

예약된 작업이 매주 실행되어 그 일정에 따라 검토가 필요한 항목을 확인하고, 각 항목에 대해 다음을 수행합니다.

  1. 공식 정부 출처에서 현재 값을 검색합니다
  2. 언어 모델에게 검색 결과에서 해당 숫자만 추출하도록 요청합니다 — 다른 건 없고, 숫자와 신뢰도만요
  3. 모델이 확신하고 숫자가 바뀌었다면, 코드에 문자 그대로의 검증된 텍스트 치환으로 적용합니다 (자유로운 재작성은 절대 아닙니다 — 모델은 주변 로직을 임의로 손댈 수 없습니다)
  4. 커밋하기 전에 전체 빌드를 실행해 아무것도 깨지지 않았는지 확인합니다
  5. 빌드가 실패하면 변경이 자동으로 되돌려지고 사람이 살펴보도록 플래그가 붙습니다

전체 시스템은 단순한 원칙을 중심으로 설계됐습니다. 자동화는 숫자를 업데이트할 수는 있지만, 추측하는 것은 절대 허용되지 않습니다. 공식 출처에서 확신할 만한 답을 찾지 못하면 아무것도 하지 않고 그 사실을 명확히 보고합니다. 그럴듯해 보이는 틀린 숫자를 남겨 두는 대신에요.

특정 도구에 의존하지 않기

이 작업 자체는 특정 벤더나 계정에 종속되지 않은 인프라에서 실행됩니다. 파이프라인의 한 부분이 다운되더라도 시스템 전체가 멈추지 않고, 숫자를 추출하는 다른 경로로 대체될 뿐입니다. 이런 이중화는 대부분의 자동화에서보다 여기서 훨씬 중요합니다. 틀린 세금 계산기는, 이를테면 고장 난 밈 생성기와는 차원이 다르게 실질적인 해를 끼치니까요.

사용자에게 의미하는 것

이 시스템이 관리하는 모든 계산기는 일반 콘텐츠 페이지에서 볼 수 있는 “마지막 업데이트” 날짜와는 별개로, “공식 데이터 검증” 날짜를 페이지에 직접 표시합니다. 그 날짜가 의심스러울 만큼 오래돼 보인다면 저희에게 직접 알려 주실 만한 일입니다. 대개는 저희가 잊어버린 게 아니라, 자동 점검이 파싱할 수 없는 출처를 만났다는 뜻이니까요.

직접 써 보세요

아래는 각 나라의 규정에 맞춰 만들어진 단일 언어 도구라서, 링크가 해당 언어로 열립니다.

← 블로그로 돌아가기