JupyterLab + Ollama + Aider: 로컬 AI 코딩 환경 구축하기

JupyterLab 터미널에서 Ollama 로컬 모델로 Aider를 돌리는 실전 가이드입니다. 클라우드에 코드를 올리지 않고 내 하드웨어에서 AI 페어 프로그래밍을 하는 방법입니다.


🧩 사용하는 도구들

Ollama — 로컬에서 LLM을 서빙하는 서버. 모델 다운로드와 OpenAI 호환 API를 제공합니다.

JupyterLab — 브라우저 기반 개발 환경. 내장 터미널을 작업 공간으로 씁니다.

Aider — 터미널용 AI 코딩 어시스턴트. 코드를 읽고 고치고 git 커밋까지 합니다.


📦 Ollama 설치

curl -fsSL https://ollama.com/install.sh | sh

코딩용 모델 다운로드:

ollama pull qwen3.8:27b

컨텍스트를 늘려야 에이전트가 '잊어버리지' 않습니다. Modelfile 작성:

FROM qwen3.8:27b
PARAMETER num_ctx 65536
ollama create qwen3.8-64k -f Modelfile

📓 JupyterLab 설치

pip install jupyterlab
jupyter lab --ip=0.0.0.0 --port=8888 --no-browser

브라우저에서 http://서버IP:8888 접속. Launcher에서 Terminal 클릭하면 터미널이 열립니다.


🛠️ Aider 환경 구축 (영구 저장소)

JupyterLab 터미널에서:

1. 영구 저장 폴더로 이동

cd /opt/app/data

2. 가상환경 생성 (.venv는 파일 목록에서 숨겨져서 깔끔합니다)

python -m venv .venv
source .venv/bin/activate

3. Aider 설치 — 공식 설치 스크립트 권장

python -m pip install aider-install
aider-install
aider-install은 Aider 전용 Python 환경을 만들어서 프로젝트 의존성과 충돌하지 않습니다. 예전처럼 pip install aider-chat를 직접 하면 pydantic 버전 충돌이 날 수 있습니다.

🚀 Aider + Ollama 연결

핵심: ollama_chat/ 접두어를 쓰세요.

ollama_chat은 Ollama의 chat 엔드포인트를 사용합니다. 그냥 ollama/를 쓰면 completion 엔드포인트로 가서 모델이 자동완성처럼 동작할 수 있습니다.
export OLLAMA_API_BASE=http://127.0.0.1:11434
aider --model ollama_chat/qwen3.8-64k

💡 실전 팁: 가상환경을 '도구상자'처럼 쓰기

Aider를 프로젝트마다 새로 깔 필요 없습니다. 한 곳에 깔아두고 경로로 직접 호출하세요:

# 프로젝트 폴더에서
/opt/app/data/.venv/bin/aider --model ollama_chat/qwen3.8-64k

이렇게 하면 수백 MB짜리 Aider를 중복 설치하지 않고, 프로젝트 파일은 Aider가 외부에서 읽고 수정하는 '수리공' 방식으로 동작합니다.


⌨️ Aider 채팅창 명령어

  • > !ls -la — 나만 결과 보고 싶을 때 (모델은 안 봄)
  • > /run ls -la — 결과를 모델에게도 보여줄 때 (추천)
  • > /drop <파일> — 컨텍스트에서 파일 제거. 모델이 불필요한 파일을 물고 있을 때
  • > /model — 실행 중 모델 변경

예: /run ls -la로 폴더 목록을 모델에게 보여주고 "Test4 폴더 안에 파이썬 파일 하나 만들어"라고 하면 정확히 알아듣습니다.


📝 AI에게 코딩 원칙 주입하기: AGENTS.md

예전에는 Karpathy 룰 같은 파일을 만들어 --read 옵션으로 매번 읽혔습니다. 요즘은 AGENTS.md가 표준입니다.

AGENTS.md를 프로젝트 루트에 두면 Aider, Claude Code, Cursor 같은 도구들이 자동으로 읽습니다. 매번 --read를 붙일 필요가 없습니다.

예시: 프로젝트 루트에 AGENTS.md 생성

# Project Guidelines

## Code Style
- Match existing style. Don't refactor working code.
- Minimum code that solves the problem. No speculative features.

## Changes
- Touch only what you must. Every changed line should trace to the request.
- Don't "improve" adjacent code, comments, or formatting.
- If you notice dead code, mention it — don't delete it.

## Before Coding
- State assumptions explicitly. If uncertain, ask.
- If multiple interpretations exist, present them — don't pick silently.

Karpathy 원칙의 핵심(단순 우선, 수술적 변경, 목표 지향)은 여전히 유효합니다. 달라진 건 형식뿐입니다. 별도 파일을 매번 주입하는 대신, 프로젝트 표준인 AGENTS.md에 녹여두세요.


root@cyberpunk:~#