AI VIDEO BRIEFING
코딩 에이전트 스프레드시트 정복기 — REPL과 검증 루프로 정확도 92% 달성
AI 코딩 에이전트가 엑셀을 다루기 어려운 이유와, 15개 도구를 하나의 Node.js REPL로 바꿔 재무 분석 정확도를 50%에서 92%로 올린 위탄랩스의 4개월 실험을 정리했다.

핵심 메시지
쉽게 이해하기
사람은 엑셀 파일을 열면 매출 표, 가정치, 차트가 어디 있는지 시각적으로 즉시 파악한다. 하지만 대규모 언어모델(LLM)은 이런 구조를 보지 못한다. '매출이 얼마냐'는 질문 하나에도 순매출인지 총매출인지, 어느 분기·연도인지, 그 숫자가 입력값인지 수식 결과인지를 스스로 가려내야 하므로 스프레드시트는 겉보기보다 훨씬 어려운 과제다.
발표자 누노 캄포스는 초기에 작업을 세 개의 에이전트로 나누고, 중심이 되는 편집 에이전트가 '최종 상태 정의 → 계획 → 실행 → 검증'의 다섯 단계를 밟게 했다. 이 방식은 오류의 성격을 실행 중 실수에서 계획 단계 실수로 바꿔 고치기 쉽게 만들었지만, 구조가 너무 경직돼 초반 탐색을 다시 못 하고 에이전트 간 맥락이 흐르지 않아 막다른 길이 됐다.
돌파구는 누적된 약 15개의 도구를 자바스크립트 함수로 바꿔 단일 Node.js REPL 호출 안에서 조합하게 한 것이었다. 자바스크립트는 샌드박스가 쉽고 LLM이 익숙하며(파이썬도 무방), 실제 파일 처리는 C#으로 따로 구현했다. 예전에는 답 하나에 10~15번의 순차 도구 호출이 필요해 자주 타임아웃됐지만, 이제 에이전트가 여러 작업을 한 번의 호출로 묶어 결과를 동시에 받는다.
REPL은 애초 여러 도구를 한 호출로 합치는 '코드 모드'에서 한발 더 나아가 상태가 유지된다는 점이 다르다. 변수를 정의하고 결과를 본 뒤 다음 호출에서도 그 변수가 남아 있어 작업을 이어 쌓을 수 있다. 순수 코드 모드에서는 50줄짜리 긴 스크립트를 쓰던 에이전트가, REPL에서는 더 짧은 스크립트를 쓰고 각 단계 사이에 추론을 끼워 넣어 더 빠르게 좋은 답에 도달했다.
스프레드시트 작업을 코딩처럼 만들려면 피드백 루프가 필요했다. 팀은 수식을 계산하는 엔진과 특정 범위를 서식·레이아웃까지 이미지로 렌더링하는 엔진을 만들어 에이전트가 스스로 결과를 확인하고 틀리면 고치게 했다. 다만 엔진이 엑셀 수식의 절반만 구현하는 식으로 불완전하면, 에이전트가 맞는 수식을 써도 엔진이 계산을 못 해 오히려 결과가 나빠진다. 검증 루프는 그것을 떠받치는 엔진만큼만 정확하다.
주요 인사이트
- 정확도는 REPL 도입으로 50%→74%로 뛴 뒤, 퍼지 검색·수식 의존성 추적·시스템 프롬프트 개선·버그 수정 같은 작은 개선이 쌓여 92%에 이르렀다. 5분 타임아웃으로 자주 실패하던 작업도 REPL 방식에서는 사실상 타임아웃이 사라졌다.
- 새 기능을 추가할 때 예전에는 도구를 여러 개 만들어 스키마에 넣어야 했지만, REPL에서는 자바스크립트 메서드를 몇 개 더 열어주고 그 정의를 TypeScript 타입 파일로 프롬프트에 넣기만 하면 돼 확장이 훨씬 쉬웠다.
- 프롬프트에 도메인 지식(예: ARR·매출 같은 개념을 어디에 집중할지)을 넣는 것은 모든 구조 변경에도 살아남아 꾸준히 성능을 올렸다. 모델이 몰라서가 아니라 너무 많은 것을 알기에 특정 작업에 주의를 '상기'시키는 역할이었다.
- 평가는 처음엔 LLM 심판만 썼지만 점수 변화가 에이전트 때문인지 평가자 때문인지 구분하기 어려웠다. 가능한 곳에서는 정답 스프레드시트에 같은 입력을 넣어 같은 출력이 나오는지 보는 결정론적 비교로 바꿨다.
- 에이전트의 '멍청해 보이는' 행동은 종종 진짜 추론 실패가 아니라 도구나 프롬프트의 버그였다. 트레이스를 직접 들여다보는 것이 문제를 가려내는 핵심이다.
자주 묻는 질문
REPL과 '코드 모드'는 무엇이 다른가?
코드 모드는 여러 도구를 한 번의 호출로 합쳐 실행하는 방식이고, REPL은 여기에 더해 상태가 유지된다. 앞선 호출에서 정의한 변수가 다음 호출에도 남아 있어 에이전트가 작업을 이어 쌓고, 각 단계 사이에 추론을 끼워 넣을 수 있다.
왜 검증 루프를 위해 엔진을 직접 만들었나?
코딩 에이전트가 컴파일러·린터·테스트로 결과를 확인하며 개선하듯, 스프레드시트도 수식 계산 엔진과 렌더링 엔진으로 결과를 확인하는 피드백 루프가 필요했기 때문이다. 다만 엔진이 불완전하면 오히려 결과가 나빠진다.
이 경험에서 일반화할 수 있는 교훈은?
에이전트가 순차·병렬 도구 호출을 많이 한다면 사실상 조악한 스크립트 언어를 만든 셈이니 진짜 언어(코드 모드·REPL)를 주고, 도메인에 맞는 피드백 루프를 구축하며, 인터페이스는 모델 발전에 맞춰 다시 검토하고, 가능하면 결정론적 평가를 쓰라는 것이다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗