https://unity.com/kr/features/ai

 

Unity AI: AI 게임 개발 툴 및 RT3D 소프트웨어 | Unity

제작에 집중할 수 있도록 작업을 자동화하고, 에셋을 생성하며, 워크플로를 단순화하는 에디터 내 어시스턴트, Unity AI로 게임 개발을 간소화할 수 있습니다.

unity.com

 

이번에 베타 버전을 런칭하며 계정 당 1회에 한해서 14일 짜리 무료 플랜과 1000 크레딧을 제공한다.

가벼운 캐주얼 게임들을 제작해보며 1일차에 느낀 점과 몇가지 정보를 작성한다.

 

우선은 14일 동안 크레딧을 전부 소모한다는 생각으로 써본 뒤에 후기를 정리하여 업로드 할 예정이다.

 

  • 간단한 Image 생성을 직접해준다.
    • 모델은 Flux 2 시리즈를 쓴다. pro 를 쓸 때도 있고 preview 를 쓸 때도 있다. 이미지의 경우 생각보다 결과물이 나쁘지 않은 편. 프로토타이핑에 쓰기에 최적이다.
  • Unity Editor 위에 붙여놓은 AI 어시스턴트이므로 에디터의 Refresh 사이클을 따라간다.
    • Play, Stop, Refresh 등등 에디터가 리프레쉬 되는 환경이면 얄짤없이 창이 깜빡이며 대화 내역을 다시 렌더링한다.
      사용에 불편함이 있는 것은 아니지만 은근슬쩍 신경쓰이는 부분.
      또한 에디터에 붙여놓은 이상 사양이 무거워지는 것도 피할 수 없다.
  • 별도의 조건을 작성하지 않는다면 UI 는 UIToolkit 으로 만든다.
    • 하이어라키와 씬을 조작하는 것이 아닌 웹표준이므로 코드로 접근가능하기 용이하기 때문으로 추정.
    • 몇번의 추가적인 작업으로 기존에 지능형 에이전트 IDE 등이 MCP 를 통해서 몇번이고 삽질하던 해상도 대응을 비교적 잘 해주는 모습을 보였다.
  • GeminiCLI, Claude Code, Codex 와 같이 기존 사용하던 AI 의 API 호출을 통해 가져다쓰는 경우, 미리 만들어놓은 md 파일들을 우선 참조한다.
  • Gemini API 무료 플랜 기준 Gemini 3 Flash 를 호출했을 시,
    가벼운 하이퍼캐주얼 프로젝트를 읽히는 경우 RPM 4~5회(+@ 추정), TPM 55k~65k, RPD 8~13회 정도를 소모하는 것으로 측정되었다.
    • 현재 타사 AI API 를 호출하여 대화 세션을 여는 경우, 대화 세션을 변환했다가 다시 돌아왔을 때 세션과 AI 의 연결이 제대로 되지않는 문제가 발생하고 있다.
    • Gemma4, Codex 도 동일한 것으로 보아하니 아직 베타 버전의 문제일 가능성도 있음. (정확한 원인 파악X)
    • API KEY 외에도 Environment Variables 을 통해 직접 특정 모델을 호출 가능하다.
      • 예시)
        KEY) GEMINI_MODEL
        VALUE) gemma-4-31b-it
  • 트레일러 영상등에서 보여준 모습은 아직 미흡하거나 특출나지 않다는 의견이 있음
    • 바퀴가 바닥에 묻혀서 작동하는 등 제대로 된 디테일을 보여주지 못한다.
      (필자) 다만 이건 모든 AI 툴의 한계이므로 디테일까지 맡기는 건 현 단계에서는 매우 욕심같은 의견임
    • UnityCLI, CoplayDev 등의 기존 MCP 가 있으므로 이걸 사용할 이유가 없다는 평.
      (필자) 고급 작업으로 갈 수록 사람이 손을 대는 경우가 많아진다. 특히나 코드 생성에 대해서는 대부분의 모델들이 프로젝트 구조를 읽고 (대부분은 프로젝트 코드간의 의존성 및 관계도) 작업에 들어간다는 커다란 골자가 그대로이기 때문에 나오는 의견으로 보임.
      UnityAI 가 타 모델에 비해서 압도적인 경쟁력을 갖추려면 코드가 아닌 비주얼 작업에 특화되어야 한다는 의견에는 동의한다.
  • 과금모델 산정 방식이 너무나 구시대적임
    • 토큰이나 화폐 단위가 아니라 Credit 이라는 자체 단위를 사용하고 있다. 생성 비용 게시가 명확하지 않으면 사용자들은 요금 산정에 어려움을 느끼고, 이는 곧 진입 장벽이 된다.
      (필자) 이는 구구절절 맞는 말이라고 생각한다. 약 10~15년전 마이크로소프트의 XBOX 는 확장성을 강조하며 정작 스토어 결제 재화를 현금으로 포인트를 구매하는 방식의 자체 재화를 사용했는데, 이는 화폐 결제로 변경하는 순간까지 불편함을 토로하는 유저가 끊임없이 나타나며 결제 진입 장벽의 고질병으로써 언급되었다.
    • 유료 결제를 해야하는 MCP 자체가 별로 없으므로 접근 제한 자체가 문제가 된다.
      (필자) MCP 를 사용하는데 1000credit/20$ 의 최소 금액을 지불하며 사용하라고하면 부담감을 느끼는 유저가 적지 않다는 생각을 당연히 해봤다. 사용하는 만큼 내는 것이니 결국 credit 제도는 API 요금제와 비슷한 결을 가지게 된다. 위 문제와 연결되는 의견이 된다.

1. 하네스 엔지니어링의 효율성

인터넷에 정말 많은 정보와 영상들이 있으나, 개인이 필터링해야하는 정보들이 너무 많다.

강의 팔아먹기 정보인 경우도 많고,

실제 깃 스타를 많이 받았더라도 실무에 당장 쓸 수 있다기보다는 레포 소스가 갖고있는 잠재성 등을 보고 평가를 했기 때문도 있으며,

한 때 GStack 과 같은 명령어 팩으로 배포한 방법론 역시 개발영역과 스택에 따라서 찬반이 꽤 갈리는 편이다.

부족한 견해로 정리해본 결과, 프롬프트부터 이어진 하네스 엔지니어링 역시 AI 라는 도구를 어떻게 다루어야하는가에 대한 방법론을 정립해나가는 과도기에서 나타난 단계 중 하나라고 생각이 든다.

따라서, 더 많은 AI 와 작동 구조를 인지하고 내 자신에게 맞는 AI 프롬프팅과 작업 프로세스를 구축하는 것이 현재로써는 가장 좋은 방법이 아닐까? 라는 생각을 갖게 만든다.

 

2. Unity 애니메이션 관련.

생각보다 클라이언트가 만질 일이 많다.

애니메이터 컨트롤러, 오버라이드 컨트롤러, 아바타 마스크, IK Constraints...

최근 중심적으로 복습하는건 Constraints 와 IK 제어 스크립트 관련이다.

최근 재미있게 하고있는 해외 대기업 게임사의 게임이 있는데,

이 게임의 전투 시스템을 모작하는 것이 곧 애니메이터와 기초 전투 시스템과 애니메이터의 복습을 거의 완벽하게 도와줄 것 같았다.

이건 나중에 기초편과 스크립트 자체를 포스팅하는 식으로 올릴 예정.

 

3. AI 에 맞는 타 게임 엔진 탐색

Love2D 와 Godot 엔진 쪽을 입맛을 다셔보는 중이다.

yaml 형식의 유니티 메타 파일은 guid 를 통해 리소스와 연결된다.

단순히 메타 파일을 몇개 읽는 것 만으로는 객체의 계층 구조를 알기가 쉽지 않다는 것.

토큰을 왕창 쏟아부으면 가능할지도 모르겠지만 가벼운 수정 하나에도 고비용을 지출하고 싶은 개발자는 없을 것이다.

고도 엔진은 문서 자체에 노드 속성 (오브젝트 이름, 타입... 등) 이 그대로 적혀있는 구조이므로 AI 가 직접 수정해도 에디터에서 문제가 일어날 확률도 적을 뿐더러, 특정 오브젝트에 대한 제한된 작업을 하더라도 필연적으로 다른 파일을 읽어야 할 가능성이 줄어들 것이다.

 

Godot 엔진은 이미 23년 유니티 요금제 개편 사태 때 대안으로 많이 떠올랐기도 하고,

벤더락인의 문제는 단순히 AI 에서만 나타나는 일은 아닐테니까 다른 엔진 맛을 야금야금 계속해서 봐두는 것도 향후 큰 도움이 될지도 모른다.

 

Love2D 엔진을 해보려는 이유는 딱히 없다. 그냥 해보고 싶었음.

[ 시작하며 ]

본 글은 [KiloCode 편] 을 완료한 뒤의 과정을 다룬다.

본 글은 다음과 같은 내용을 포함한다.

  • 각 준비물에 대한 소개 및 설명
  • 필요 툴과 설치 또는 리포지토리 링크 (매 글마다 링크를 달 것)
  • 개인적인 잡설

 

[ 준비물 ]

Ollama : [Ollama 다운로드]

KiloCode : [Kilo 링크]

UnityMCP : [UnityMCP Repo]

Antigravity [Optional] : [Antigravity 다운로드]

 


 

[ UnityMCP ]

MCP 란 AI 모델이 데이터나 도구에 안전하며 표준화된 방식으로 접근 할 수 있도록 해주는 개방형 표준 프로토콜이다.

앤쓰로픽이 발표한 프로토콜이 되겠다.

 

유니티 MCP 는 이러한 프로토콜을 통해 에디터와 프로젝트 폴더, AI 사이를 연결하는 통로 역할을 수행한다.

이전에는 IvanMurzak 의 UnityMCP 를 사용했고, 이를 다루는 글을 작성할 예정이었는데...

UnityMCP 를 구현한 리포지토리는 많았고, 그 중 가장 범용적으로 사용하는 CoplayDev 의 UnityMCP 로 갈아타는 겸, 이를 다루도록 한다.

 

두 MCP 의 연동방식은 매우 비슷하므로, 하나의 연동하는 과정과 각 설정값이 어떻게 쓰여지는지를 파악한다면
다른 MCP 서버를 연동하는 것도 매우 간단하다고 생각한다.

 

 


[ 설치 방법 ]

  • mcp 에셋 임포트
    • Window > Package Manager > + > Add package from git URL... 하여 #main 으로 끝나는 주소를 입력
      #beta 로 끝나는 주소는 최신 베타 버전을 받을 수 있는 브랜치이다.
https://github.com/CoplayDev/unity-mcp.git?path=/MCPForUnity#main
https://github.com/CoplayDev/unity-mcp.git?path=/MCPForUnity#beta

 

 

설치가 잘 되었다.

 

CoplayDev 는 Python 과 UV Package Manager 를 필요로하므로 설치하자.


[ KiloCode 연동 ]

Ctrl+Shift+M 또는 상단 메뉴의

Window > MCP For Unity > Toggle MCP Window 를 통해서 설정 창을 연다.

 

 

위 스샷처럼 Transport 는 Stdio 로 해주자.

현재는 별도의 웹서버처럼 띄우고 사용할 것이 아니라 로컬 컴퓨터 내부에서만 사용할 것이기 때문.

 

 

 

위 스크린샷 처럼 Client 를 KiloCode 로 변경 후 Configure 를 눌러주면

ConfigPath 에 설정 정보가 그대로 생성이 된다.

다만 현재 정보 그대로 저장하고 KiloCode 를 실행하면 Client 설정에 따라서 MCP 서버가 뜨지않을 것이다.

이는 에이전트 설정에 따라 "type" 이라는 프로퍼티를 인지하지 않기 때문에 일어나는 문제로, 제거한 뒤에 저장을 하자.

 

잘 연동이 되었다.

 

 

첫 입력에 구체적 타겟 명시가 없었으므로, AI 가 프로젝트 전체를 스캔했다.

그 값이 상단의 약 23.9K 의 토큰량이 되는 것이다.

즉 프롬프팅을 최적화하지 않는다면, 낮은 사양에서는 명령 한번으로도 컨텍스트 윈도우가 터질 수 있다는 것.

 


 

[ Ollama 설정 ]

이전 글에서 위 스크린샷을 통해 Context length 를 지정했을 것이다.

하지만 이는 Ollama 앱 자체에서 LLM 을 받아서 실행 할 때 적용되는 값이라고 한다.

 

즉, [로컬 LLM 설치편] 에서는 터미널을 통해 설치했으므로

e2b 기준 기본 컨텍스트 크기는 4k (4096) 일 것이다.

 

터미널을 통해 설치한 이유는 매우 빡빡한 사양 내에서 최대한 컨텍스트 크기를 확보하기 위해서이며,

조금이라도 VRAM 을 아끼기 위한 발버둥이기도 하다...

 

가장 큰 이유는 터미널을 통해 serve 를 하면, 로그를 바로 확인할 수 있다는 점이다.

매번 터미널을 열어서 명령어와 환경변수를 입력하면 귀찮으니까 아래 bat 을 작성한다.

 

@echo off
:: 0. 한글 깨짐 방지 (UTF-8 모드로 전환)
chcp 65001 >nul

title Ollama Server
echo [!] 작업 표시줄(트레이)에 Ollama가 실행 중이라면 먼저 종료해야 합니다.
echo.

:: 1. 네트워크 및 호스트 설정
set OLLAMA_HOST=0.0.0.0:11434

:: 2. 디버그 모드 활성화 (상세 로그 출력)
set OLLAMA_DEBUG=1

:: 3. 최적화 설정
set OLLAMA_FLASH_ATTENTION=1
set OLLAMA_MAX_LOADED_MODELS=1
set OLLAMA_NUM_PARALLEL=1

echo [*] OLLAMA_HOST 가 %OLLAMA_HOST% 로 설정되었습니다.
echo [*] 디버그 모드가 활성화되었습니다.
echo [*] 메모리 및 병렬 처리 최적화가 적용되었습니다.
echo [*] 서버를 시작합니다...
echo.

ollama serve
pause

 

  • OLLAMA_DEBUG
    • 이 모드를 활성화하면, Modelfile 을 통해 새로이 작성한 LLM 모델에서도 토큰입출력량 및 상세 로그가 출력된다.
      계속해서 문제가 발생한다면, 이를 통해서 문제를 파악하자.
  • OLLAMA_FLASH_ATTENTION
    • Flash Attention 이라는 알고리즘을 활성화하며, 메모리 읽기/쓰기 횟수를 줄여준다.
  • OLLAMA_MAX_LOADED_MODELS
    • 메모리에 동시에 올려두는 모델의 개수이다.
      사양이 최소 사양에 근접하므로 1개를 주었다.
  • OLLAMA_NUM_PARALLEL
    • 한 번에 처리하는 병렬 요청 수
    • Ollama 는 여러 요청을 동시에 처리할 때 KV 캐시를 쪼개서 나눠준다.
    • 이 값이 1 일 때, GPU 가 가진 코든 KV 캐시 용량을 단 하나의 질문에 할당한다.
      즉 Modelfile 에서 설정한 값에 따른 메모리를 다 쓰겠다는 소리.

 

이제 실행을 하기전에, [로컬 LLM 설치편] 의 부록을 다시 한번 리마인드하며

새 모델을 작성하자.

 

 


 

[ Ollama Modelfile ]

 

# 1. 베이스 모델 설정
FROM gemma4:e2b

# 2. 컨텍스트 크기 설정 (원하시는 대로 숫자를 바꾸셔도 됩니다)
# 65536 = 64k (RTX 3090 추천)
# 128000 = 128k (최대치지만 VRAM 부족으로 에러 날 확률 있음)
PARAMETER num_ctx 65536

# 3. 기타 최적화 파라미터
PARAMETER temperature 1
PARAMETER top_k 64 
PARAMETER top_p 0.95

# 4. 모델 템플릿 및 엔진 설정 (기본값 유지)
TEMPLATE "{{ .Prompt }}"
RENDERER gemma4
PARSER gemma4

 

  • temperature : 0 에 가까울수록 결정론적 결과를 내놓는다.
  • top_k : 모델이 다음 단어를 선택할 때 선택지를 몇개까지 둘 것인지 지정하는 수치
    • 값이 작다면 응답이 일관적이나, 표현이 단조롭거나 반복적일 수 있다.
      코딩에 쓴다면 값을 더 줄여도 된다.
    • 값이 커지면 그만큼 헛소리를 하거나 잘못 된 정보에 대한 신념... 이 생길 수 있다
  • top_p : 값에 따라서 다음에 올 단어들의 확률이 높은 순으로 합계가 몇 %가 될 때까지 선정할 지를 지정하는 수치이다.
    • 값이 작다면 상위권 단어 몇개만으로 후보군을 지정하므로, 모델이 이상한 소리를 못하게 예방하는 효과가 있다.
    • 값이 높다면 창의적인 표현등을 사용하나, 목적에 맞지않는 동문서답을 할 수 있다.

 

이제 위 Modelfile 을 확장자 없이 저장하고. 저장한 위치에서 터미널을 열어 아래 명령어를 입력하자.

agent-model-name 은 원하는 이름으로 작명하여 넣자.

ollama create agent-model-name -f Modelfile

 

이제 num_ctx 의 값을 적용한 모델이 작성되었다.

터미널을 통해 ollama 모델을 실행하고, kilocode 에서 UnityMCP 를 통해 가벼운 명령어를 내려보자.

 

 

어떻게 되기는 되지만, e2b 모델이라 매우 정확히 명령을 내려야하며

체감상 IvanMurzak 의 UnityMCP 를 쓸 때보다 씬 오브젝트 구성의 경우 정확도가 매우 떨어진다.

씬을 구성하고 디자인을 하는 용도로 쓰기보다는, e2b 는 간단한 알고리즘 보조도구, 반복 작업용으로써 이용하는 것을 권장한다.

 

클라우드 유료 모델을 쓸 때는 처리 과정이 좀 길지만, 대충 말해도 알아서 적당히 만들어준다.

 

만약 제한 된 사양 내에서라면

현재 툴과 모델의 조합이 얼마나 맞는지도 찾아나가야 할 필요가 있을 것이다.

 

 


[ 마치며 ]

쓸데 없이 글이 길어졌지만, 이렇게 로컬 llm 모델을 설치하고 작동시키며 MCP 까지 물리는 작업을 완료했다.

컴퓨터 부품 값이 천정부지로 치솟는 오늘날, llm 모델을 설치하고 운용하기 위한 그래픽카드를 사는 것 자체가

매우 큰 진입장벽일지도 모르겠다...

 

그러나 미래에 더 낮은 사양으로 고효율의 입출력을 할 수 있는 모델이 나오기를 기도하며,

미리미리 로컬 LLM 을 구축하는 방법을 배워두는 것도 도움이 되지않을까...

 

이후에 스마트폰에도 LLM 을 설치하여 활용도를 찾아볼 계획이다.

 

 

[ 시작하며 ]

본 글은 [로컬 LLM 설치편] 을 완료한 뒤의 과정을 다룬다.

본 글은 다음과 같은 내용을 포함한다.

  • 각 준비물에 대한 소개 및 설명
  • 필요 툴과 설치 또는 리포지토리 링크 (매 글마다 링크를 달 것)
  • 개인적인 잡설

 

[ 준비물 ]

Ollama : [Ollama 다운로드]

KiloCode : [Kilo 링크]

UnityMCP : [UnityMCP Repo]

Antigravity [Optional] : [Antigravity 다운로드]

 


 

[ KiloCode ]

KiloCode 는 VS Code 뿐만이 아니라 다양한 환경을 지원하는 코딩 에이전트 도구라고 할 수 있다.

Jetbrain, VSCode, CLI 부터 OpenClaw 까지 다양한 환경 위에서 사용할 수 있다.

 

여기서 다루고자하는건 Antigravity (VSCode) 에서 설치하고 이용하는 방법을 다룬다.

전체적인 설정은 다른 환경에서도 비슷하게 적용되므로, 다른 환경에서 설정하는 것도 어렵지 않을 것이다.

 

우선 VS Code 가 없다면 여기서 설치하자

[VSCode 다운로드 링크]

 

1. 설치 후 Marketplace 에서 Kilo Code 를 검색하여 아래의 확장프로그램을 받는다.

 


 

2. 설치 완료 후, 아이콘 또는 확장프로그램을 통해 활성화 한 뒤, Settings - Providers 로 들어간다.

 

 


3. Providers 에서 하단의 Custom Provider 의 Connect 를 눌러 창을 띄우자.

 


 

4. 새 창이 뜨면 다음과 같이 입력하자. 이 작업을 할 때, Ollama 를 반드시 실행할 것.

Base URL 을 입력하면, 하단 스크린샷처럼 자동으로 설치 된 모델을 불러오기 때문이다.

gemma-pro 는 필자가 따로 설정한 커스텀 모델이다.

 

 

귀차니즘을 위해서 복사가 가능하도록 아래에도 적어둔다.

Provider ID : openai-compatible

Display Name (자유) : ollama

BaseURL : http://localhost:11434/v1

API Key : 공란

Models : BaseURL 입력 시 자동으로 추가 가능

Headers : 공란

 

 

설정이 완료된다면 아래와 같은 Providers 화면을 갖게 된다.

 

 

 

완료가 되었다면 텍스트 입력창의 드롭박스에 다음과 같이 리스트가 뜬다.

 

상단의 6268 은 입출력 Tokens 를 나타낸다.

↑ 은 AI 에게 보낸 입력 데이터의 양을 나타내며, 질문, 시스템 프롬프트, 전체 대화 히스토리, 코드 파일등의 컨텍스트를 모두 포함한다. 첫 대화가 6268 토큰으로 높은 이유는 이 때문이다.

↓ 는 AI 가 생성한 답변의 양이다. 겨우 두 문장이지만 352토큰을 사용했음을 알 수 있다.

이는 추론 단계에서의 사고 과정에서 소모하며,

추가로 한글의 경우 글자당 2~3Bytes 를 가지므로 약간 더 소모하는 경우도 있다. (인코딩 환경에 따라 다름) 

 

 

6268 숫자 옆의 아이콘에 마우스를 대면 compact session 이라는 기능이 있음을 알 수 있다.

Claude Code 의 /compact 와 비슷한 기능을 한다.

중간 로그를 제거하고, 현재 대화 세션의 작업 진행 상황, 수정된 사항, 향후 플랜등을 요약본으로 압축하며, 기타 세세한 기록을 메모리에서 제거하여 토큰량을 확보한다.

128k 에 도달하는 것을 체크하고 compact session 을 사용하거나

Claude Code 에서 컨텍스트가 최대값의 60~70%을 넘기는 시점에서 /clear 를 사용하는 것 처럼,

새 세션을 시작하는 방식으로 사용하면 되겠다.

 

 


[ KiloCode Behaviour 설정 ]

KiloCode 는 다양한 설정을 통해 사용자에게 맞는 환경과 Skill 을 지정할 수 있다.

Settings 창에서 가장 많이 접근하게 될 몇 가지 설정인 Agent Behaviour 에 대해서 소개한다.

 

 

  • Default Agent : 별도의 지시가 없을 때 기본적으로 작동하는 에이전트를 고른다.
  • Import : 타인이 만든 에이전트 설정파일을 가져올 때 사용한다.
  • Browse Marketplace : MCPServer, Skill, Mode 등을 받을 수 있는 마켓플레이스를 연다.
  • ask : 코드 수정 없이 단순한 질의 응답 등에 사용.
  • code : 기본 에이전트. 설정된 권한에 따른 도구를 실행한다.
  • debug : 체계적인 디버깅 방법론을 통해 진단 및 수정.
  • explore : 코드베이스 탐색 특화 에이전트, 빠르게 파일을 찾아야 할 때 사용.
  • general : 복잡한 질문을 조사하고 다단계 작업을 수행하기 위한 범용 에이전트. 여러 단위의 작업을 병렬 실행할 때 선택.
  • orchestrator (지원 중단) : 전문화 된 에이전트들에게 병렬로 작업을 위임하여 복잡한 태스크를 조정한다.
  • plan : 계획 모드. 플랜 파일 수정만 허용하며, 그외 다른 것을 수정하기 전에는 반드시 물어본다.

subagent 가 붙은 모드는 메인 에이전트보다 훨씬 작은 시스템 프롬프트를 가지며, 하위 작업을 subagent 를 통해 작업하려 목적에 맞는 결과물만 작성하여 넘기는 방식을 사용하는 것 같다.

아마도 비용 및 성능 최적화와 컨텍스트를 격리하기 위한 조치로 생각된다.

 


[ Agents 세부 설정 ]

KiloCode 의 시스템 프롬프트는 Built-in 이므로 변경할 수 없다.

그러나 위 스크린샷의 옵션을 통해, 오버라이딩을 지원하고 있다.

  • Custom prompt override
    • 에이전트의 기본 행동 지침을 오버라이드한다. 기본 페르소나를 더 깎고싶은 경우 작성한다.
  • Model Override
    • 특정 에이전트에 한해서 다른 LLM 을 사용하고 싶을 때 작성한다. 작성방식은 텍스트 하단 드롭다운을 참조한다.
  • Temperature
    • 0 에 가까울수록 결정론적이고 정확한 답변을 하며, 2 에 가까울수록 다양한 답변을 한다.
    • 즉 0 에 가까울수록 같은 입력을 넣으면 똑같은 출력이 나온다는 것이다.
  • Top P
    • Temperature 와 비슷하게 다양성을 조절한다. 답변이 너무나 튀는 느낌이 든다면 값을 낮추자.
  • Max Steps
    • 에이전트가 최종 출력을 하기까지의 도구를 실행하고 결과를 확인하는 과정을 최대 얼마나 반복할지 정한다.
      복잡한 리서치를 자주 사용한다면 늘리거나, 새로운 Agent 페르소나를 만드는 것도 방법.
  • Hidden
    • 에이전트 선택 목록에서 에이전트를 보이지 않게 한다.
  • Disabled
    • 에이전트 비활성화
  • Calculated Permissions
    • 각 에이전트가 어떤 파일과 명령어를 실행할 수 있는지 미리 지정한 규칙 리스트이다.
      직접 수정할 수 없으며 화이트/블랙리스트를 확인할 수 있다.

[ MCP Servers 세부 설정 ]

해당 설정은 UnityMCP 설정편과 연동되므로 여기서는 작성하지 않는다.


[ Rules 세부 설정 ]

 

타 AI 에이전트에서 사용하던 SKILL.md, GEMINI.md 같은 설정이다.

이 곳에 지정된 지침은 모든 대화의 시스템 프롬프트에 포함된다.

추가 규칙을 하단 Additional Instruction Files 에 포함시킬 수 있다.

만약 Claude Code 를 쓰고 있다면, Load Claude Code Files 의 스위치를 켜서 그대로 가져다 사용할 수 있다.

 


[ Workflows 세부 설정 ]

Worksflows 창. 하단 추가 커맨드는 예시로 작성한 것이다.

 

이 탭은 슬래시를 시작으로하는 커스텀 명령어를 만들고 관리하는 곳이다.

명령어는 일반적으로 아래의 경로에 opencode.json 에 작성한다. (없으면 만들면 된다)

경로 : C:\Users\{UserName}\.config\kilo\opencode.json

 

작성 후, 슬래시를 텍스트 창에 입력하면 사전 지정한 명령어가 나오며, 바로 사용할 수 있게 된다.

아래는 임의로 작성해본 opencode.json 이다.

{
  "command": {
    "optimize": {
      "template": "현재 선택된 영역에서 가비지 컬렉션(GC)을 유발하는 코드를 찾고, 메모리 할당을 최소화하도록 리팩토링해줘: \n\n {{selection}}",
      "description": "Unity 메모리/GC 최적화 수행",
      "mode": "code",
      "modelId": "anthropic/claude-4-6-sonnet",
      "autoApprove": false,
      "group": "Unity-Tools"
    },
    "info": {
      "template": "{{input}}에 대해 Unity 공식 문서와 모범 사례를 기반으로 설명해줘.",
      "description": "Unity API 지식 검색",
      "mode": "ask",
      "modelId": "ollama/gemma4:e2b",
      "group": "Search"
    }
  }
}

 

command 아래의 원소명이 슬래시로 호출 할 수 있는 명령어가 된다.

여기서는 /optimize, /info 가 된다.

 

  • template : 필수 로직. 명령어를 통해 사전 설정한 문장을 호출한다. 
  • description : 설명문
  • mode : kilocode 의 에이전트 모드를 지정한다.
  • modelId : 특정 모델을 지정하여, 해당 명령에서만 특별히 사용하는 모델 ID 를 적는다.
  • autoApprove : 자동승인. true 일 시 파일 수정이나 터미널 실행 시 사용자에게 허가를 구하지 않는다.
  • group : 명령어 그룹화. (현재 제대로 적용되는지는 파악 X)

 

설정이 올바르게 완료되면 다음과 같이 나타난다. (재실행 필요)

 


[ Skills 세부 설정 ]

 

기본 경로는 C:\Users\{UserName}\.kilo 이며 따라서 ./skills 의 기본경로가 된다.

결과가 C:\Users\{UserName}\.kilo\skills 이렇게 되는 셈.

 

skills 내부 폴더에는

폴더명으로 skills 를 구분할 수 있다. 내부에는 SKILL.md 파일을 넣어서 인식시킬 수 있다.

자세한 레퍼런스는 공식 문서에도 있으니 읽어보면 좋다.

 

아래는 스킬이 정상적으로 작동되는지 테스트를 할 수 있는 임의의 SKILL.md 이다.

새로운 폴더를 임의의 이름으로 만들어 내부에 SKILL.md 에 작성한 뒤에 인식시켜보자.

 

---
name: test-skill
description: >-
  스킬 시스템이 정상적으로 로드되었는지 확인하고, 에이전트와 스킬 간의 연결 상태를 
  즉각적으로 검증하기 위한 테스트 도구입니다.
metadata:
  category: development-test
  source:
    repository: 'local'
    path: test-skill
---

# Test Skill (테스트 스킬)

이 스킬은 커스텀 스킬 시스템이 환경 설정에 올바르게 반영되었는지, 그리고 에이전트가 지정된 명령어에 따라 적절한 출력을 내놓는지 테스트하기 위해 사용됩니다.

## When to Use This Skill

- 새로운 스킬 경로를 추가한 후 인식이 잘 되었는지 확인할 때
- 에이전트가 커스텀 .md 파일을 스킬로 인지하고 있는지 테스트할 때
- 복잡한 로직을 수행하기 전, 시스템의 기본 작동 여부를 점검할 때
- "테스트 스킬 실행해"라는 명령에 시스템이 즉각 반응하는지 볼 때

## What This Skill Does

1. **시스템 연결 검증**: 에이전트가 이 .md 파일의 내용을 읽고 해석할 수 있는지 확인합니다.
2. **고정 문구 출력**: 사용자의 특정 호출에 대해 약속된 응답을 반환합니다.
3. **상태 증명**: 스킬 시스템이 활성화되어 있으며 명령을 받을 준비가 되었음을 알립니다.

## How to Use

### 기본 테스트 실행

"테스트 스킬 실행해"
"test-skill 실행해"

### 상태 확인 요청

"스킬 시스템 정상이야? 테스트해줘."

## Example

**User**: "테스트 스킬 실행해"
**Output**: "스킬 테스트입니다"

## 명령 및 응답 가이드

### 호출어 (Triggers)
에이전트는 다음 문구가 포함된 요청을 받으면 이 스킬을 활성화해야 합니다:
- "테스트 스킬 실행해"
- "test-skill 실행"
- "스킬 테스트 시작"

### 필수 응답 (Required Output)
이 스킬이 호출되면 에이전트는 다른 부연 설명 없이 혹은 답변의 최우선 순위로 다음 문구를 출력해야 합니다:
**"스킬 테스트입니다"**

## Advanced Features

### 실행 환경 확인
사용자가 상세 정보를 요구할 경우, 현재 이 스킬이 로드된 파일 경로와 이름을 함께 출력하여 설정 파일의 위치를 사용자에게 안내합니다.

### 연속 테스트
반복적인 호출에도 동일한 응답을 내놓는지 확인하여 에이전트의 일관성을 테스트할 수 있습니다.

 

이렇게 인식을 한다.  결과는 아래처럼 나온다.

 

 

 


[ 마치며 ]

지금까지 잘 따라왔다면, kilocode 에서 로컬 llm 을 돌리는 방법과각 에이전트의 사용 방법과 설정, 그리고 Global Rules 와 Skill 을 추가하는 방법을 익혔을 것이다.다음 글에서는 UnityMCP 와 KiloCode 를 연결하는 방법을 작성할 예정이다.

 

스크린샷과 설명 때문에 스크롤이 길어졌지만, 실제로 해보면 어렵지않음을 느낄 수 있다.한번 세팅해두면 향후 로컬 llm 이 공개될 때마다 모델만 설치하고 갈아끼우면 되니까 더 간편하게 느껴질 것이다.

[ 시작하며 ]

본 글은 다음과 같은 내용을 포함한다.

  • 대상 툴과 LLM 모델을 선정한 이유
  • 각 준비물에 대한 소개 및 설명
  • 필요 툴과 설치 또는 리포지토리 링크 (매 글마다 링크를 달 것)
  • 개인적인 잡설

[ 머릿글 ]

본 글에서 다루는 gemma4:e2b 모델과 unityMCP 만 가지고는

유료 클라우드 모델을 대체하는 것이 매우 어렵다.

 

모든 과정을 완료 후, 더 많은 모델에 관심이 생기고 양자화 모델들을 사용해보고픈 마음이 생긴다면

https://ollama.com/search

이 곳에서 찾아서 설치할 수 있다.

목적에 맞는 모델을 찾아가며 설치하고 테스트하는 재미도 분명히 있을 것이다

 

비교적 저사양에서도 설치할 수 있는 gemma 모델이 나왔으며,

이를 설치하고 mcp 서버까지 연동하는 과정을 다루는 글이다.

 

미리 로컬 모델을 구축하여 사용하는 방법을 익히기 위해

학습했던 과정과 소소한 시행착오를 다루고 있다.


[ 준비물 ]

Ollama : [Ollama 다운로드]

KiloCode : [Kilo 링크]

UnityMCP : [UnityMCP Repo]

Antigravity [Optional] : [Antigravity 다운로드]

 


[ 왜 이 짓을 했는가? ]

가장 중요한 이유는 돈 때문이다.

토큰이 너무 비싸다.

 

안티그래비티를 통해서, 그리고 직접적으로 클로드 코드를 사용해봤다.

확실히 좋은데 몇 가지 문제가 있다.

 

첫 번째로는 너무 고비용이다.

제대로 사용하려면 너무 많은 시행착오를 겪어야하고, 돈보다 시간이 더 필요하다.

물론 모든 AI 코드 어시스턴트는 클로드 코드 뿐만이 아니라, Antigravity, GeminiCLI, Codex 또한 동일한 학습 과정을 자연스럽게 따르게 되어있더라.

하네스 엔지니어링 이전엔 프롬프트 엔지니어링도 들여다봐야하고, 내 작업환경에 맞는 하네스를 어떻게 스킬로 구성할 것인지,

토큰을 아끼기 위해 사용자가 내리는 명령 체계도 AI 최적화에 맞춰야하며, 토큰이 어떠한 형태로 소모되는지,

컨텍스트 이전 시 손실률을 어떻게 줄이는지, 컨텍스트 입출력 토큰을 줄여주는 개인이 만든 MCP 도 존재한다.

 

이 모든 것을 다 감안해도 클로드 코드는 비싸다.

2.9만원 Pro 플랜에서 Opus 는 사실상 열려있지만 실사용으로는 상당히 제한된 모델이며, 100달러 모델은 그렇다고 너무 비싸다.

 

적절한 하네스를 스킬로 구현하고, context-mode 같은 토큰 절약 도구를 사용해도 클로드코드는 꽤 잔인하게 토큰이 빠지는 편이다.

그래서 유튜브 및 다양한 포럼에서도 클로드 코드의 토큰을 절약하며 고수준의 결과물이 나오는 다양한 방법을 공유하는 자료들이 꽤 많은 편이다.

그러나 이러한 자료들은 현재 AI 가 생긴지 얼마 안되었으며, 한창 업데이트가 활성화 된 프로덕트에 대한 자료이기 때문에 언제든지 변경, 확장, 폐기의 가능성이 높다. 따라가기에도 벅찰 수 있다는 것이다.

 

따라서 내가 만들고자 하는 프로젝트에 따라서 나는 3개월 단위로 모델을 변경 구독하고 있다.

그렇다고 아예 클로드 코드를 안쓸 수는 없는 노릇이고... 후술할 두 번째 이유 때문이기도 하다.

베이스는 Google AI Studio 로 잡고, CodexClaude Code 중 1개를 취사 선택하며, 현재 이 글 시리즈에서 다룰 로컬 AI 모델을 백업용으로 두고있다.

 

두 번째 이유는 Vendor Lock-in.

즉, 벤더 종속성이라고 부르는 치명적인 미래의 리스크 때문이다. 이러한 리스크를 직접적으로 표현한 벤더 종속성이라는 단어가 있다는 사실은 안지 얼마 되지 않았지만, 예전부터 AI 가 프로그래머의 영역에 들어오기 시작할 즈음부터 항상 생각하던 상황이었다.

 

평소에도 남는 시간의 대부분과 업무 시간의 일부를 망상에 사용하던 나에게 어느날 이런 생각이 들었다.

'만약, 하나의 클라우드 llm 서비스 제공자가 점유율의 과반을 획득하고 API 의 가격을 엄청나게 올려버린다면?'

'다른 제공자들도 따라서 가격을 올리지만, 조금 더 싸거나 쿼터를 늘리는 방식으로 경쟁을 하겠지?'

'결국 기업간의 경쟁이라는 것은 표면적으로 이루어지지만, 사용자가 지불해야하는 토큰 대비 금액은 필연적으로 오르겠지?'

'즉 클라우드 AI 를 많이 사용 할수록 우리의 데이터는 데이터대로 학습에 이용당하지만 코스트는 계속 증가하겠네?'

'그러면 가장 안전한 AI 는 로컬 LLM 겠지? 하지만 얘는 클라우드 LLM 모델에 비하면 학습 속도도, 토큰 처리속도도 느리겠지? 그리고 지금 내 컴퓨터에는 사양이 너무 높아.'

 

이런 잡생각을 하던 도중 이번달 (26년 4월 기준) gemma4 를 구글이 공개한 것이다.

안그래도 gemma3 을 한번 보고, 구축하려 했다가 컴퓨터가 다운먹은 이후로 침만 질질 흘리고있던 모델이 공개를 한 것.

마음 같아서는 31B 모델을 쓰고싶었는데, 3천번대 GPU 를 쓰는 나에게 선택지는 e2b 모델 밖에 없었다.

모바일 용 온디바이스 모델을 써야했던 것...

결과는 생각보다 만족스러웠으니 다행이지만, 이 때의 경험은 돈 모아서 GPU 비싼거 쓰는게 양반이라는 왜곡된 인식 또한 생기고 말았다...

 

어쨌든, 모든 도구의 편리함은 반드시 부작용을 낳는다는 생각을 갖고사는 와중에,

항상 생각만해오던 리스크는 Vendor Lock-in 이라는 용어로 이미 고수들의 영역에서는 공공연하게 논의되고 있던 이슈였던 것이다...

 

따라서 무언가를 구축하는건 항상 첫 시작이 귀찮고 시행착오의 연속인 법이지만

gemma4 를 직접 구축하여 향후 다양한 프로젝트에 직접 도입하고자 마음을 먹게 되었다.

 

다시 말하지만, 결과는 e2b 모델임에도 꽤나 만족스러웠다.

극한의 쌀먹을 위해서 이제 로컬 AI 모델은 개인 뿐만이 아니라, 기업에게도 필수가 될 것이라고 생각한다...

 

그래서 나는 이 짓을 한 것이다.

조만간 모바일 디바이스에도 넣어서 내 감정쓰레기통 내지 심심이처럼 써먹을 예정이기도 하다...

 


[ Ollama ]

Ollama : [Ollama 다운로드]

 

Ollama 는 로컬에서 LLM 을 실행하게 해주는 도구다.

LM Studio, vLLM 같은 도구도 있지만, 결정적으로 내가 Ollama 를 선택한 이유는 다음과 같다.

개인이 사용하면서, 가벼울 것.

 

LM Studio 는 데스크톱 앱으로 GUI 를 제공하여 사용이 조금 편하지만, 자체 프로그램의 무게가 좀 있다.

vLLM 은 아마 로컬 LLM 를 사용하는 기업이 있다면 이를 선택할 것 같다. 대규모 요청을 처리하는데 최적화가 되어있는 도구라고 하는데... 오직 개인용으로 사용하는 내게는 딱 맞는 느낌은 아니다.

 

Ollama 는 그냥 인스톨러 다운받고 클릭만으로 대부분의 설치 작업이 가능할 수준으로 간단하다.

일반적으로 컨텍스트 크기에 따라 VRAM 점유율은 3배 이상도 커질 수 있으므로 필자는 가장 낮은 모델인 e2b 를 골랐다.

우선은 기본 모델을 설치해서 테스트하며, 상황에 따라 양자화 모델을 검색하며 설치하며 사양과 성능 사이를 조율하면 될 것이다.

각 양자화 종류에 따라 모델의 가중치 정밀도를 희생시키기 때문에, 향후 다양한 모델을 직접 써보며 개인의 성향과 목적에 맞는 모델을 최종적으로 골라야한다.

 

우선 아래의 사양을 보고 내 GPU 에 맞는 모델을 고르자.

모델 명칭 명령어 권장 VRAM 특징
Gemma 4 E2B ollama run gemma4:e2b 2~3GB 초경량, 모바일/엣지 기기용, 매우 빠름
Gemma 4 E4B ollama run gemma4:e4b 4~6GB 가성비 추천, 일반적인 코딩 보조에 적합
Gemma 4 26B ollama run gemma4:26b 16~20GB MoE(전문가 혼합) 구조, 높은 지능과 속도의 균형
Gemma 4 31B ollama run gemma4:31b 24GB+ 가장 강력한 성능, 복잡한 설계 및 아키텍처용

 


 

[Ollama 에서 Gemma4 사용하기 링크]

1. 터미널에서 아래와 같은 명령어를 사용하거나  [Ollama 다운로드] 에서 운영체제에 맞는 인스톨러를 받아서 설치하자.

Windows

winget install Ollama.Ollama

 

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

 

 

2.  설치 확인을 위해 아래 방법 중 하나를 사용해보자.

 

  • 터미널로 확인

아래 명령어를 터미널에 입력하면 스크린샷과 같은 버전명이 뜬다.

ollama --version

 

  • 시스템 트레이 확인

윈도우나 맥 환경에서 시스템 트레이에 정면을 보는 라마 얼굴이 떠 있다면 엔진이 도는 중이다.

 

  • 브라우저로 확인

http://localhost:11434

를 브라우저에 입력하여 Ollama is running 이라는 문구가 뜨면 서버가 작동 중이다.

아파치 입문할 때 써보신 분들도 있을 듯.

 

 


이제 터미널에서 아래와 같은 명령어 중 하나를 통해 모델을 선택하여 설치한다.

pullrun 으로 바꾸면 모델이 없는 경우 다운로드 후 바로 채팅 모드로 들어간다.

 

스크롤이 귀찮은 사람을 위해 사양표를 다시 첨부한다. (권장 VRAM 의 약 2.5배는 여유를 잡을 것)

모델 명칭 명령어 권장 VRAM 특징
Gemma 4 E2B ollama pull gemma4:e2b 2~3GB 초경량, 모바일/엣지 기기용, 매우 빠름
Gemma 4 E4B ollama pull gemma4:e4b 4~6GB 가성비 추천, 일반적인 코딩 보조에 적합
Gemma 4 26B ollama pull gemma4:26b 16~20GB MoE(전문가 혼합) 구조, 높은 지능과 속도의 균형
Gemma 4 31B ollama pull gemma4:31b 24GB+ 가장 강력한 성능, 복잡한 설계 및 아키텍처용

 

 

다운로드를 받은 뒤 ollama list 를 터미널에 입력하여 설치 된 모델을 확인 가능하다.

또는 Ollama 앱의 채팅 하단의 드롭박스를 통해서도 확인할 수 있다.

 

설치한 모델을 선택하여 말을 걸어보자.

앱을 통해서 채팅을 하는 경우

 

터미널을 통해서 채팅을 하는 경우

 

 

다음과 같이 정상적으로 작동하는 것을 볼 수 있다.

또한 kilocode 등을 이용하여 mcp 등을 같이 사용하는 경우, 컨텍스트 삽입 때문에 기본 토큰량이 커질 수 있다.

이를 위하여 ollama 앱 자체에서 컨텍스트 크기를 조절하자.

 

Settings 의 최하단에서 조절이 가능하다.

 

Gemma4 의 컨텍스트 크기는 128000토큰 이지만 필자는 64k 로 먼저 사용하며, 조절하는 단계를 밟고 있다.

필요에 따라서는 각 모델이 제공하는 최대 크기로 땡겨놓고 쓰면서 조율해도 될 것 같다...

 

이제 로컬 LLM 의 기본적인 설치는 다 끝났다.

다음은 kilocode 에 연동하는 방법과 이후로는 UnityMCP 를 설정하는 방법을 알아보자.

 

 


[ 부록 (Modelfile) ]

Modelfile 은 커스텀 모델을 만들기 위한 설정을 담은 파일이다. Docker 경험자라면 Dockerfile 과 유사함을 바로 아실 듯 하다.예를 들면, 우리는 SKILL.md (Gemini 라면 GEMINI.md) 와 같은 마크다운 파일에 모델의 행동 강령을 설정할 것이다.이처럼 Modelfile로컬 LLM 모델을 커스텀화하기 위한 레시피인 것이다.

 

기본 파일의 설정은 아래와 같다.

# 1. 기반이 되는 모델
FROM gemma4:e2b

# 2. 성능 및 메모리 설정
PARAMETER num_ctx 8192       # 컨텍스트 크기를 8k로 고정
PARAMETER temperature 0.3    # 낮을수록 정확하고 일관된 답변 (코딩용)
PARAMETER top_p 0.9          # 답변의 풍부함 조절

# 3. 에이전트의 성격 및 지침 (SYSTEM 프롬프트)
SYSTEM """
너는 'Kilocode'와 연결되어 작동하는 전문 풀스택 개발자 에이전트이다.
- 코드는 항상 최신 문법을 따르며, 가독성이 높을 것.
- 사용자가 묻지 않아도 잠재적인 버그나 보안 이슈가 보이면 반드시 지적할 것.
- 답변은 한글로 하되, 기술 용어는 영어와 병기할 것.
"""

 

파일을 생성한 뒤, 파일이 있는 경로에서 터미널을 열고 아래 명령어를 입력한다.

agent-model-name 에는 원하는 이름을 넣을 것.

ollama create agent-model-name -f Modelfile

 

 

설치가 끝나면 ollama list 를 통하여 agent-model-name 이 생겼음을 알 수 있다.

이제 해당 커스텀 모델을 ollama 앱이나 터미널에서 똑같은 방식으로 접근할 수가 있게 되었다.

 

다만 Kilocode 와 같은 코딩 에이전트 역시 설정에 Temperature 같은 값을 갖고있다.

이 값은 낮을 수록 원 질문에 가장 안정적인 대답을 하며, 높은 값을 설정하면 무작위성이 짙어져 예상하지 않은 답을 내거나, 거짓된 정보를 뱉을 수도 있다.

 

또한 modelfile 과 에이전트의 Temperature 값이 다른 경우, 일반적으로는 에이전트의 값을 따르므로

이를 잘 고려하여 양 설정의 값을 결정하거나, 에이전트의 설정하나로 일원화하는 것이 편할 것이다.

그래픽카드가 90시리즈가 아니라서 저사양 모델인데도 꽤나 빡빡하게 돌아간다...

처음에는 OpenCode 를 썼는데 뭔가 잘못 설정한건지, MCP 인식이 제대로 안됐던건지 모르겠지만

ai-game-developer 의 tools 의 리스트는 읽어오지만 제대로 통신이 안되는 모습을 보여줬다.

 

kilocode 로 바꾸고 여차저차해서 성공했지만, 본체 사양이 낮아서 무겁게 동작할 때도 간간히 있다.

UnityMCP 에서 제공하는 kilocode mcp 서버 설정방법은 잘못돼서 kilocode 의 mcp 설정 사양으로 바꾸는 작업이 필요했다.

또한 ollama 의 기본 토큰이 4096으로 잡혀있고, kilocode 에서는 cli 를 통해 질문을 보낼때와 달리 다른 정보를 포함하여 프롬프트를 보내기 때문에 최적화가 되지않은 상태에서는 거의 질문당 1만 토큰이 들어오는 경우가 있어서 이를 따로 확장하는 작업이 필요했다.

 

아래는 로컬에서 ollama 로 gemma4:e2b 를 kilocode 로 테스트 했을 때의 로그다.

 

time=2026-04-10T01:37:37.644+09:00 level=WARN source=runner.go:187 msg="truncating input prompt" limit=4096 prompt=10905 keep=4 new=4096

[GIN] 2026/04/10 - 01:37:38 | 200 |    4.5860004s |             ::1 | POST     "/v1/chat/completions"

 

코딩어시스턴트들은 시스템 프롬프트부터 mcp 도구 및 열려있는 파일까지 합쳐서 컨텍스트 주입을하여 보내기 때문에

ollama 로그에 한 줄의 질문을 던졌음에도 토큰이 커짐을 알 수 있었다.

 

실제로 cmd 나 cli 상에서 동일한 질문을 하면 4096토큰 안으로 처리가 되며, 속도도 준수한 편이다.

 

코딩어시스턴트와 mcp 를 통해 작업을 하기엔 최우선 수단으로 쓰는 것이 좋아보이며, 가벼운 작업에는 문제가 없어보인다.

결제를 하고 있다면, 클라우드 ai 를 먼저 사용하고, 할당량이 전부 끝나면 구축해둔 로컬 llm 를 쓰는 것도 나쁘지않은 선택지로 보인다.

 

데스크탑의 사양이 좋으면 좋을 수록 더 만족할만한 결과를 얻을 수 있을 것이다.

실제로 31B 써본 유저들의 평가도 이전에 비해 괜찮아졌다는 말도 많고...

 

사양 업그레이드를 하면 한번 상향된 모델을 써보고싶다.

차후에 천천히 ollama + kilocode + UnityMCP 사용 방법을 올리려한다.

 

0. 설치 시 주의점 선요약

  • antigravity 와 같이 훅이 없는 툴의 경우
    • 에이전트 설치 파일의 글로벌.md 파일을 직접 수정하기
      • 예)antigravity : Agent -> Customizations -> Rules -> GEMINI.md 에 추가 또는
        C:\Users\{UserName}\.gemini\GEMINI.md 로 직접 작성
    • 후킹이 안되므로 매 세션마다 context-mode 를 사용지침을 첫 프롬프트에 넣거나, 글로벌 스킬이 담기는 .md 파일 내에 크리티컬 규칙을 작성할 것
  • mcpServers 에 작성했으나 context-mode 커맨드가 들지않는 경우
    • 주로 npm 을 통해 설치된 위치를 command 를 통해 받지 못하는 경우가 많음
      • 터미널에서 where context-mode 를 통해 설치된 위치를
        mcpServers 의 command 로 넣어줄 것
      • 예) C:\\Users\\{UserName}\\AppData\\Roaming\\npm\\context-mode.cmd
  • 설치 후 제대로 적용 되었는지 체크
    • 세션에 아래 명령어를 통해 간이 테스트 가능. 꼭 동일한 프롬프트를 쓸 필요는 없다. 가벼운 작업 지시도 ok
    • (후킹을 지원하지 않는 경우)context-mode 를 통해, 현재 프로젝트 폴더 내의 가장 큰 스크립트 파일을 찾아줘.
      (후킹을 지원하는 경우) 현재 프로젝트 폴더 내의 가장 큰 스크립트 파일을 찾아줘.
      • context-mode 를 통해 라고 쓰는 경우는 후킹을 지원하지 않는 툴의 경우 관성적으로 익숙한 기존 방식을 고수하려하기 때문
      • 글로벌 스킬.md 에 넣어놓아도 지키지 않는 경우가 많으니 명시적으로 언급하면 확실함.
    • 파일을 찾은 뒤 ctx stats 를 통해 토큰 절약 비율이 나오면 성공

 

context-mode: AI 에이전트를 위한 컨텍스트 가상화 레이어

1. 개요

context-mode는 LLM(Large Language Model) 기반 AI 에이전트의 컨텍스트 윈도우 한계를 극복하기 위해 설계된 MCP(Model Context Protocol) 기반 가상화 서버임. AI가 도구를 실행할 때 발생하는 방대한 출력 데이터를 필터링하고 압축하여 모델의 토큰 소모를 비약적으로 줄이는 기능을 수행함.

  • Repository: mksglu/context-mode
  • 핵심 가치: 컨텍스트 최적화, 보안성 확보, 작업 연속성 유지

2. 주요 기능 및 기술적 특징

2.1 컨텍스트 가상화 (Context Virtualization)

AI 에이전트가 실행하는 도구(Tool)의 출력을 모델에게 직접 전달하지 않고, 가상화 레이어에서 관리함. 이를 통해 모델이 처리해야 할 정보의 양을 최소화함.

  • 데이터 압축: 최대 98%의 컨텍스트 절감 효과 제공 (예: 315KB의 원시 데이터를 5.4KB의 요약본으로 변환).
  • 토큰 효율성: 불필요한 로그 및 중복 데이터를 제거하여 API 호출 비용 절감 및 모델의 집중도 향상.

2.2 샌드박스 기반 실행 (Sandboxed Execution)

모든 명령 및 도구 실행은 격리된 환경에서 이루어짐.

  • 격리 환경: 독립된 서브프로세스로 실행되어 메인 프로세스와의 간섭 차단.
  • 보안: gh, aws, docker 등 주요 CLI 도구의 인증 정보와 작업 환경을 안전하게 분리하여 관리.

2.3 세션 연속성 및 검색 (Session Continuity)

긴 대화 흐름 속에서도 이전 작업 상태를 유실하지 않도록 영속성 계층을 제공함.

  • SQLite 통합: 작업 이력, 파일 편집 내역, 오류 로그를 SQLite 데이터베이스에 기록.
  • 고급 검색: FTS5(Full-Text Search) 인덱싱과 BM25 알고리즘을 활용하여 과거의 맥락 중 필요한 부분만 정밀하게 추출하여 재삽입.

3. 기술 스택 및 구조

구분 내용
프로토콜 Model Context Protocol (MCP)
언어/환경 TypeScript, Node.js
데이터베이스 SQLite (with FTS5 extension)
지원 런타임 JS, Python, Go, Rust 등 10개 이상 언어

4. 활용 시나리오

  1. 대규모 로그 분석: 수천 줄의 빌드 로그 중 에러 원인이 되는 핵심 라인만 AI에게 전달.
  2. 장기 프로젝트 수행: 컨텍스트 윈도우가 가득 차서 이전 기억을 잃는 문제를 방지하고 6배 이상 긴 세션 유지.
  3. 복합 CLI 작업: 여러 도구(Git, AWS, NPM 등)를 동시에 사용하는 복잡한 워크플로우 제어.

5. 결론

context-mode는 단순한 도구 모음이 아닌, LLM이 가진 하드웨어적 한계(Context Window)를 소프트웨어 아키텍처로 해결하려는 시도임. Claude Code나 기타 MCP 호환 클라이언트를 사용하는 개발 환경에서 컨텍스트 관리 효율을 극대화할 수 있는 필수 레이어로 평가됨.

 

https://github.com/cafeTechne/antigravity-link-extension

 

GitHub - cafeTechne/antigravity-link-extension: VS Code extension that bridges Antigravity sessions to mobile for uploads and vo

VS Code extension that bridges Antigravity sessions to mobile for uploads and voice-to-text - cafeTechne/antigravity-link-extension

github.com

 

안티그래비티의 세션을 모바일로 액세스하여 작업을 하는 확장프로그램이다.

기본 작동은 로컬 네트워크에서 하지만,

원한다면 포트포워딩을 통해 외부 접속을 하여서 사용하는 것도 가능하다.

 

클로드 코드 리모트와 비슷한 느낌의 확장프로그램이라고 보면 될 것 같다.

다만 게임 엔진 MCP 와 사용하기에는 코드가 아닌 하이어라키에 배치된 리소스를 직접 수정하고 다듬는 일도 필요하기에,

소스코드를 수정하는 일에만 써야할 것으로 예상된다.

+ Recent posts