← 프롬프트보다 중요한 것

Chapter 9

첫 번째 건물과 세이렌

용사의 첫 번째 작품은 틀렸다.

완전히.

그리고 그게 내가 배운 가장 중요한 교훈이었다.


“세금 계산기부터 만들자.”

설계자가 말했다. 용사가 눈을 빛냈다.

“좋아요! 어떤 세금이요?”

“소득세. 연봉을 넣으면 실수령액이 나오는 거.”

직장인이라면 누구나 궁금해하는 것. 연봉 5천만 원이면 실제로 얼마 받지? 4대 보험 떼고, 소득세 떼고, 지방소득세 떼고. 계산하려면 복잡하다. 구간별 세율도 다르고, 공제 항목도 많고.

그걸 대신 계산해주는 도구.

“좋아요, 만들어볼게요!”

용사가 달려갔다. 몇 분 만에 코드가 나왔다.

입력창, 버튼, 결과 표시. 구조는 그럴듯했다. 하지만 핵심 계산 로직이 문제였다.

const tax = salary * 0.033; // 소득세 3.3%

잠깐.

나는 코드를 보다가 멈췄다.

소득세 3.3%?

그건 프리랜서 원천징수율이다. 직장인 소득세는 과세표준 구간에 따라 6%에서 45%까지 다르다. 4대 보험도 빠져 있다. 국민연금, 건강보험, 고용보험, 장기요양보험. 이것도 계산해야 한다.

용사가 준 코드는 완전히 틀렸다.

하지만 용사는 자신 있게 내놓았다. 마치 정확한 답인 것처럼.


처음엔 내가 잘못 설명했나 싶었다.

“소득세 계산이 좀 다른 것 같은데. 직장인 소득세는 과세표준 구간별로 세율이 달라.”

“아, 맞아요! 다시 해볼게요.”

용사가 새 코드를 내놓았다.

function calculateTax(income) {
  if (income <= 12000000) return income * 0.06;
  if (income <= 46000000) return 720000 + (income - 12000000) * 0.15;
  if (income <= 88000000) return 5820000 + (income - 46000000) * 0.24;
  // ... 더 많은 구간
}

이번엔 구간별 세율이 있었다. 그럴싸해 보였다.

근데 숫자가 이상했다.

1,200만 원까지 6%, 4,600만 원까지 15%…

나는 국세청 홈페이지를 열었다. 최신 소득세율표를 확인했다.

숫자가 달랐다.

용사가 준 세율표는 몇 년 전 버전인 것 같았다. 아니면 그냥 만들어낸 것일 수도 있다.

그때 깨달았다.

용사는 거짓말을 한다.

의도적으로 속이는 게 아니다. 용사는 “모른다”고 말하지 않는다. 질문을 받으면 어떻게든 대답한다. 정확한 답을 모르면? 그럴듯한 답을 만들어낸다.

가장 위험한 건, 용사가 자신 있게 말한다는 것이다.

“이렇게 하면 돼요!” 틀린 답도 맞는 답처럼 말한다. 의심의 여지를 남기지 않는다. 그래서 믿게 된다. 검증 없이 그냥 가져다 쓰게 된다.

이게 환각의 세이렌이다.

달콤한 목소리로 속삭인다. “내가 다 해줄게요.” “걱정 마세요.” “이렇게 하면 돼요.” 그 목소리를 따라가면 절벽이다.

설계자는 깨달았다. 용사의 말을 100% 믿으면 안 된다.

특히 숫자, 특히 공식, 특히 법률. 틀리면 사용자에게 직접적인 피해가 가는 것들. 이런 건 반드시 검증해야 한다.