FlamxGames/godot-ai-assistant-hub
요약
Godot 엔진의 코드 에디터 내에서 AI 어시스턴트를 사용할 수 있게 해주는 플러그인입니다. Ollama, Google Gemini, xAI 등 다양한 LLM 인터페이스를 지원하며, 로컬 LLM과 원격 API를 연결하는 API agnostic 설계를 채택하고 있습니다.
핵심 포인트
- Godot 코드 에디터 내에서 직접 코드를 읽고 쓸 수 있는 AI 기능 제공
- Ollama, Google Gemini, OpenRouter 등 다양한 LLM 서비스 지원
- 사용자 정의 어시스턴트 설정을 통해 코딩 및 글쓰기 등 용도별 템플릿 생성 가능
- REST API를 지원하는 도구라면 쉽게 확장 가능한 유연한 구조
- Quick Prompts와 키워드({CODE}, {CHAT})를 활용한 효율적인 프롬프트 제어
최신 버전: 1.8.3
(새로운 기능은 무엇인가요?)
(새 버전으로 업그레이드하기)
Godot의 코드 에디터 (Code Editor)에서 코드를 읽고 쓸 수 있는 기능을 갖춘 AI 어시스턴트 (AI assistants)를 Godot에 내장하세요.
이 플러그인은 LLM 모델을 직접 실행하지는 않지만, Godot와 사용자의 로컬 LLM 사이에서 인터페이스 (interface) 역할을 합니다. LLM을 로컬에서 실행할 수 있는 옵션은 매우 많습니다. 커뮤니티 덕분에 이 도구는 다음 항목들을 지원합니다:
- Ollama*
- Google Gemini
- Jan
- Ollama Turbo
- OpenRouter
- OpenWebUI
- xAI
Ollama는 공식적으로 지원되지만, 다른 LLM 제공업체들은 커뮤니티 기여를 통해 유지 관리됩니다. 그럼에도 불구하고, 플러그인은 이들 모두에 대해 동일한 기능을 제공합니다.
여기에 나열되지 않은 다른 LLM 도구를 사용하는 경우, 해당 도구가 REST API를 가지고 있다면 이 플러그인을 쉽게 확장하여 작동할 수 있습니다. 이 플러그인은 API에 구애받지 않도록 (API agnostic) 설계되었습니다. 이에 대한 자세한 정보는 영상을 참조하세요.
첫 번째 영상 👇
로컬 LLM을 실행하기 위한 시스템 요구 사항은 사용하는 모델과 기대하는 속도에 따라 달라집니다. 물론, 원격 모델 (Gemini, xAI 등)을 실행하기 위해 플러그인을 사용하는 경우에는 이 부분을 걱정할 필요가 없습니다 (비용 문제만 신경 쓰면 됩니다).
테스트된 버전
- Godot 4.3 ~ 4.6
안정화 버전 (stable versions)에서만 테스트되었습니다.
이 섹션은 Ollama를 설치하고 최소 하나 이상의 모델을 설치했다고 가정합니다. 어떤 모델을 다운로드해야 할지 확실하지 않다면, "어떤 모델을 사용해야 할지 모르겠나요?" 섹션을 읽어보세요.
그냥 설치한 다음 Godot 자체에서 제공하는 힌트를 따르세요.
이 애드온 (addon)에는 두 가지 주요 개념이 있습니다. 두 개념 모두 Godot 리소스 (Resources)이므로 익숙해지시기 바랍니다:
이것은 어시스턴트의 설정 (setup)이며, 어시스턴트가 무엇을 하는지, 어떤 LLM 모델을 사용하는지, 그리고 어떤 퀵 프롬프트 (Quick Prompts)를 사용할 수 있는지를 설명합니다.
이를 어시스턴트를 생성하기 위한 템플릿 (template)이라고 생각하세요. 예를 들어, 코딩을 도와주는 어시스턴트와 글쓰기를 도와주는 어시스턴트를 가질 수 있습니다. 이 경우, 2가지 어시스턴트 유형을 갖게 되며, 필요한 만큼의 코더(coder)나 작가(writer)를 불러올 수 있습니다.
매번 직접 작성하는 대신 버튼을 클릭하여 채팅창에 프롬프트 (prompt)를 보낼 수 있습니다. 또한 어시스턴트 (assistant)의 답변을 Godot의 코드 에디터 (Code Editor)에 삽입하는 기능을 추가합니다. 프롬프트가 코드 에디터나 채팅 프롬프트로부터 데이터를 가져올 수 있도록 다음 키워드들이 사용됩니다.
{CODE}를 사용하여 에디터에서 현재 선택된 코드를 삽입합니다.{CHAT}을 사용하여 텍스트 프롬프트의 현재 내용을 포함합니다.
참고: 대부분의 모델 (models)은 이미 코드를 적절하게 태깅 (tagging)하지만, 모든 모델이 그런 것은 아닙니다. 플러그인 (plugin)이 어시스턴트의 응답에서 어떤 코드를 사용할지 식별할 수 있도록, 설명에 다음과 같이 명시적인 지침을 제공해야 할 수도 있습니다:
작성하는 모든 코드는 다음과 같이 적절하게 표시해 주세요:
```gdscript
var x:String = "abc"
일반적으로 수행해야 할 단계는 다음과 같습니다:
- LLM을 로컬 (locally)에서 실행하는 경우, Ollama 또는 기타 지원되는 LLM을 설치하고 최소 하나 이상의 모델을 다운로드하세요.
- 여기에서 이 애드온 (addon)을 다운로드하여 압축을 풀고, `ai_assistant_hub` 폴더를 `res://addons/ai_assistant_hub/` 경로의 addons 폴더로 복사하세요. (에러가 발생할 수 있으나, 다음 단계를 거치면 사라집니다.)
- 프로젝트를 다시 로드하세요: **Project > Reload Current Project** (프로젝트 전체를 다시 로드하므로, 실행 전 반드시 저장하세요).
- 프로젝트 설정 (**Project > Project Settings... > Plugins**)에서 플러그인을 활성화하세요. 하단 패널에 `AI Hub`라는 새로운 탭이 나타날 것입니다.
- LLM 제공자 (provider)를 선택하세요. 기본값으로 Ollama가 선택되어 있습니다.
- 설치된 모델 목록이 표시됩니다. 모델 하나를 클릭하고 "New assistant type" 버튼을 사용하세요.
- 어시스턴트의 데이터를 입력하세요.
- 저장한 후, 해당 어시스턴트 유형에 대한 새로운 버튼이 나타납니다.
- 어시스턴트 유형은 인스펙터 (Inspector) 패널에서 열리며, 여기서 선택적으로 아이콘과 퀵 프롬프트 (Quick Prompts)를 설정할 수 있습니다. 퀵 프롬프트를 설정하면 코드 에디터와 상호작용할 수 있습니다.
- 어시스턴트 유형 버튼을 클릭하여 해당 유형의 새로운 어시스턴트와 채팅을 시작하세요.
- 어시스턴트 유형 버튼을 마우스 오른쪽 버튼으로 클릭하면 '편집 (Edit)' 또는 '삭제 (Delete)'를 선택할 수 있습니다.
- '편집 (Edit)'을 선택합니다.
- *Type Icon* 속성에서 어시스턴트 버튼에 표시할 이미지를 선택합니다. (애드온의 `res://addons/ai_assistant_hub/graphics/icons` 경로 아래에 몇 가지 아이콘이 있습니다. 이 속성에서 *New AtlasTexture*를 사용하고, AtlasTexture의 *Atlas* 속성에 아이콘 파일을 로드한 다음, *Edit Region*을 클릭하여 원하는 아이콘을 선택함으로써 해당 아이콘들을 사용할 수 있습니다.) - *Quick Prompts* 속성을 클릭하면 빈 배열이 나타납니다. *Add Element*를 클릭한 다음, 빈 슬롯에서 *New AIQuickPromptResource*를 선택합니다. - 새로 생성된 리소스를 클릭하여 에디터에서 해당 속성들을 엽니다.
- 다음과 같은 몇 가지 속성이 나타납니다:
**Action Name**. 이 이름은 퀵 프롬프트 (Quick Prompt) 버튼에 표시됩니다. **Action Prompt**. 이 프롬프트가 채팅으로 보낼 내용입니다. 두 가지 키워드가 있습니다: - `{CODE}`를 사용하여 에디터에서 현재 선택된 코드를 삽입합니다. - `{CHAT}`을 사용하여 텍스트 프롬프트의 현재 내용을 포함합니다.
- **Icon**. 퀵 프롬프트 버튼에 표시할 아이콘입니다. **Response Target**. 봇의 답변이 Godot 에디터의 어디로 가야 하는지를 지정합니다. **Code Placement**. 응답 대상 (Response Target)이 코드 에디터(Code Editor)인 경우에만 관련이 있습니다. **Format Response as Comment**. 응답 대상이 코드 에디터인 경우에만 관련이 있습니다. 프롬프트가 인라인 코드 문서화 (inline code documentation)를 생성하는 데 사용될 때 유용합니다.
- 설정이 완료되면 새로운 채팅을 시작하여 퀵 프롬프트를 확인하세요.
여러분의 워크플로 (workflow)에 맞는 적절한 유형의 어시스턴트를 실험하고 구축해 보세요.
모델은 항상 변하기 때문에 여기서 조언을 하는 것은 좋은 생각이 아니라는 것을 알게 되었습니다. 제가 제안하는 방법은 "(현재 연도)에 (사용자의 환경 입력)에 적합한 최고의 코딩용 로컬 LLM 모델"을 검색하는 것입니다. 예를 들어, "8 GB의 VRAM에 적합한 2026년 최고의 코딩용 로컬 LLM 모델"과 같이 검색해 보세요.
제가 따르는 경험 법칙(rule of thumb)은 대화를 통해 출력 속도를 확인하는 것입니다. 만약 속도가 느리다면, 모델이 GPU에 로드되지 않고 RAM/CPU를 사용하고 있다는 의미입니다. 모델이 생성하는 결과물이 눈에 띄게 더 뛰어나거나, 모델을 로드할 수 있는 GPU가 없는 경우가 아니라면 굳이 그렇게 할 필요는 없습니다.
**1.8.3**
- Ollama에 대한 추론 레벨(reasoning level) 지원 추가 (다른 LLM 제공업체에도 추가할 도움을 기다립니다!)
- "플로팅(Make floating)" 옵션(플러그인 탭을 우클릭하여 사용)이 이제 Godot 4.6에서 별도의 수동 코드 변경 없이 활성화됩니다 (#64 종료).
- 에이전트 응답과 별도로 제공되는 사고 과정(Thinking content)을 이제 가져올 수 있으며, 사용자 설정(Project Settings > General > Plugins > AI Assistant Hub > Thinking Target)에 따라 표시됩니다.
- 에러/디버깅(error/debugging) 처리를 재작업하였으며, 디버깅을 용이하게 하기 위한 새로운 옵션이 추가되었습니다 (Project Settings > General > Plugins > AI Assistant Hub > Debug Mode). 이는 키(keys)를 자동으로 건너뛰며 로그 파일에 기록하는 기능을 지원합니다.
- 저장된 채팅에서 시스템 메시지(System message)가 더 이상 유실되지 않습니다 (#75 종료).
- 사람들이 어떤 버전과 API를 가장 많이 사용하는지 더 잘 이해하기 위해 익명(카운팅 방식) 사용 통계를 추가했습니다.
**1.8.2**
- 채팅 사운드를 비활성화/활성화하는 새로운 설정 항목 추가 (Project Settings > General > Plugins > AI Assistant Hub > Audio Hints).
**1.8.1**
- 어시스턴트 탭을 선택하면 이제 채팅 텍스트 박스에 자동으로 포커스가 맞춰집니다.
- ai_hub_plugin.gd의 _enter_tree() 및 _exit_tree() 아래에 주석 처리된 코드를 추가했습니다. Godot 4.6에서는 이 주석을 해제하여 탭을 우클릭함으로써 플러그인 화면을 플로팅 상태로 만들 수 있습니다.
- 선택 항목을 교체할 때 코드 배치(code placement) 관련 버그를 수정했습니다. 또한 주변의 불필요한 줄을 제거하여 전반적인 코드 배치 기능을 개선했습니다.
- Linux에서 어시스턴트 리소스(assistant resource)를 편집할 때 발생하던 프리징(freeze) 버그를 수정했습니다.
**1.8.0**
- xAI API 지원
플러그인이 설치되어 있고 최신 버전으로 업그레이드하려는 경우, 다음 단계를 따르세요:
**다운로드(Download) > 현재 버전 비활성화(Disable current) > 새 버전 설치(Install new) > 프로젝트 재로드(Reload project) > 활성화(Enable)**
- 여기에서 최신 버전을 다운로드하고 압축을 해제하세요.
**Project > Project Settings... > Plugins**에서 플러그인을 **비활성화(Disable)** 하세요.
- 새 버전의 **ai_assistant_hub** 폴더를 기존의 addons 폴더로 드래그하여 넣으세요 (기존의 어시스턴트들을 잃어버리지 않도록 이전 폴더를 삭제하지 마세요). Godot의 출력(Output) 탭에 오류가 나타날 수 있으나, 이는 괜찮습니다.
- Godot가 새 버전을 메모리에 로드하도록 확인하세요:
**Project > Reload Current Project**(이 작업은 프로젝트 전체를 재로드하므로, 수행하기 전에 반드시 저장하세요). 플러그인을 **활성화(Enable)** 하세요. 출력 탭에 오류가 나타나지 않아야 하지만, 경우에 따라 이전 설정의 마이그레이션(Migration)을 확인하는 메시지가 나타날 수 있습니다.
이 프로젝트가 마음에 드신다면, 다음 페이지에서 지원 방법에 대한 아이디어를 확인해 보세요: https://github.com/FlamxGames/godot-ai-assistant-hub/blob/main/support.md
안녕하세요, Forest입니다. 저는 개인적인 용도로 이 애드온(Addon)을 만들었고 이를 공유하기로 결정했습니다. 여러분에게 유용하기를 바랍니다.
저는 가끔 게임 개발 도구를 만들게 되는 1인 게임 개발자입니다. 이것은 제가 때때로 계속 개선해 나갈 수 있는 취미 프로젝트입니다. 현재는 필요에 따라 개선할 계획이므로 공식적인 로드맵(Roadmap)은 없습니다. 하지만 Discussions 섹션에 아이디어를 남겨주시면 환영합니다.
이 프로젝트는 MIT 라이선스(MIT license) 하에 배포됩니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Coding Assistants의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기