LM Studio와 OpenPilot을 사용한 로컬 코딩 에이전트 실행 방법
요약
본 글은 LM Studio와 OpenPilot을 활용하여 로컬 환경에서 코딩 에이전트를 실행하는 방법을 안내합니다. OpenPilot은 사용자가 지정한 폴더 내에서 파일 편집, 셸 명령어 실행 등 민감한 작업을 수행하며 사용자에게 항상 질문하는 오픈소스 데스크톱 앱입니다. LM Studio를 통해 OpenAI 호환 서버를 구동하고 이를 OpenPilot에 연결하여 로컬 모델 기반의 코딩 에이전트를 구축할 수 있습니다.
핵심 포인트
- LM Studio는 터미널 없이도 모델 검색 및 다운로드가 가능합니다.
- OpenPilot은 파일 읽기, 편집, 셸 명령어 실행 등 데스크톱 환경에서 작동하는 에이전트입니다.
- 모델 로드 시 컨텍스트 길이를 충분히 늘려야 작업 중 혼란을 방지할 수 있습니다.
- LM Studio 서버를 시작하고 OpenPilot에 Base URL과 모델 식별자를 연결해야 합니다.
며칠 전에는 Ollama를 사용하여 OpenPilot을 실행하는 방법을 작성했습니다. 저는 LM Studio를 통해서도 테스트해 왔기 때문에, 여기 그 버전을 공유합니다. LM Studio가 대부분의 작업을 처리하기 때문에 내용이 더 짧습니다.
혹시 배경 지식이 없다면 간단히 설명드리자면: OpenPilot은 제가 직접 만든 작은 오픈소스 데스크톱 앱입니다. 어떤 모델을 선택하든(로컬 모델 포함) Cursor와 같은 스타일의 도구를 원했기 때문에 만들었습니다. 이 에이전트는 사용자가 지정한 폴더 안에서 작동하며, 파일을 읽고 편집하고, 셸 명령어를 실행하며, 민감한 작업을 수행하기 전에는 항상 사용자에게 질문합니다.
LM Studio를 사용하는 이유
- 터미널을 사용할 필요 없이 앱 내부에서 모델을 검색하고 다운로드할 수 있습니다.
- 사용자의 기기에서 OpenAI와 호환되는 서버를 실행하는데, 이것이 바로 OpenPilot이 통신하는 방식입니다.
- 모델을 로드하기 전에 얼마나 많은 메모리가 필요한지 쉽게 확인할 수 있습니다.
1단계: 모델 가져오기
LM Studio의 모델 검색 기능에서 Qwen 3 모델을 가져옵니다. 저는 Qwen 3 8B와 Qwen 3 27B로 좋은 결과를 얻었습니다. 사용자의 기기가 무엇을 처리할 수 있을지 확신이 서지 않는다면, 8B부터 시작하는 것을 추천합니다.
2단계: 더 큰 컨텍스트 창으로 로드하기
사람들이 놓치기 쉬운 단계입니다. 모델을 로드할 때 기본값보다 컨텍스트 길이를 늘려야 합니다. 에이전트는 매번의 상호작용마다 파일 내용, 도구 결과, 그리고 자체 기록(history)을 모델에 다시 보내게 되는데, 작은 창은 빠르게 채워집니다. 만약 답변이 갑자기 혼란스러워지거나 작업 중간에 끊긴다면, 이것부터 확인해야 할 첫 번째 사항입니다. 얼마나 높이 설정할 수 있는지는 사용자의 RAM/VRAM 용량에 따라 달라집니다.
3단계: 로컬 서버 시작하기
'Developer(개발자)' 탭을 열고 'Start server'(서버 시작)를 켜거나, 터미널에서 다음 명령어를 실행합니다:
lms server start
기본적으로 http://localhost:1234에서 리스닝하며, OpenAI와 호환되는 기본 URL은 http://localhost:1234/v1입니다. 만약 LM Studio의 서버 설정에서 포트를 변경했다면, 그 포트를 사용해야 합니다.
4단계: OpenPilot 설치하기
- Windows: OpenPilot-Setup.exe (릴리즈 페이지에서도 포터블 .exe로 제공)
- macOS (베타): Apple Silicon 또는 Intel용
.dmg파일을 Releases에서 다운로드 - Linux: 아직 설치 프로그램은 없지만, 소스 코드에서
git clone,npm install,npm start를 사용하면 작동함 (Node.js 20+)
아직 어떤 빌드도 코드 서명(code-signed)되지 않았습니다. 제가 혼자 작업하고 있기 때문입니다. Windows에서는 SmartScreen 프롬프트에서 추가 정보 > 그래도 실행을 클릭하세요. macOS에서는 앱을 마우스 오른쪽 버튼으로 클릭하고 '열기'를 선택하세요.
5단계: OpenPilot에 모델 연결하기
처음 실행하면, 온보딩 과정에서 모델을 연결하라는 메시지가 나타납니다:
- 이름(Name): LM Studio가 로드된 모델에 대해 보여주는 모델 식별자
- 기본 URL(Base URL):
http://localhost:1234/v1 - API 키(API key): 기본적으로 LM Studio는 필요하지 않으므로, 임의의 자리 표시자 값으로도 작동합니다 (만약 LM Studio 서버 설정에서 인증을 켰다면, 그 토큰을 붙여넣으세요).
나중에 '설정(Settings)'에서 더 많은 모델을 추가하고 채팅별로 전환할 수 있으므로, 작고 빠른 모델과 큰 모델을 나란히 유지하기 쉽습니다.
6단계: 폴더를 선택하고 작은 작업을 부여하기
g욕 또는 임시 프로젝트를 선택하여 어떤 것이든 diff하거나 revert 할 수 있게 하세요. 그런 다음 다음과 같은 구체적인 작업을 시도해 보세요:
package.json을 보고, 각 항목을 설명하는
- Small local models는 집중적인 편집(focused edits)에는 강하지만, 길고 여러 단계에 걸친 작업(long multi-step chains)에는 취약합니다. 큰 작업을 더 작은 단위로 나누거나, 그러한 작업의 경우 더 큰 모델을 사용하세요.
- 아직 루프 가드(loop guard)가 없기 때문에, 모델이 때때로 자기 자신을 반복할 수 있습니다. 이럴 때는 중단시키고 재구성(rephrase)해 주세요.
- 서명되지 않은 빌드(Unsigned builds), macOS는 아직 베타 버전이며, Linux 설치 프로그램은 없습니다.
- 텔레메트리(Telemetry): 익명의 사용 데이터(앱 실행 여부, 어떤 기능과 모델이 사용되었는지, 토큰 수; 채팅 내용, 파일, 경로 또는 키는 포함되지 않음)가 기본적으로 활성화되어 있습니다. '시작하기(Getting Started)' 과정이나 '설정(Settings)' > '정보(About)'에서 끌 수 있습니다.
링크
- GitHub: https://github.com/ibmshaikh/OpenPilot
- 사이트: https://openpilot.in
- Ollama 버전을 사용한 이 가이드: https://dev.to/openpilot/run-a-local-coding-agent-with-ollama-qwen-3-using-openpilot-3j8n
LM Studio에서 특정 모델이 잘 작동하거나(또는 잘 작동하지 않거나) 하는 경우, 이슈를 열어 어떤 모델인지 알려주시면 감사하겠습니다. 현재로서는 그것이 제가 얻을 수 있는 가장 유용한 정보입니다.
고지 사항: 이 게시물은 AI 비서의 도움을 받아 작성되었습니다. 단계들은 저의 자체 LM Studio 테스트와 LM Studio 문서를 기반으로 합니다. 만약 내용이 보시는 것과 다르다면, 이슈를 열어주시면 제가 수정하겠습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기