클라우드 기반 AI 서비스는 강력하지만 몇 가지 단점을 가집니다. 비용, 데이터 프라이버시, 인터넷 의존성이 대표적입니다. 민감한 데이터를 다루거나, 오프라인 환경에서 AI 기능이 필요하거나, 단순히 실험 비용을 통제하고 싶을 때 자체 호스팅 방식이 대안이 될 수 있습니다. 하지만 언어 모델을 직접 설정하는 과정은 복잡하고 많은 시간을 요구합니다.
Ollama는 이런 문제를 해결하는 훌륭한 오픈소스 프로젝트입니다. 복잡한 설정 없이 몇 가지 명령만으로 개인 컴퓨터에서 강력한 언어 모델을 구동할 수 있게 해줍니다. 특정 모델을 내려받고, 실행하며, HTTP 엔드포인트를 통해 다른 서비스와 연동하는 과정을 극도로 단순화합니다. 이를 통해 개발자는 모델 자체의 활용법에 더 집중할 수 있습니다.
코드 리뷰는 소프트웨어 품질을 유지하는 핵심 과정이지만, 동료의 시간을 많이 소요하게 만드는 작업이기도 합니다. GitHub Copilot이나 ChatGPT 같은 AI 도구가 훌륭한 보조 수단이 되었지만, 민감한 코드를 외부 API로 전송하는 것에 대한 보안 우려나 비용 문제는 여전히 남아있습니다.
이 글에서는 이러한 문제를 해결하기 위해 로컬 환경에서 완전히 독립적으로 동작하는 코드 리뷰 CLI(Command-Line Interface) 도구를 직접 만들어 보겠습니다. 인기 있는 로컬 LLM 실행 도구인 Ollama와 Python을 사용하여, 외부 네트워크 연결 없이 안전하고 빠르게 코드에 대한 피드백을 받는 방법을 알아봅니다.
대규모 언어 모델(LLM)은 방대한 텍스트 데이터를 기반으로 놀라운 언어 능력을 보여줍니다. 하지만 LLM은 그 자체로 외부 세계와 단절되어 있습니다. 실시간 주식 정보를 가져오거나, 데이터베이스에 쿼리하거나, 이메일을 보내는 등의 작업은 직접 수행할 수 없습니다. 이 한계를 극복하는 핵심 기술이 바로 ‘Tool Use’, 즉 함수 호출(Function Calling)입니다.
이 글에서는 Google의 Gemini 1.5 Pro 모델을 중심으로 Tool Use의 개념과 동작 원리를 설명합니다. 단순히 API를 호출하는 것을 넘어, 실무에서 마주할 수 있는 트레이드오프와 잠재적인 실패 사례까지 깊이 있게 다룹니다. 이를 통해 LLM을 단순한 챗봇이 아닌, 실제 작업을 수행하는 에이전트로 만드는 첫걸음을 뗄 수 있을 것입니다.
수많은 AI 코딩 보조 도구가 등장했습니다. GitHub Copilot이 기본적인 자동 완성을 넘어 개발 워크플로의 일부가 되었고, 각 IDE는 자체 AI 기능을 속속 내장하고 있습니다. 하지만 대부분 기존 편집기에 플러그인 형태로 추가되는 방식에 머무릅니다.
Cursor는 조금 다른 접근법을 취합니다. VS Code를 기반으로 하지만, 처음부터 AI와의 상호작용을 중심에 두고 설계된 ‘AI 네이티브’ IDE를 표방합니다. 단순 코드 완성을 넘어, 코드베이스 전체의 맥락을 이해하고 사용자와 대화하며 소프트웨어를 만들어가는 경험을 제안합니다. 이 글에서는 Cursor를 실제 업무에 도입하며 겪은 설정 과정, 인상 깊었던 기능, 그리고 부딪혔던 명확한 한계점을 공유합니다.
개발자는 코드 작성 외에도 수많은 인지적 노동을 합니다. 레거시 코드를 분석하고, 더 나은 구조를 고민하며 리팩토링하고, 변경 사항을 명확히 설명하는 커밋 메시지를 작성하는 일들입니다. GitHub Copilot이 코드 자동 완성의 시대를 열었다면, 이제 AI 도구들은 개발 워크플로 전체에 더 깊이 관여하고 있습니다.
JetBrains AI Assistant는 우리가 매일 사용하는 IntelliJ, PyCharm, WebStorm 같은 IDE에 직접 통합된 AI 도구입니다. 단순 코드 조각 생성을 넘어, IDE가 가진 풍부한 코드 인덱싱 정보를 바탕으로 훨씬 더 문맥에 맞는 제안을 하는 것을 목표로 합니다.
이 글에서는 JetBrains AI Assistant의 기본 설정부터 실무에서 유용한 핵심 기능, 그리고 제가 직접 겪은 실패 사례와 기술적 트레이드오프까지 시니어 개발자의 관점에서 솔직하게 다루겠습니다.