맥미니 로컬 LLM 올라마 활용: 블로그 자동화에서 gemma4 12b에 맡긴 일과 안 맡긴 일
맥미니에 올라마로 gemma4:12b를 올려서 블로그 자동화의 가벼운 작업만 맡겼어요. 주제 기획 문구, 카드뉴스 문구, 캡션·요약이에요. 원고 본문과 사실 검수는 웹 검색과 긴 글 규칙이 필요해서 Claude 구독에 남겼고, 로컬 모델은 출력 형식이 자주 흔들려서 검증과 재시도 장치를 따로 넣었어요.
핵심 요약
- 로컬 모델(올라마, gemma4:12b)에는 짧고 검색이 필요 없는 일만 맡겼어요.
- 본문 작성과 사실 검수는 로컬 모델이 못 하는 웹 검색과 긴 글 규칙 준수가 필요해서 맡기지 않았어요.
- 로컬 모델은 JSON 형식을 자주 틀려서, 틀린 곳을 알려주고 한 번 더 요청하는 재시도 장치가 꼭 필요했어요.
맥미니에 올라마와 gemma4 12b를 어떻게 설치했나요?
본편 1에서는 맥에서 MLX로 Qwen 모델을 직접 돌렸다가 코딩에서 실패했어요. 그 뒤 로컬 모델의 역할을 원고 생성 같은 가벼운 일로 줄였어요. 여기에 올라마(Ollama)를 붙인 이유는, MLX 쪽 도구가 아직 지원하지 않던 최신 모델(Gemma 4 계열)을 쓰고 싶어서였어요. 올라마는 내 컴퓨터에서 AI 모델을 내려받아 돌리게 해 주는 프로그램이에요.
설치는 이렇게 했어요. 먼저 ollama.com에서 올라마를 설치해요. 그다음 터미널에서 ollama pull gemma4:12b로 모델을 내려받고, ollama run gemma4:12b로 대화가 되는지 확인해요. 내려받은 모델은 ollama list로 볼 수 있어요.
올라마가 켜져 있으면 http://localhost:11434 주소에서 모델이 대기해요. 프로그램은 이 주소로 요청을 보내요. 한 번 내려받은 뒤에는 인터넷 없이도 돌아가고, 요금이나 횟수 제한은 없어요. 대신 맥미니의 메모리와 전력을 써요.
gemma4:12b는 올라마 라이브러리에 2026년 6월에 추가된 12B 크기 모델이고, 같은 계열로 e2b, e4b, 26b, 31b 태그도 있어요. 한 설치 가이드는 Gemma 4를 쓰려면 올라마 0.22 이상이 필요하다고 안내해요. 설치한 뒤 ollama --version으로 버전을 확인해 보세요. 태그 이름과 용량은 바뀔 수 있어서, 내려받기 전에 올라마 모델 페이지(ollama.com/library/gemma4)를 꼭 확인해 주세요.
gemma4:26b 모델과 다른 모델들도 사용해봤지만 gemma4:12b가 맥미니 M4 Pro 24GB에서 작업속도가 가장 원활했었습니다.
무엇을 맡기고 무엇을 안 맡겼나요?
로컬 모델은 웹 검색을 할 수 없고, 글이 길어질수록 지시한 규칙을 놓치기 쉬웠어요. 그래서 일부러 가벼운 작업에만 배정했어요.
| 작업 | 담당 | 이유 |
|---|---|---|
| 주제 기획 문구 | 올라마 로컬 모델 | 짧고 최신 정보가 필요 없어요 |
| 카드뉴스 문구 | 올라마 로컬 모델 | 짧아서 규칙을 놓칠 일이 적어요 |
| 캡션·요약 | 올라마 로컬 모델 | 위와 같아요 |
| 원고 본문 | Claude 구독(Claude Code) | 품질이 중요하고 긴 글에서 규칙을 지켜야 해요 |
| AI 사실 검수 | Claude 구독(Claude Code) | 웹 검색으로 최신 정보를 확인해야 해요 |
이 작업 분배가 어떤 큰 구조에서 나온 건지는 본편 2에 정리했어요.
라우팅은 어떻게 짰나요?
가벼운 작업이 들어오면 프로그램은 먼저 올라마가 켜져 있는지, 원하는 모델이 설치돼 있는지 확인해요. 준비돼 있으면 로컬 모델이 처리하고, 아니면 아래 순서로 넘어가요.
| 순서 | 시도하는 것 |
|---|---|
| 1 | 올라마 로컬 모델(가벼운 작업일 때만) |
| 2 | Claude Code(구독) |
| 3 | API 키(예비) |
| 4 | 수동 모드 |
무거운 작업은 처음부터 올라마를 건너뛰고 Claude Code로 가요. 로컬 모델이 꺼져 있어도 글쓰기가 멈추지 않게 하려는 구조예요.
로컬 모델을 쓰면서 따로 조정한 부분은 뭔가요?
system 프롬프트는 user 메시지 앞에 합쳤어요. 제 프로그램에서는 Gemma 계열에 system 역할을 따로 보내지 않고, system 내용을 user 메시지 앞에 붙여 보내도록 처리했어요.
사고 과정은 걸러냈어요. 추론형 모델은 답변에 <think>…</think> 형태의 사고 과정을 그대로 섞어 보내는 경우가 있어요. 올라마 모델 페이지에도 Gemma 4가 생각하기 기능을 지원하고, 켜면 답 앞에 추론 과정이 함께 나온다고 안내돼 있어요. 그래서 이 부분을 지워 주는 후처리를 넣어 뒀어요. 모델을 바꾸거나 설정이 달라져도 사고 과정이 글에 섞여 나가지 않게 하려는 거예요.
JSON 형식은 한 번 더 요청하게 했어요. 답을 JSON 형식으로 강제해도 로컬 모델은 정해 둔 구조를 자주 틀렸어요. 그래서 첫 응답이 구조 검증에 실패하면, 어디가 틀렸는지 구체적으로 알려주고 한 번 더 요청해요. 코드 주석에 “로컬 모델에서 특히 유용하다”고 적어 둘 만큼 이 장치가 제일 중요했어요.
서버 상태는 60초 동안 기억해요. 요청마다 올라마의 /api/tags 주소로 서버가 켜져 있는지, 원하는 모델이 설치돼 있는지 확인해요. 다만 매번 확인하면 느려지니까 그 결과를 60초 동안 저장해 두고 써요.
이 구조의 한계는 뭔가요?
- 웹 검색을 못 해서 최신 정보가 필요한 일에는 쓸 수 없어요.
- 긴 글에서 지시한 규칙을 놓치기 쉬워서 원고 본문은 맡기지 않았어요.
- 같은 모델이라도 출력 품질이 들쭉날쭉해서 검증과 재시도 장치가 필요해요.
- 올라마가 꺼져 있거나 모델이 없으면 쓸 수 없어서, 다른 담당으로 넘어가는 순서를 만들어 뒀어요.
참고로 한 설치 가이드는 올라마가 Gemma 4를 기본 4K 컨텍스트로 연다고 안내해요. 긴 입력에서 규칙을 자꾸 놓친다면 컨텍스트 길이(num_ctx) 설정을 확인해 볼 만해요. 올라마 버전에 따라 기본값이 다를 수 있어서 직접 확인이 필요해요.
자주 묻는 질문
Q. 올라마는 무료인가요?
제가 쓰는 동안 요금이나 횟수 제한은 없었어요. 대신 내 컴퓨터의 메모리와 전력을 쓰고, 모델마다 라이선스가 달라서 상업적 이용 조건은 모델 페이지에서 확인해야 해요.
Q. 인터넷 없이도 되나요?
모델을 한 번 내려받은 뒤에는 인터넷 연결 없이 동작해요. 다만 웹 검색은 못 해서 최신 정보가 필요한 작업에는 못 써요.
Q. 올라마 기본 사용법이 궁금해요.
ollama pull로 모델을 내려받고, ollama run으로 대화해 보고, ollama list로 설치된 모델을 확인하는 세 가지만 알면 시작할 수 있어요.
Q. 올라마 모델은 어떤 걸 골라야 하나요?
이 글은 gemma4:12b 기준이에요. 같은 계열에 e2b, e4b, 26b, 31b도 있어서, 맥의 메모리와 맡길 일의 무게에 맞춰 올라마 모델 페이지에서 비교해 보세요.
Q. 로컬 모델로 원고 본문도 쓸 수 있나요?
기술적으로는 가능해도 저는 맡기지 않았어요. 긴 글에서 규칙을 놓치는 일이 잦았고, 웹 검색으로 사실을 확인할 수도 없기 때문이에요.
Q. JSON 재시도는 몇 번 하나요?
한 번이에요. 어디가 틀렸는지 알려주고 다시 요청하는 방식이에요.
다음 글에서는 이 프로그램을 만들면서 만난 버그를 풀어 볼게요. 키워드가 거꾸로 뽑히던 일, 다른 계정 글에 엉뚱한 브랜드 문구가 붙던 일, 네이버 에디터에서 소제목이 사라지던 일 같은 이야기예요.

