Agentic AI Coding JetBrains AI New Products

Junie, 크레딧이나 클라우드 없이 Mac에서 완전히 로컬로 실행

Read this post in other languages:

온디바이스 코딩 에이전트를 향한 첫걸음

Junie는 예전부터 로컬 모델 런타임에 연결할 수 있었습니다. Ollama 또는 LM Studio를 지정하고 로컬 모델을 로드하면 에이전트가 그 모델로 동작합니다. 이미 많은 사용자가 이렇게 활용하고 있습니다. 하지만 이 방식에서는 모델을 직접 선택하고 설정을 조정하며 여러 수동 설정 작업을 처리해야 합니다. 게다가 소형 모델이 지원할 수 있는 작업도 제한된 범위의 단순한 작업뿐입니다.

그래서 이 모든 과정을 대신 처리했습니다. Junie Local을 소개합니다. 자체 에이전트 루프에 맞춰 선정하고 조정한 모델이 함께 제공되며, 명령어 하나로 설치해 로컬 컴퓨터에서 완전히 실행할 수 있습니다. 토큰도, 할당량도 없고, 코드가 사용자의 로컬 컴퓨터 밖으로 나가는 일도 없습니다. 게다가 무료입니다.

명령어 하나, 구성 불필요

Junie에서 /local을 실행합니다. 그러면 모델이 다운로드되고 로컬 서버가 시작된 다음 Junie가 해당 모델로 전환됩니다. JSON 프로파일을 작성하거나, 런타임을 먼저 설치하거나, 연결할 엔드포인트를 지정할 필요가 없습니다.

모델은 Qwen3.6-27B(4비트)입니다. 약 20GB를 다운로드해야 하며 RAM 64GB인 M5 Mac이 필요합니다. 다운로드가 끝난 뒤에는 모든 작업이 사용자의 하드웨어에서 이루어지므로 프롬프트, 소스, diff도 모두 해당 하드웨어에 그대로 남습니다.

기존 설정도 그대로 사용할 수 있습니다. Plan(계획) 모드, 실시간 프롬프팅, 가이드라인, 스킬, /명령어 모두 이전과 동일하게 작동합니다. 달라진 것은 엔진일 뿐, 에이전트는 그대로입니다.

속도 개선 과정에서 배운 점

모두가 생성 속도를 벤치마킹합니다. 하지만 코딩 에이전트에서는 생성 속도만 좇는 것이 적절한 목표가 아니었습니다. 실제로는 모델이 현재 상황을 파악하기 위해 파일을 읽는 프리필 단계에 대부분의 시간이 사용되기 때문입니다. 실질적인 성능 향상은 프리필 최적화에서 나왔습니다. Junie Local이 Apple M5부터 시작하는 이유도 여기에 있습니다. M5 Neural Accelerator에는 M4에는 없는 8비트 산술 명령어가 있으며, 이를 활용한 결과 프리필 처리량을 약 40% 높일 수 있었습니다. 이 패치는 MLX-VLM에 PR로 전송할 예정입니다.

또한 더 새로운 3.8 대신 Qwen3.6을 의도적으로 선택했습니다. Qwen3.8은 안정적인 작동을 위해 추론을 활성화해야 하고, 추론을 켜면 작업 실행 시간이 약 4배 늘어납니다. 현재의 Mac에서는 3.6이 더 나은 선택입니다.

이 밖에도 작업 간 KV 캐시 재사용과 생성 속도를 약 2배 높이는 추측 디코딩 설정 등 다양한 최적화가 적용되어 있습니다. 자세한 내용은 심층 분석 게시글(Junie 에이전트를 위해 Qwen 3.6 모델을 최적화한 방법)에서 확인해 보세요.

성능 수준

JetBrains는 모든 모델을 Junie에 적용하기 전에 자체 비공개 테스트 세트에서 평가합니다. Junie Local 역시 마찬가지였습니다. Qwen3.6-27B는 Sonnet 4.5와 대등한 점수를 기록했습니다(추론 한도 10,000토큰). 추론 강도를 중간으로 설정한 GPT-5는 이보다 조금 더 높은 점수를 기록했습니다.

여기서 이 수치에 무엇이 포함되어 있는지 살펴볼 필요가 있습니다. 테스트 결과 추론을 사용해도 품질 향상은 거의 없으면서 토큰은 2~3배 더 필요했기 때문에, 로컬 모델은 추론을 완전히 비활성화한 상태로 제공합니다. 즉, 이 결과는 추론 없이 실행한 모델과 추론이 활성화된 클라우드 모델을 비교한 것입니다.

일상적인 작업이라면 그 차이를 알아차리지 못할 가능성이 높습니다. 다만 복잡한 아키텍처 추론에서는 분명히 차이를 느낄 수 있습니다.

사용량 과금이 사라지면 달라지는 것

벤치마크는 모델이 작업을 수행할 수 있는지를 보여 줍니다. 하지만 그 작업을 무료로 수행할 수 있을 때 무엇이 달라지는지까지는 보여 주지 않습니다.

그동안 Junie에서는 비용 효율성을 사용자가 조절할 수 있었습니다. 강력한 모델로 계획하고 저렴한 모델로 구현하는 식입니다. Junie Local은 이 비용을 0까지 낮춥니다. 한 번 더 반복해도 비용이 들지 않는다면, 평소에는 크레딧을 쓸 생각조차 하지 않았던 작업도 에이전트에게 맡길 만해집니다. Junie Local은 다음과 같은 작업에 적합합니다.

  • 비용을 들이기에는 아까웠던 다중 파일 리팩터링 및 이름 변경
  • 지난 두 분기 동안 미뤄 두었던 테스트 커버리지 공백
  • 종속성 업그레이드 및 프레임워크 마이그레이션
  • 넘겨받은 저장소에 익숙해지기

길고 반복적이며 기계적인 작업이야말로 에이전트에 맡기라고 있는 일이지만, 잔액을 신경 쓰기 시작하면 이런 일은 맡기지 않게 됩니다.

어떤 팀에게는 Junie Local이 제공하는 개인정보 보호가 이 글을 읽는 이유의 전부입니다. Junie Local에서는 공급자 자체가 관여하지 않기 때문에 검토해야 할 공급자 데이터 정책이 없습니다. 고객 NDA의 적용을 받는 환경에서 일한다면, 논의는 “공급자를 평가했다”에서 “공급자가 관여하지 않았다”로 바뀝니다.

네트워크 연결이 전혀 없어도 사용할 수 있습니다. 모델 가중치가 디스크에 저장된 뒤에는 비행기 안에서든 책상 앞에서든 Junie Local이 똑같이 작동합니다.

높은 시스템 요구 사양

RAM 64GB가 탑재된 M5 Mac을 요구한다는 것이 큰 부담이라는 점을 알고 있습니다. 이 부담이 별것 아닌 것처럼 말하지 않겠습니다. 또한 이 요구 사양 때문에 이 글을 읽는 많은 사람이 Junie Local을 사용하기 어렵다는 점도 잘 알고 있습니다.

현재 27B 모델을 제대로 실행하려면 그 정도가 필요하며, 저희가 가장 집중해서 낮추려고 하는 것도 바로 그 수치입니다. 목표는 최소 메모리 요구량을 낮추고, 더 폭넓은 하드웨어를 지원하며, 스택의 더 많은 부분을 최적화하는 것입니다. 높은 요구 사양 때문에 Junie Local을 사용해 볼 수 없다면, 이를 낮추기 위해 노력하고 있으니 안심하셔도 됩니다.

첫 단계

하나의 모델, 하나의 칩 제품군, 하나의 플랫폼. 이렇게 처음에 범위를 좁힌 이유는 모든 모델을 제대로 지원하지 못하는 것보다 전체 스택에 걸쳐 하나의 모델을 조정하는 편이 낫기 때문입니다.

Mac은 출발점이었을 뿐, 계획 자체는 아니었습니다. DGX Spark와 RTX 5090에서 작동하는 프로토타입은 이미 준비되어 있으며, 24GB 카드도 검토하고 있습니다. 프리필은 디스크리트 GPU에서 동작 방식이 크게 달라지므로, 최적화 작업의 상당 부분도 해당 하드웨어로 옮겨갑니다.

다음으로 어떤 플랫폼이 지원되면 좋을지 의견이 있다면, 지금 알려주세요.

시작하기

Junie Local은 완전히 무료입니다. 등록, 구독, 크레딧은 물론 신용카드도 필요 없습니다.

Junie를 열고 /local을 실행한 다음, 그동안 미뤄 두었던 작업 하나를 맡겨 보세요. 그런 다음 무엇이 잘되지 않았는지, 무엇이 예상 밖이었는지, 다음에는 무엇을 원하는지 알려주세요. Junie의 모든 부분은 피드백 루프를 통해 만들어졌으며, 이번에도 마찬가지입니다.

게시물 원문 작성자

Dmitry Savelev

Dmitry Savelev

Discover more