Code › tail-villain

빌런을 만들기로 했다

분명 봤던건데 면접에서 입으로 나오질 않는다. 이유가 뭔지 고민하다가, 해결해줄 뭔가를 만들게 됐다.

tail-villainorigin

면접이 다가오면 항상 같은 일이 반복됐다.

노션을 열면 수십 페이지의 정리 노트가 있었다. 분산 시스템 설계, 캐시 일관성 전략, 데이터베이스 트랜잭션 격리 레벨. 공부할 때는 이해가 됐다. 근데 막상 “분산 환경에서 일관성 문제는 어떻게 다루셨어요?”같은 질문 앞에 서면, 실제로 해 본 적이 있어도, 12년치 경험이 갑자기 안개 속으로 들어가 버렸다.

경험해보지 않은 게 아니었다. 꺼내지 못하는 거였다.


에빙하우스 망각곡선이라는 게 있다. 배운 내용의 절반은 하루 만에 사라지고, 일주일이 지나면 거의 남지 않는다. 이걸 막는 방법은 하나다. 적절한 시점에 다시 꺼내는 것. 뇌는 “이건 자주 쓰이는 정보구나”라고 판단해야 장기 기억으로 옮긴다.

문제는 “적절한 시점”을 사람이 직접 관리하는 게 여간 힘든 게 아니라는 거다. 오늘 뭘 복습해야 하는지, 어느 주제가 위험 수위인지. 이걸 스프레드시트로 추적하는 사람은 없다. 그래서 지식은 노트에 쌓이고, 읽을 때는 단단해 보이다가, 압박 앞에서 증발한다.

이게 의지 문제가 아니라는 건 뇌과학이 설명한다. 압박 상황에서는 편도체가 활성화되면서 전두엽 기능이 일시적으로 억제된다. 전두엽은 기억을 꺼내고 논리적으로 정리하는 역할을 한다. 예일대학교 신경과학자 에이미 아른스텐의 연구에 따르면, 통제 불가능한 스트레스는 전두엽의 인지 능력을 빠르게, 극적으로 저하시킨다. 분명히 아는 내용도 압박 앞에서 입 밖으로 나오지 않는 건, 뇌가 생존 모드로 전환되는 기전이다.

비슷한 도구들을 찾아봤다. 이미 많이들 사용하는 LLM들(ChatGPT, Claude, Gemini…), 해외 모의면접 플랫폼, 플래시카드, Spaced Repetition App(복습 앱) 등. 각각 조금씩 아쉬운 지점들이 있었다. 내가 원하는 방식으로 맞아떨어지는 게 없었다.

그래서 만들기 시작했다.


만들다 보니 기억 유지가 사실 가장 어려운 부분이 아니었다.

노트를 읽으면 아는 것처럼 느껴진다. 수동적 인식이다. 단어가 익숙하고, 개념이 명확해 보인다. 하지만 면접은 인식을 테스트하지 않는다. 인출을 테스트한다. 보지 않고 설명할 수 있는가? 당황하지 않고 방어할 수 있는가? 꼬리 질문이 첫 답변의 허점을 건드릴 때 논리를 유지할 수 있는가?

무언가를 안다는 것과 압박 아래서 그것을 말로 설명할 수 있다는 것 사이의 간극. 대부분의 면접 준비가 실패하는 지점이 거기다.

필요한 건 더 스마트한 플래시카드 시스템이 아니었다. 나와 논쟁해줄 무언가였다.


빌런은 거기서 나왔다.

면접에서 가장 불편한 순간은 모르는 질문이 아니다. 안다고 생각해서 자신 있게 답했는데, 면접관의 표정이 뭔가 다른 걸 말할 때다. 답변이 생각보다 얕았다는 걸 드러내는 꼬리 질문. “아까는 A라고 하셨는데, 지금 말씀하신 건 B처럼 들리네요. 어느 쪽이 맞죠?”라는 지적.

그 압박이 진짜 실력을 드러낸다. 그리고 그 압박에 내성을 기르는 방법은 하나다. 낮은 위험 상황에서 반복적으로 경험하는 것.

표면적인 답변을 받아주지 않는 AI 면접관을 만들었다. 꼬리 질문을 던진다. 다섯 턴 전에 한 말을 기억한다. 모순을 잡아낸다. 왜냐고 묻고, 또 묻는다.

첫 번째 페르소나는 꼬빌이다. 꼬리질문 빌런의 줄임말. 냉혹하고 정확하며, 허풍이 통하지 않는다. 말하는 도중에 자신이 사실 무슨 말을 하는지 모른다는 걸 깨닫게 만드는 종류의 면접관이다.


ChatGPT나 Claude, Gemini등을 활용하면 안 되냐는 질문, 충분히 나올 수 있다. 솔직히 말하면, 된다. 프롬프트를 잘 넣어주면 역할에 맞춰 연습이 가능하다.

근데 매번 셋업이 번거롭고, 결국 흐지부지되는 경우가 많다.

그리고 ChatGPT등을 활용해서 꾸준히 한다고 해도, 지난주에 어디서 막혔는지 추적하게 하려면 메모리에 매번 기억시켜야 한다. 그렇게 해도 LLM 특성상 비결정적이라 정작 필요할 때 꺼내준다는 보장이 없고 제공되는 메모리가 한정적이다. 그리고 무엇보다, 그렇게 하는 것 자체가 또 귀찮다.

테일빌런은 도구가 아니라 시스템이다. 세션마다 데이터가 쌓이고, 약한 지점이 드러나고, 그게 다음 세션에 반영된다. 그리고 필요한 기능을 계속 붙여나갈 수 있다. 음성 면접, 피드백 리포트, 타겟 기업별 모드. 하나의 시스템으로 만들어두면 확장이 가능하다.

ChatGPT는 매번 새로 시작한다. 테일빌런은 내가 어디까지 왔는지 구조화하여 기억한다.


처음에는 개발자 위주로 만들었다. 나 자신도 개발자이고, 주변 사람들도 기술 면접을 준비하고 있었다. 내가 가장 잘 아는 문제부터 시작하는 게 맞았다.

그런데 만들면서 생각이 바뀌었다. 핵심 문제, 즉 아는 것과 압박 아래서 그것을 설명하고 방어할 수 있는 것 사이의 간극은 소프트웨어 엔지니어링에만 국한되지 않는다. 이해관계자에게 작업물을 발표하는 디자이너도 같은 상황이다. 로드맵 결정을 설명하는 기획자도. 고객을 설득하는 영업도. 약점을 찾는 사람들 앞에서 자신의 지식을 증명해야 하는 모든 사람.

빌런은 분야를 가리지 않는다. 반박하고, 더 깊이 파고들고, 약한 답변을 그냥 넘기지 않는 것. 위험 부담이 크고 준비가 중요한 곳이라면 어디서든 작동한다.


테일빌런은(Tail Villain) 2026년 5월에 tailvillain.com으로 베타 런칭했다. 이 시리즈는 그 과정을 기록한다.

이건 회고록이라기 보단, 실제로 겪은 대로 쓴다. 작동하지 않았던 설계, 다시 써야 했던 프롬프트와 evaluation을 통한 개선, 다양한 엣지 케이스들. 직접 0 to 1으로 만들어봐야만 알 수 있는 것들이 있다. 그게 희미해지기 전에 남겨두기로 했다.