brunch

코딩 몰라도 AI 에이전트 '주문'됩니다

멀티 AI 에이전트 구축기_EP3

저는 코드를 전문적으로 다루는 개발자가 아닙니다. '코딩을 1도 몰라도 멀티 AI 에이전트를 만들 수 있다'는 것을 보여주는 것을 목표로 잡았는데 사실 어떻게 풀어나가야 할지 막막했죠.


물론 지금도 딱히 선명하거나 그런 건 아닙니다. 그래서 이번 회차부터는 딱딱하고 복잡한 설명서는 접어두고, 제 경험을 편하게 풀어놓는 형태로 이야기를 전개해 볼까 합니다.


지난 회차에서 멀티 AI 에이전트의 역할과 목표를 정의했습니다. 뭘 먼저 해볼까 하다가 일단 독립된 에이전트부터 하나씩 만들어보기로 했습니다. 뭐라도 만들어야 속도가 붙을 거 같더라구요.


사용하는 도구인 VSCode에 추가 기능으로 설치할 수 있는 Code assist를 최대한 활용했습니다. 코드를 한 줄 한 줄 '작성'하는 대신, 설계 콘셉트와 원하는 기능을 정리해서 'Gemini'와 'Copilot'에게 '주문'했습니다. 사실 저는 '적잖이 고생하겠구나' 생각했었는데 예상보단 빠릿빠릿하더군요.


하긴 글로벌 AI 기업의 코딩작업도 AI가 하는 시대인데요 뭐.


클로드(Claude)의 코딩 작업의 약 90%는 AI가 한다


몰라도 일단 주문해 봅시다

Code Assist에 주문할 땐 최대한 구체적으로 전달해야 합니다. 모호한 지시는 이도저도 아닌 결과물로 이어지기 때문이죠. VSCode 왼편에 설치된 'Gemini Code Assist'에 원하는 기능들을 상세하게 요청해 봅니다. 마치 신입 직원에게 일처리를 지시한다 생각하고 아래와 같이 프롬프트를 넣습니다. 3분가량 기다리면 에이전트 코드의 초안과 사용법이 생성됩니다.

프롬프트 예시) 지금부터 다양한 데이터 유형을 읽고 해석하는 '사회현상 분석가' 에이전트를 설계할 거야. 이 에이전트는 사용자가 입력하는 문서를 읽고 핵심 정보를 추출, 요약할 거야. 아래 요구사항을 반영해서 파이썬 코드로 작성해. 참고로 지금 사용하는 시스템 운영체제는 win10에 GPU Vram은 24G야.

요구 사항
1) 사용자가 Input 폴더에 넣은 문서는 텍스트와 이미지 모두 추출해야 해
2) 이미지와 텍스트 처리를 동시에 수행하는 멀티모달 모델을 사용할 거야. 추출한 이미지와 텍스트를 동시에 읽고 해석해야 해. 'naver-hyperclovax/HyperCLOVAX-SEED-Vision-Instruct-3B'를 생각 중인데 괜찮은 모델이 있다면 추천해도 좋아
3) 필요한 파이썬 라이브러리는 따로 알려줘
4) 콘텐츠는 5~6 문장 내외로 요약하고, 키워드 3개를 추출해서 결과물 하단에 기재해


왼쪽에서 만들고 오른쪽에서 검증한다

왼쪽에서 초안이 생성되었으니 오른쪽의 Copilot에게 교차검증을 시켰습니다. 다소 잔인해 보이긴 하지만 더 좋은 결과물을 위해선 어쩔 수 없죠. Gemini가 만들어준 코드에서 수정보완할 점은 없냐는 질문을 Copilot에게 던졌습니다. 둘 다 좋은 모델이지만 구동 아키텍처나 접근법에선 차이가 있습니다. 개인적으론 Copliot이 간결한 느낌이었다면 Gemini는 다소 산만하지만 시도하는 방식이 조금 더 다양하달까요. Claude나 Cursor AI, GPT-5는 또 어떤 느낌 인지 궁금합니다.


아, 그러고 보니 정말 중요한 얘길 안 했네요. 무료말고 유료 모델을 쓰세요. 유. 료. 모. 델!


세상에 깔끔한 문서만 있는 건 아니다

대충 초안 구성을 하고 보니 문제가 생겼습니다. 애초에 '사회현상 분석가' 에이전트를 기획할 때, 저는 분석할 데이터가 주로 정부 기관에서 발간하는 정책 보고서나 컨설팅 펌의 보고서 같은 PDF 파일을 떠올렸거든요. 잘 정리된 포맷의 문서를 분석하는 깔끔한 모습을 그린 게 실수였습니다.


'사회현상을 어떤 포맷에 담을 거냐'라는 시각에서 바라보면 접근법이 많이 달라집니다. 어떤 현상은 한 장의 이미지(밈, 포스터, 뉴스 사진)에 압축되어 있었고, 어떤 것은 수많은 댓글이 달린 웹페이지에, 또 어떤 건 유튜브 영상으로 존재하니까요. 처리해야 할 파일의 형태가 훨씬 복잡하고 다양합니다. 주어지는 모든 형태의 데이터를 읽고 해석하지 못한다면, 멀티 AI 에이전트는 무용지물이 됩니다. 이후에 이어지는 워크플로우도 엉망이 되니까요.


처리해야 할 데이터 포맷이 이렇게나 다양하다면, 굳이 역할을 '사회현상 분석가'로 한정할 필요가 없겠다는 생각도 들었습니다. 특히 실제 업무 환경에서는 엑셀 파일이나 프레젠테이션 파일을 넣고 작업을 주문할 텐데 PDF 하나만 가지고 덤벼드는 건 말이 안 되죠.


각종 문서뿐만 아니라 이미지, 웹페이지, 유튜브 영상까지 거의 모든 종류의 '콘텐츠'를 분석할 수 있도록 역할을 확장시켰습니다. 추후 기능을 추가할 진 모르겠지만 일단은 다음 네 가지 종류의 데이터 처리에 초점을 맞췄습니다. 저기까지 되면 거진 다 처리될 겁니다.

각종 문서 (PDF, DOCX, PPT 등) : 제안서, 보고서, 연구자료, 발표자료
이미지 (JPG, PNG 등) : 소셜 미디어 이미지, 광고, 밈
웹페이지 (URL) : 뉴스 기사, 블로그 포스트, 포럼 게시글
유튜브 영상 : 뉴스 클립, 인터뷰, 다큐멘터리
너무 예쁜 그림만 생각했던게 패착이었다


LLM 선택 단계에선 고민이 많았습니다. 단순한 콘텐츠 요약을 넘어, 이면에 숨겨진 복잡한 인과관계나 패턴까지 읽어내야 하는 '콘텐츠 분석가'의 역할을 수행해야 하니 GPU 1장(Vram 24G)이 감당하는 한도에서 가장 괜찮은 모델을 골라야 했거든요. 이미지와 텍스트를 동시에 처리하는 멀티모달 모델을 사용할까 했는데 아직까진 제가 바라는 성능이 나오지 않아 이미지 처리 모델과 텍스트 처리 모델, 두 파트로 나눴습니다.


다양한 테스트 끝에 이미지 처리는 'Salesforce/blip-image-captioning-large', 텍스트 처리는 구글의 'Gemma 3-27B-IT'를 베이스로 한국어 추론능력을 강화시킨 'DimensionSTP/gemma-3-27b-it-Ko-Reasoning'을 선택했습니다. Code assist에 재차 수정 프롬프트를 넣었습니다.


수정 프롬프트)
좋아. 이제 처리해야 할 콘텐츠의 포맷을 확장시켜야 해. PDF나 DOCX 같은 문서는 텍스트, 이미지는 안에 있는 객체와 텍스트(OCR), 웹페이지의 본문 텍스트와 이미지, 유튜브는 영상의 스크립트를 추출하면 돼. 각각의 파일별로 다른 처리함수를 사용할 테니 관련해서 설명이나 주석 확실하게 달아둬.

멀티모달 모델은 포기! 이미지 처리는 'Salesforce/blip-image-captioning-large', 텍스트는 'DimensionSTP/gemma-3-27b-it-Ko-Reasoning'을 사용하게 코드 수정해.


아, 시스템 프롬프트도 설계해야지

물론 AI가 모든 것을 완벽하게 해결해주지는 않습니다. 테스트나 검증은 인간의 몫이죠. 대신 필요한 라이브러리 탐색이나 기본적인 코드의 틀은 거의 완벽하게 잡아주니 확연히 부담은 덜했습니다.'내가 무엇을 만들고 싶은가'를 명확히 정의하고, 그것을 이해할 수 있도록 논리적으로 분해하여 '정확하게 지시'만 내리면 됩니다. 수백, 수천 줄의 코드를 밑바닥부터 작성하고 오류 잡아내던 시절에 비하면 정말 세상 좋아졌단 얘기가 절로 나옵니다.


이제 시스템 프롬프트를 작성할 차례입니다. 이 에이전트에겐 어떤 지시를 어떻게 내려야 할까요.

좋은 시스템에 좋은 프롬프트가 합쳐질 때.jpg

너무 길어졌군요. 다음 회차에 뵙죠.

keyword
작가의 이전글구글과 OpenAI, 그리고 경제학