LLM으로 대시보드 만들기 - 마법사 Claude와 매니저 ChatGPT
"대시보드를 통째로 LLM에게 맡기면 어떻게 될까?" 쿼리만 잘 짜주는 게 아니라, 흐름도 맡길 수 있을까? Claude와 ChatGPT를 활용해 대시보드를 구성해봤습니다. 마법처럼 쏟아지는 코드와, 되묻고 정리하게 만드는 대화형 흐름. 이 실험에서 가장 많이 바뀐 건 도구가 아니라 제 사고 방식이었습니다.

쿼리는 잘 짜준다. 그런데 흐름도 맡길 수 있을까?
LLM을 사용해보면서 쿼리나 코드를 잘 생성해준다는 인상을 받고 있었습니다. 하지만 단편적인 작업이 아니라, 처음부터 끝까지 대시보드를 구성하는 흐름 전체를 맡기면 어떻게 될까? 라는 궁금증이 생겼습니다. 특히 "구독 비즈니스 대시보드"라는 주제로, 요구사항 단계부터 차근차근 LLM에게 맡겨보는 실험을 해보기로 했습니다.
어떤 모델을 어떻게 써봤는가
성능 테스트를 위한 통제된 실험보다 경험을 위한 테스트에 가까웠습니다. 작업을 실제로 진행하면서 여러 모델을 자연스럽게 비교하게 되었습니다. 사용한 모델은 다음과 같습니다:
동료와 협업하듯이, 사람이 빠르게 파악하기 쉬운 예제를 먼저 주고 "이런 식으로 만들어줘"라는 식의 접근(few-shot prompting)을 시도했고 대부분 잘 이해하고 응용하는걸 보았습니다.
Claude와 함께 일하면, Claude처럼 일하게 된다
Claude는 정말 인상적인 시작을 보여줬습니다. 다른 대시보드의 전체 코드 예제와 함께, 구독 대시보드를 만들어달라고 요청하자, 전체 YAML 스펙, SQL 쿼리, Chart.js 코드를 한 번에 작성해줬습니다. 구조도 명확하고 예제 스타일을 잘 따라옵니다.



그런데 이 마법은 오래가지 않았습니다. 수정을 요청하면 아예 새로 문서를 쓰거나, 부분적으로 알려주지 않고, 이전 버전을 수정하게 됩니다. 이때 같은 같은 내용이 중복되거나, 순서가 바뀌거나, 수정된 부분이 사라지기도 했습니다. 잘 될 때도 있었지만 문서가 뒤죽박죽이 되어버리기도 했습니다.

처음에는 Claude의 마법 같은 완성도에 감탄했지만, 결국 다시 생각하고 설계하며 직접 컨트롤해야 하는 현실을 마주하게 되었습니다. 알고는 있었지만, 혹시나 하는 기대를 품었던 것도 사실입니다. 전체적으로 수정해주다보니 응답 시간이 오래 걸리기 때문에 기다리는 시간이 많았고, 다른 업무를 하다 돌아와서 다시 맥락을 파악해야 하는 상황도 생겼습니다. 몰입이 깨진 것입니다.

또 돌이켜보면, 제가 요구사항을 명확히 전달하지 않았을 때 Claude는 아티팩트 기능으로 인해 코드화, 시각화하여 처리하려는 경향이 있었습니다. 이런 '배려'는 처음엔 편리했지만, 점점 내가 의도하지 않은 구조가 생기기도 했습니다. Claude가 알아서 처리하지 않도록 프롬프트를 더 명시적으로 제한하는 실험도 필요하겠다는 생각이 들었습니다.

ChatGPT는 마법 대신 구조를 요구한다
Claude와 협업에서 얻은 교훈을 바탕으로 ChatGPT에서는 좀더 신중하게 접근해야겠다는 생각을 했습니다.
물론 "구독 사업 대시보드 만들어줘"와 같은 단순한 요청에도 아티팩트를 만들어주는 Claude와 다르게 ChatGPT는 처음부터 마법 같은 답을 주지 않기도 합니다. 전체 코드를 주기보다는 최소한으로 알려주고, 되묻고, 선택지를 추천해줍니다.



알아서 안해주니 뇌를 다시 사용하고 판단, 의사결정하게 됩니다...
처음에는 번거롭게 느껴졌지만, ChatGPT의 이 방식 덕분에 오히려 생각을 정리하고, 요구사항을 축소하며, 작업을 구조화하게 되었습니다.
- 1단계: 지표 추천 받고, 요구사항 축소
- 2단계: SQL 테이블과 쿼리 추천 받기
- 3단계: 해당 쿼리를 시각화할 Chart.js 스크립트 요청
- 4단계: 셀렉트어드민에 반영



few-shot prompting으로 진행. 특정 부분에 대한 요청만 하였고, 셀렉트어드민에서 알맞는 부분만 찾아서 수정하였습니다.
- few-shot prompting에 사용한 셀렉트어드민 예제: https://ask.selectfromuser.com/t/chartjs-displayfn/448
ChatGPT는 대화가 길어져도 문제가 없었고, 이전 대화를 돌이켜보며 맥락을 더 잘 활용하게 되었습니다. 마치 슬랙에서 협업을 하는 느낌과 같았습니다. 추가로 메모리 기능 덕분에 점점 ‘나에게 맞는 도우미’처럼 느껴지기도 했습니다.
단점이 있다면, JS 코드가 길어질 경우 일부가 잘리거나 누락되는 경우가 있다는 점입니다. 하지만 Claude처럼 한 번에 덩어리로 처리하지 않기 때문에, ChatGPT는 쪼갠 부분에만 수정을 해주면 되었고, 고민하는 지점이 더 단순해졌습니다.
LLM의 답변 방식이 '내 일 방식'에 영향을 준다
흥미로운 점은, 처음 Claude를 쓸 때는 Claude가 제시하는 구조대로 따라가게 되었고, ChatGPT를 쓸 때는 나 자신이 다시 주도권을 쥐고 구조를 만들어가게 되었다는 점입니다.
Claude는 "전체를 던져주고 수정하라"는 식이고, ChatGPT는 "쪼개서 정의하고 검토하자"는 스타일로 일을 진행한 것입니다. LLM의 답변 방식이 곧 내 작업 흐름과 사고 방식에 영향을 주었습니다.
교훈: 결국 흐름을 설계하는 사람은 나였다
Claude든 ChatGPT든, 가장 중요한 건 내가 문제를 정의하고, 단계를 나누고, 역할을 분리할 수 있는가였습니다. 두 모델 모두 강력하지만, 목적과 상황에 따라 적합한 흐름이 다릅니다.
이런 시도를 해본 결과 만족스러운 워크플로우는 다음과 같습니다. 실무에서 이렇게 활용해보시면 좋겠습니다:
- 문제 정의 (예: 어떤 지표를 보고 싶은가?)
- 최소 스펙 정리 (핵심 지표, 기간, 사용자 필터 등)
- 기능 분해 (SQL 쿼리, Chart.js 코드 등)
- 순차적 요청 (Claude or ChatGPT에 따라 응답이 달라 주도적인 피드백 필요)
LLM은 어떻게 사용하느냐가 정말 중요한 것 같습니다. 그리고 더 많이 다양하게 사용해보아야 장점과 한계를 더 구체적으로 느낄 수 있었습니다.
앞으로 더 다양한 사용법과 플로우를 이어서 다뤄보려고 합니다. 아래에서 블로그를 구독하면 관련 소식을 받아보실 수 있습니다.
감사합니다.