AI 에이전트 실전 디버깅 — 엉뚱하게 답하는 챗봇 길들이기 (Claude Code)
AI 에이전트는 만드는 것보다 "엉뚱하게 답하는 걸 잡는 것"이 진짜 일이다. 규칙 기반 챗봇을 Claude Code로 만들면서 가장 오래 붙든 게 이 디버깅이었다. 웃기면서도 식은땀 나는 사례들을 그대로 공개한다.
"바보야"라고 쳤더니 학비를 안내했다
테스트로 장난 삼아 "바보야"라고 입력했더니, 챗봇이 진지하게 학비 안내를 했다. 황당했다. 원인은 단순했다. 입력에서 비슷한 글자를 찾아 가장 점수 높은 답을 내보내는데, 기준이 너무 헐거워서 아무 말에나 억지로 답을 골라버린 거였다.
Claude와 같이 하나씩 뜯어고쳤다. 흔한 단어는 점수를 낮추고, 질문에 실제로 걸렸을 때만 답하게 문턱을 높였다.
한국어의 복병, 조사와 말끝
"도제가 뭐야"라고 물으면 못 알아들었다. '도제가'의 조사 '가' 때문에 '도제'를 못 찾은 거다. "면접을 보나요"는 '보나요'라는 말끝이 엉뚱한 질문의 '보나요'에 걸렸다.
"라면 끓이는 방법"에도 답을 하려 했다
학교랑 전혀 상관없는 "라면 끓이는 방법"을 쳤더니 입학 전형을 안내했다. '방법'이라는 흔한 단어가 '전형 방법'에 걸린 거다. 그래서 '방법·종류·정보' 같은 범용어도 약하게 처리했다. 이제 라면·날씨·노래 추천 같은 건 깔끔하게 "저는 학교 안내봇이라…"로 받아넘긴다.
그래도 사람 냄새는 남기고 싶었다
전부 기계적으로 막기만 하면 정 없다. 그래서 "사랑해", "기금이 멋지다" 같은 말엔 "저도 신입생 여러분을 응원합니다 ❤️"처럼 따뜻하게 받아치게 했다. 욕설엔 정중히 선을 긋고. 이런 디테일이 의외로 반응이 좋았다.
"방구 잘껴?"에 AI가 학과 설명을 했다
못 알아듣는 질문은 무료 AI가 거들게 해놨는데, "방구 잘껴?" 같은 완전 엉뚱한 입력에도 AI가 굳이 학과 설명을 끌어다 답을 지어냈다. 학교 자료와 1도 안 겹치는데 말이다. 그래서 규칙을 하나 더 걸었다. 학교와 관련성이 0이면 AI를 아예 부르지 않는다. 자료가 없으면 AI는 지어내기 딱 좋으니, 부르기 전에 막는 게 정답이었다.
화면도 손이 많이 갔다
로직만 문제가 아니었다. 오른쪽 메뉴를 누르면 옆 채팅창이 같이 쭉 늘어나거나, 아래쪽 메뉴를 펼치면 다른 메뉴가 반쯤 잘려 보였다. 코드를 모르는 나는 "이게 왜 이러지" 싶었지만, Claude에게 증상을 그대로 말로 설명하니 원인(레이아웃 정렬·요소 눌림)을 찾아 고쳤다.
대화 참여하기