Series 36 · 04 of 05

사이드 프로젝트에
AI 붙이기

Qwen-Agent, MCP, RAG. 이름이 어려워 보이지만 조립은 쉽다. 비용 0원, 4주면 나만의 AI를 만들 수 있다.

Part I — Why

사이드 프로젝트에 AI가 필요한 순간

AI를 사이드 프로젝트에 붙인다는 것은, ChatGPT 같은 대화 인터페이스를 만든다는 뜻이 아니다. 내 데이터에 맞춰진, 내 작업을 자동화하는 AI를 만든다는 뜻이다.

일상에서 반복되는 작업을 생각해보자. 매번 같은 질문에 답해야 하는 고객 응대. 길고 지루한 회의록 정리. 매주 쌓이는 기술 문서 읽기. 이런 작업에 AI를 붙이면, 사람은 판단만 하고 나머지는 AI가 처리한다.

Idea 01
문서 요약 봇
PDF, 웹 페이지, 이메일을 넣으면 핵심만 3줄로 요약. 256K 컨텍스트로 긴 문서도 통째로 처리 가능.
Ollama + Python script
Idea 02
코드 리뷰 자동화
Git commit이 올라오면 변경된 코드를 읽고 잠재적 버그, 스타일 위반, 성능 이슈를 리포트.
Qwen-Agent + Git hooks
Idea 03
개인 지식 검색
내 노트, 북마크, 메모를 전부 인덱싱. "지난달에 읽은 그 논문에서 뭐라고 했지?"에 답하는 AI.
RAG + Vector DB
Idea 04
FAQ 챗봇
자주 묻는 질문을 학습시켜서 자동 응답. 사내 위키나 제품 매뉴얼을 데이터 소스로 연결.
RAG + MCP + Web UI

이 프로젝트들의 공통점이 있다. 기존 데이터가 있고, 그 데이터를 기반으로 AI가 답하는 구조다. 이것을 기술적으로는 RAG(Retrieval-Augmented Generation)라고 부른다. 사이드 프로젝트에 AI를 붙이는 가장 실용적인 방법이다.

Part II — Qwen-Agent

나만의 에이전트 만들기

3편에서 에이전트의 개념을 설명했다. AI가 도구를 사용해서 작업을 수행하는 것. 이것을 실제로 만들려면 프레임워크가 필요하다. Qwen-Agent가 그 역할을 한다.

translate
Qwen-Agent
Qwen 모델 위에서 에이전트를 만들 수 있게 해주는 오픈소스 프레임워크. 함수 호출, MCP, 코드 인터프리터, RAG를 지원한다. 레고 블록처럼 필요한 기능을 조합해서 에이전트를 조립하는 도구 상자다.

가장 간단한 에이전트를 만들어보자. 파일을 읽고 요약하는 에이전트다. 파이썬 코드 10줄이면 된다.

Python — file-summary-agent.py from qwen_agent.agents import Assistant

# 에이전트 생성 — Ollama 로컬 모델 사용
bot = Assistant(
  llm={
    'model': 'qwen3:14b',
    'model_server': 'http://localhost:11434/v1',
  },
  function_list=['code_interpreter'],
)

# 파일을 읽고 요약해달라고 요청
messages = [{
  'role': 'user',
  'content': 'report.pdf를 읽고 핵심 3줄로 요약해줘',
}]

for response in bot.run(messages):
  print(response)

이 코드가 하는 일을 단계별로 보자.

Step 01

에이전트 생성

Ollama에서 실행 중인 Qwen3-14B 모델에 연결한다. 도구로 코드 인터프리터를 사용하도록 설정한다.

Step 02

사용자 요청

"report.pdf를 읽고 요약해줘." AI가 이 요청을 분석하여, 파일을 읽는 코드를 직접 작성하고 실행한다.

Step 03

도구 실행

코드 인터프리터가 PDF를 열고 텍스트를 추출한다. AI가 그 텍스트를 읽고 3줄 요약을 생성한다.

여기에 MCP를 추가하면 더 강력해진다. MCP 설정 파일 하나로 파일 시스템, 데이터베이스, 외부 API를 도구로 연결할 수 있다.

JSON — mcp-config.json {
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["@anthropic/mcp-filesystem", "/home/user/docs"]
    }
  }
}

이 설정 하나면 에이전트가 /home/user/docs 폴더 안의 모든 파일을 읽을 수 있다. 사용자가 "지난주 회의록에서 결정된 사항을 정리해줘"라고 하면, 에이전트가 직접 회의록 파일을 찾아서 읽고 정리한다. 사람이 파일을 복사해서 붙여넣을 필요가 없다.

Part III — RAG

내 문서로 답하는 AI

사이드 프로젝트에서 가장 실용적인 AI 활용은 RAG 챗봇이다. 내 문서, 내 데이터를 기반으로 질문에 답하는 AI. ChatGPT와의 차이는 명확하다. ChatGPT는 인터넷에서 학습한 범용 지식으로 답하지만, RAG 챗봇은 내가 넣어준 문서에서만 답한다.

translate
RAG (Retrieval-Augmented Generation)
AI에게 커닝 페이퍼를 주는 것. 시험을 보기 전에 관련 자료를 먼저 찾아서(Retrieval) AI에게 건네주고, 그 자료를 참고해서 답하게(Generation) 하는 방식. AI가 모르는 것도 자료만 있으면 답할 수 있다.

RAG의 동작 원리를 단계별로 보자.

RAG Architecture
내 문서
텍스트 추출
임베딩 변환
벡터 DB 저장
↓ 질문이 들어오면
사용자 질문
벡터 DB 검색
관련 문서 조각
Qwen이 답변 생성
translate
벡터 DB (Vector Database)
문서를 숫자 배열(벡터)로 변환해서 저장하는 특수한 데이터베이스. "의미가 비슷한 문장"을 빠르게 찾을 수 있다. "매출 보고서"를 검색하면 "이번 분기 실적"도 함께 찾아준다. 대표적인 도구로 Milvus, ChromaDB, FAISS가 있다.

Qwen3.5가 RAG에 특히 유리한 이유가 두 가지 있다.

첫째, 256K 컨텍스트. 벡터 DB에서 관련 문서 조각을 찾아왔을 때, 그 조각이 여러 개라도 한 번에 넣을 수 있다. 컨텍스트가 작은 모델은 문서 조각 2~3개밖에 못 넣지만, Qwen3.5는 수십 개를 넣고도 여유가 있다. 답변의 정확도가 올라간다.

둘째, 올인원 파이프라인. 보통 RAG를 만들려면 세 가지 모델이 필요하다. 임베딩 모델(문서→벡터 변환), 리랭킹 모델(검색 결과 정렬), 생성 모델(답변 작성). Qwen 패밀리는 이 세 가지를 하나의 모델 패밀리로 해결할 수 있다. 서로 다른 회사의 모델을 조합할 때 생기는 호환성 문제가 없다.

Component Tool Role
AI 모델 Qwen3 (Ollama) 질문을 이해하고, 문서를 읽고, 답변을 생성
벡터 DB ChromaDB or Milvus 문서를 벡터로 저장하고 유사도 검색
프레임워크 LangChain or Qwen-Agent 모델, DB, 도구를 연결하는 접착제
임베딩 Qwen3-Embedding 텍스트를 숫자 벡터로 변환

RAG의 핵심은 AI를 똑똑하게 만드는 것이 아니다.
AI에게 올바른 자료를 주는 것이다.
자료가 좋으면 8B 모델도 놀라운 답변을 한다.

한 가지 더. Qwen3.5의 256K 컨텍스트(확장 시 1M)가 충분히 크기 때문에, 문서 양이 적다면 RAG 없이도 문서 전체를 컨텍스트에 넣는 방식도 가능하다. A4 100페이지 이내의 매뉴얼이라면 벡터 DB 없이 통째로 넣어서 질문할 수 있다. RAG 구축의 복잡함을 건너뛰는 방법이다.

Part IV — Roadmap

비용 0원으로 시작하는 4주 로드맵

사이드 프로젝트는 첫 발을 내딛는 것이 가장 어렵다. 나머지는 관성이 해결한다. 4주 로드맵의 원칙은 "작게 시작하고, 매주 한 단계씩 확장한다"다.

01 Week
Ollama 설치 + 대화
Ollama를 설치하고 Qwen3-8B를 실행한다. 다양한 질문을 던져보면서 모델의 성격을 파악한다. 한국어 요약, 번역, 코드 생성을 시도해본다. 이 단계의 목표는 "로컬 AI가 어떤 느낌인지 체험하는 것"이다.
Output: 로컬 AI 실행 환경
02 Week
Python + Ollama API 연동
Ollama의 로컬 API를 파이썬에서 호출한다. requests 라이브러리 하나면 충분하다. 터미널 대화를 넘어서, 자기만의 스크립트에서 AI를 호출하는 단계. 파일을 읽어서 AI에게 전달하고, 결과를 파일로 저장하는 것까지 시도한다.
Output: 파일 요약 스크립트
03 Week
RAG 파이프라인 구축
ChromaDB를 설치하고 내 문서를 벡터로 변환한다. 질문이 들어오면 관련 문서를 검색하고, Qwen에게 전달하여 답변을 생성하는 파이프라인을 만든다. 문서 10~50개 규모로 시작하면 충분하다.
Output: 로컬 RAG 챗봇
04 Week
MCP 도구 확장
Qwen-Agent를 도입하고, MCP로 외부 도구를 연결한다. 파일 시스템 접근, 웹 검색, 코드 실행 등 에이전트의 능력을 확장한다. "이 폴더에서 최신 보고서를 찾아서 요약해줘" 같은 복합 작업이 가능해진다.
Output: 도구 사용 에이전트

이 4주 로드맵에서 드는 비용은 0원이다. Ollama(무료), Qwen3 모델(무료), ChromaDB(무료), Qwen-Agent(무료), 파이썬(무료). 필요한 것은 GPU가 달린 PC와 시간뿐이다.

GPU가 없다면 어떻게 하는가. 두 가지 대안이 있다. 첫째, Google Colab에서 무료 GPU를 쓸 수 있다 (세션 제한 있음). 둘째, Qwen3.5-Plus API를 사용하면 로컬 GPU 없이도 동일한 파이프라인을 구축할 수 있다. API는 유료지만 소규모 사이드 프로젝트 수준이라면 월 수천~수만 원 이내다.

사이드 프로젝트를 망치는 흔한 실수
  • 처음부터 완벽한 시스템을 만들려 한다. 첫 주에는 대화만 해봐도 충분하다
  • 데이터 정리를 건너뛴다. AI의 답변 품질은 넣어주는 데이터의 품질에 비례한다
  • 모델 크기에 집착한다. 대부분의 사이드 프로젝트에서 8B면 충분하다
  • 웹 UI부터 만든다. 터미널에서 동작하는 것을 먼저 확인하고, UI는 나중에 붙인다
  • 혼자 다 하려 한다. Qwen-Agent, LangChain 같은 프레임워크가 이미 복잡한 부분을 해결해놓았다

AI 사이드 프로젝트의 시작은
거창한 아이디어가 아니다.
ollama run qwen3:8b

첫 주에 대화하고, 둘째 주에 코드를 연결하고, 셋째 주에 문서를 붙이고, 넷째 주에 도구를 확장한다. 나머지는 관성이 한다.