AI 에이전트가 계속 실패하는 이유는 모델 때문이 아님
The reason your AI agent keeps failing has nothing to do with the model
핵심 요약
AI 에이전트의 성능 저하는 모델 문제가 아니라, 입력 데이터에 포함된 불필요한 HTML 노이즈 때문일 가능성이 큼.
- 데이터 전처리 — 원시 HTML 대신 깔끔한 마크다운으로 변환하여 입력해야 함
- 컨텍스트 최적화 — 모델의 컨텍스트 창을 불필요한 태그와 스크립트로 낭비하지 말아야 함
- 인프라 접근 — 웹 스크래핑 레이어를 단순한 도구가 아닌 필수 인프라로 간주해야 함
- 문제 진단 — 모델 탓을 하기 전에 에이전트가 실제로 무엇을 읽고 있는지 확인해야 함
지난 8개월 동안 AI 에이전트만 주구장창 만들었다. 리서치 에이전트, 경쟁사 분석 에이전트, RAG 파이프라인 등등 안 해본 게 없다.
근데 맨날 똑같은 벽에 부딪히더라. 모델 업그레이드하고, 프롬프트 깎고, 시스템 메시지 다시 써봐도 에이전트는 여전히 절반은 쓰레기 같은 답변만 내놓음.
그러다 깨달았다. 내가 완전히 잘못된 레이어에서 삽질하고 있었다는 걸.
대부분의 에이전트 튜토리얼이 절대 안 알려주는 게 있다. LLM 성능은 결국 뭘 먹이느냐에 달렸다는 거다. 근데 다들 LLM한테 완전 쓰레기만 퍼먹이고 있음.
웹 HTML 날것 그대로 컨텍스트 윈도우에 들이붓는다고 생각해 봐라. 내비게이션 바, 쿠키 동의 배너, 광고 div, 스크립트 태그, 트래킹 픽셀, JSON-LD 덩어리까지, 본문 시작하기도 전에 온갖 잡동사니가 다 껴있다. 예전에 대충 테스트해 봤는데, 일반적인 블로그 글 하나 긁어오니까 HTML 원본이 47KB더라. 근데 실제 본문은? 고작 3KB임. LLM이 컨텍스트 예산의 94%를 노이즈 처리하는 데 쓰고 있는 거다.
그것도 그냥 단순한 정적 페이지일 때 얘기지. JS로 렌더링 되는 SaaS 가격 페이지나 쇼핑몰, 아니면 Cloudflare 뒤에 숨어있는 사이트 같은 거 건드려 봐라. 빈 응답이 오거나 에러 터지기 일쑤다.
우리는 GPT-4o니 Claude니 Gemini니 하면서 누가 더 낫네 입씨름하느라 바쁜데, 정작 모델한테 뭘 보내고 있는지는 아무도 신경 안 쓴다.
나도 똑같았다. 그러다 내가 보낸 페이로드 직접 확인하고는 진짜 현타 오더라.
그래서 HTML 날것을 에이전트에 쑤셔 넣는 짓은 그만두기로 했다. 스크래퍼랑 LLM 사이에 '웹-투-마크다운(web-to-markdown)' 레이어를 하나 끼워 넣기로 함. URL 접속해서 자바스크립트 렌더링 싹 돌리고, 본문 빼고 다 쳐낸 다음에 깔끔한 마크다운으로 넘겨주는 놈으로.
나는 Firecrawl 썼다. 브라우저 관리까지 직접 하기는 너무 귀찮았거든.
효과는 즉각적이었다. 경쟁사 가격 페이지 긁는 것만 봐도 알 수 있음. HTML 원본으로 할 때는 에이전트가 테이블 마크업에 꼬여서 숫자를 환각으로 지어내거나 답변을 거부했는데, 깔끔한 마크다운으로 넘겨주니까 그냥 가격 딱 읽고 바로 넘어가더라. 200번 테스트했는데 환각 현상 제로였다.
다들 LLM 결과물 개판인 거에 너무 익숙해져서 무력감에 빠진 것 같다. 뭐 좀 안 되면 바로 "모델이 멍청한가?", "프롬프트가 구린가?", "컨텍스트 윈도우가 더 커야 하나?" 이런 생각부터 하잖아.
물론 그것도 문제일 수 있지. 근데 그런 거 건드리기 전에 일단 이거부터 확인해 봐라. "모델이 지금 뭘 읽고 있는 거지?"
리서치 에이전트, RAG 파이프라인, 경쟁사 모니터링, 리드 인리치먼트 등등 실시간 웹 데이터를 다루는 걸 만든다면, 웹 스크래핑 레이어는 그냥 대충 넘길 문제가 아니다. 이건 인프라다. 인프라처럼 다뤄야 한다고.
물론 이게 에이전트 삽질을 다 해결해 주는 마법은 아니다. 추론 능력 문제도 있고, 프롬프트 엔지니어링도 중요하고, 모델 선택도 중요하다.
하지만 웹 기반 작업에서 에이전트가 자꾸 헛발질하는데 입력 파이프라인을 제대로 안 뜯어봤다면, 거기부터 봐라. 나는 모델이랑 프롬프트 개선한다고 두 달을 날렸는데, 정작 문제는 모든 쿼리 앞에 떡하니 버티고 있던 47KB짜리 HTML 쓰레기였다.
쓰레기를 덜 넣어야 쓰레기가 덜 나온다. 뻔한 소리 같지만, 이게 진리다.


