
프롬프트를 다듬지 말고 업무를 나누세요. AI를 분업시켜 '자동 분석 도구' 만들기
요약
모호한 질문에도 스스로 분석 계획을 세우고 Python 코드를 작성·실행하여 데이터를 분석하는 AI 워크플로우 구축 사례를 소개합니다. 사용자의 승인 단계를 거쳐 AI의 폭주를 방지하며, 데이터 수집부터 시각화까지 자동화하는 실용적인 에이전트 구현 방법을 다룹니다.
핵심 포인트
- 단일 프롬프트 대신 단계별 계획 수립과 인간의 승인을 거치는 워크플로우 설계
- 모호한 질문을 구체적인 분석 목표(좋아요, 댓글 등)로 해석하는 능력 활용
- AI가 직접 Python 코드를 생성하고 실행하여 결과와 그래프를 도출하는 자동화
- 데이터 분석의 전 과정을 에이전트화하여 반복적인 분석 업무 효율화
AI에게 작업을 통째로 맡기고 싶다.
그것도 단순 작업이 아닌, 데이터 분석과 같은 "머리를 쓰는 지적인 작업"을!
AI 워크플로우 (AI Workflow)라면 그것이 가능하다.
게다가 간단하게.
실제로 "자동 데이터 분석 AI"를 만들어 보았다.
최근 Qiita에 글을 쓰고 있다.
써 보니 이것이 꽤 즐겁다.
하지만 고민이 있다.
"잘 나가는 글"과 "안 나가는 글"의 차이를 전혀 모르겠다!
30분 만에 뚝딱 쓴 글이 잘 나가고, 시간을 들여 공들여 쓴 자신작이 "좋아요 0개"인 경우가 있다.
그렇게 되면 무엇이 잘못되었는지 궁금해진다.
- 게시한 요일이 안 좋았나?
- 제목이 너무 길었나?
- 억지로라도 "AI" 태그를 붙였어야 했나?
등등.
사실 이것은 데이터로 답을 낼 수 있다.
"무슨 요일에 게시해야 '좋아요'가 잘 붙는가?"
"제목의 길이와 '좋아요' 수 사이에 관계가 있는가?"
이것들은 대량의 기사 데이터를 조사하면 알 수 있다.
다행히 Qiita는 데이터를 취득할 수 있는 구조(공식 API)를 공개하고 있다. 실제로 약 2만 건(약 1개월분)의 기사를 수집했다.
그럼 남은 것은 분석하면 될 뿐이다.
하지만 직접 하려고 하면 매우 귀찮다.
생각할 것이 많기 때문이다.
무엇을 조사할 것인가. "요일별 평균 좋아요 수는?"
어떻게 분석할 것인가. "요일별로 기사를 나누어 평균 좋아요 수를 비교하자"
그 후, Python을 작성하여 데이터를 집계하고 그래프를 작성한다.
마지막으로 해석한다. "어느 요일에 게시해야 잘 나가는가?"
매번 이 작업을 하는 것은 번거롭다. 분석하고 싶은 것은 많다.
어떻게 하면 편하게 할 수 없을까?
그래서 AI에게 분석을 통째로 던져버릴 수 있는 시스템을 만들었다.
예를 들어, "기사를 게시하기에 최적인 일시는?"라고 질문하는 것만으로 AI가 기사 데이터를 분석하여 답을 돌려준다.
실제 동작을 살펴보자.
의문을 그대로 던진다.
"기사를 게시하기에 최적인 일시는?"
그러면 AI가 계획을 내놓는다.
"그럼 이런 순서로 조사하겠습니다!"라는 식으로.
AI의 폭주를 막고 싶다.
그래서 곧바로 코드를 작성하게 하지 않는다.
"먼저 계획을 세우게 하고, 인간이 '그 조사 방법으로 OK!'라고 확인하는" 단계를 거친다.
실제로 생각하게 한 분석 계획(발췌)
분석 계획:
목적:
사용자가 "언제 기사를 게시하는 것이 가장 효과적인가"를 판단하기 위한, 게시 일시와 인게이지먼트 (Engagement; 좋아요 수, 댓글 수, 스톡 수)의 상관관관계를 밝히는 것.
...
느낌이 좋다.
주목해야 할 점은 던진 질문이 상당히 모호하다는 것이다.
무엇을 "최적"으로 만들고 싶은 거지?
좋아요 수? 댓글 수?
아니면 게시 후에 몇 번이나 Qiita를 열어 알림이 왔는지 확인하는 횟수?
하지만 AI는 정확하게 읽어주었다.
"좋아요 수, 댓글 수, 스톡 수를 최대화하고 싶구나"라고.
계획을 승인하자.
그러면 AI가 Python 코드를 작성해 준다. 분석 코드와 그래프 그리기 코드.
코드 생성뿐만 아니라 실행도 해준다. 즉, 인간이 코드를 복사해서 실행할 필요조차 없다.
최종적으로 돌아온 답이 이것이다 (일부 생략·요약).
좋아요 수나 댓글 수를 중시한다면, 월요일 오전 9시가 최적입니다.
높은 인게이지먼트를 가진 기사는 월요일~화요일 오전에 많이 게시되었습니다.
"결국 언제 게시하면 돼?"를 딱 잘라 알려주었다.
정말 맞는지 궁금할 것이다.
사실 근거도 직접 눈으로 확인할 수 있다.
왜냐하면 집계 결과도 내주기 때문이다.
# 집계 결과
--- 시간대별 평균 인게이지먼트 추이 ---
likes_count comments_count stocks_count
...
그리고 그래프까지 내준다!
'장난감' 수준이 아니라 실용성이 확실한 것이 만들어졌다.
분석 계획은 타당하다. 코드도 테스트해 본 바로는 한 번도 실수하지 않았다.
물론 완벽하지는 않다.
그래프는 가끔 이상해진다.
예를 들어 이것. 시각이 정렬되어 버렸다.
하지만 틀린 것은 아니다. 보기 불편할 뿐.
이런 세세한 부분은 아직 인간이 확인하는 편이 좋다.
그래도 놀랐다.
설마 이 정도로 잘 자동화할 수 있을 줄은 몰랐다.
이것으로 분석이 편해진다.
나 스스로도 계속 사용하고 싶은 것이 만들어졌다.
참고로 이 시스템은 단 이틀 만에 만들 수 있었다.
왜 간단하게 만들 수 있었을까?
하나의 AI에게 전부를 시키지 않았기 때문이다.
AI에게 복잡한 일을 맡길 경우, AI가 헤매지 않도록 만들어야 한다.
그래서 본래라면 세세한 지시사항을 만들어 넣어야 했다.
즉, **예술적인 프롬프트 조정 (Prompt Engineering)**이 필요하다.
하지만 이번에는 그럴 필요가 없었다.
데이터 분석은 사실 공정이 많다.
- 무엇을 조사할지 결정 (계획)
- 프로그램을 작성 (구현)
- 그래프를 생성 (시각화)
- 결과를 문장으로 정리 (고찰)
지금까지는 한 번에 다 하려고 했다.
즉, 하나의 프롬프트에 전부 때려 넣고 있었다.
비유하자면, 유능한 프로그래머에게 모든 것을 통째로 떠넘기는 것과 같다.
"요건 정의하고, 설계하고, 구현하고, 테스트하고, 문서까지 써줘"라고 혼자서 동시에 시킨다면, 아무리 유능한 프로그래머라도 어느 지점에서 누락이 발생한다.
AI도 마찬가지다.
분석 계획, 코드 작성, 그래프 생성, 결과 고찰.
전부 별개의 업무다.
동시에 시킨다면 유능한 AI라도 실수를 할 것이다.
하나의 프롬프트로 전부 하려는 것은 무리가 있다.
그러니, 분할하자.
4개의 AI에게 업무를 분담시켰다.
이것은 전문가 4명을 준비해 둔 것과 같다.
- 계획을 세우는 전문가
- 코드를 작성하는 전문가
- 그래프를 만드는 전문가
- 결과를 정리하는 전문가
이렇게 하면 불필요한 판단이 필요 없어진다.
계획을 세우는 전문가는 코드 작성법을 고민할 필요가 없다.
코드를 작성하는 전문가는 분석 방침을 생각할 필요가 없다.
단, 구동하는 AI 모델 자체는 하나뿐이다.
이 설명만 들으면 AI 모델을 4개 구동하고 있다고 생각할지도 모른다.
설마 그럴 리가 없다.
실제로는 하나의 AI 모델에 대해 전용 프롬프트를 4개 준비했을 뿐이다.
AI 모델에 역할을 갈아입히는 이미지다.
결과적으로 프롬프트를 심플하게 만들 수 있다.
예를 들어, 계획 AI의 프롬프트를 살펴보자.
사실은 "역할·데이터 형식·출력"만을 적고 있다.
방대한 예시나 세세한 조건을 적지 않아도 된다.
다음은 실제 프롬프트의 발췌본이다.
당신은 데이터 분석 계획을 작성하는 AI입니다.
사용자의 질문을 바탕으로, Python 코드로 구현 가능한 분석 계획을 작성해 주세요.
당신의 역할은 질문에 대한 최종 답변을 내는 것이 아닙니다.
...
프롬프트는 ChatGPT에게 작성하게 했다.
세세한 조정은 거의 하지 않았다. 그런데도 작동한다.
즉, 업무는 작게 나누어야 한다.
AI의 업무를 한정함으로써 심플한 지시만으로도 안정적으로 작동했다.
그럼 나누기만 하면 알아서 돌아가는 걸까?
전문가 4명을 준비하는 것만으로는 의미가 없다.
그들을 연계시켜야 한다.
그래서 전문가들에게 '바구니 릴레이 (Bucket Relay)'를 시킨다.
즉, 이전 AI가 만든 성과물을 다음 AI에게 전달해 나가는 방식이다.
계획 AI가 계획을 세운다 - 계획을
코드 생성 AI에게 전달하여 프로그램을 만들게 한다 - 완성된 코드를
그래프 생성 AI와 설명 AI에게 전달하여 그래프와 해설을 만들게 한다
도식화하면 이런 느낌이다.
하나의 AI에게 전부 시키지 않는다.
역할에 따라 AI를 나눈다.
이전 AI가 만든 성과물을 다음 AI에게 전달한다.
그것이 바로 **AI 워크플로우 (AI Workflow)**다.
"전문가 AI 바구니 릴레이 시스템"이라고 불러도 좋다.
심플하지만 꽤 강력한 메커니즘이다.
물론 분할만으로 모든 것이 해결되는 것은 아니다.
LLM의 성능이 향상된 것도 크다. 무려 로컬 LLM으로도 가능했으니까.
사실 로컬 LLM만을 사용했다.
최근의 로컬 LLM은 매우 우수해서 딱 맞게 작동해 주었다.
계획도 타당하고 코드도 정확하다.
사용한 모델은 Gemma 4다.
정확히는 gemma-4-12B (Q4 양자화).
작지만 우수한 모델이다.
얼마나 작냐면, 고작 6.7GB밖에 안 된다.
내 RTX 3060 (12GB)에서도 여유롭게 돌아간다. 8GB GPU에서도 돌릴 수 있지 않을까?
요컨대, 일반적인 게이밍 PC에서도 테스트해 볼 수 있다는 뜻이다.
로컬 LLM의 좋은 점은 API 사용료가 들지 않는다는 것이다.
얼마나 많은 분석을 시켜도 지갑이 아프지 않다.
AI 워크플로우를 사용하여 "자동 데이터 분석 시스템"을 만들어 보았다.
질문만 하면 AI가 분석 계획을 세우고, 코드를 작성하고, 그래프를 생성하며, 결과를 정리해 준다.
실제로 "앞으로도 계속 쓰고 싶다"라고 생각될 만한 도구가 되었다.
성공의 가장 큰 포인트는 "하나의 AI에게 전부를 맡기지 않았다"는 것이다.
분석 계획, 코드 생성, 시각화, 결과 설명.
전문 AI로 나누었기에 안정적으로 작동한다.
AI 워크플로우라면 실용적인 AI 시스템을 쉽게 만들 수 있다.
시스템 구현에는 LangGraph를 사용했다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기