메인 칼럼 개발일지 작업물 연락처
← adelie 프로젝트
adelie

npm에 처음 패키지 올려봤다

npm초기 릴리즈LLM

솔직히 처음엔 그냥 혼자 쓸 스크립트로 시작한 거였다. 터미널에서 adelie run 치면 AI가 알아서 코드 짜고 테스트하고 배포까지 하는 거. 근데 이걸 만들다 보니까 “이거 패키지로 올려볼까?” 하는 생각이 들었다.

처음 구조 잡기

에이전트를 어떻게 나눌지가 가장 고민이었다. 처음엔 그냥 하나의 거대한 AI한테 전부 시키려고 했는데, 컨텍스트가 너무 길어지니까 헛소리를 하기 시작했다. 그래서 역할별로 쪼갰다 — Writer가 KB를 관리하고, Expert가 전략을 짜고, Coder가 코드를 쓰고, Reviewer가 검토하는 식으로.

이렇게 나누니까 각 에이전트의 프롬프트가 짧아져서 훨씬 정확해졌다. 특히 Expert AI가 JSON으로 의사결정을 내리게 한 건 좋은 선택이었던 것 같다. 자연어로 받으면 파싱이 불안정한데 JSON이면 확실하니까.

Gemini + Ollama 동시 지원

처음엔 Gemini만 지원했는데, 로컬에서 무료로 돌리고 싶은 사람도 있을 거라 Ollama도 붙였다. llm_client.py에 추상 레이어를 하나 깔아서, 어떤 프로바이더든 같은 인터페이스로 호출되게 했다. 나중에 폴백도 넣었는데 — Gemini가 429 에러 뱉으면 자동으로 Ollama로 넘어가는 식.

npm 퍼블리시 삽질

Python 프로젝트를 npm으로 배포한다는 게 좀 이상한 조합이긴 한데, 설치 편의성 때문에 이렇게 갔다. npm install -g adelie-ai 한 줄이면 끝이니까. postinstall.js에서 Python 의존성을 자동으로 설치하게 했는데, 이게 환경마다 다르게 터져서 좀 고생했다. venv를 알아서 만들게 하고, pip 경로도 OS별로 다르게 잡아줘야 했다.

v0.2.0 올리고 나서 npm info adelie-ai로 확인했을 때 진짜 뿌듯했다. 내 패키지가 npm에 떠 있다니.

김현빈 Developer & Writer

기술, 포스팅 관련 질문, 프로젝트 협업 등 연락주시면 언제든지 회신 드립니다.