Настройка AI-агента с визуальной обратной связью для авторазработки игр в Godot 4 | AiManual
AiManual Logo Ai / Manual.
16 Мар 2026 Гайд

AI-агент для Godot 4: Как заставить нейросеть видеть, что она накодила

Пошаговое руководство по созданию AI-агента, который не только пишет код для Godot 4, но и анализирует скриншоты игры, чтобы самостоятельно вносить правки. MCP-

Вы устали играть в испорченный телефон с ChatGPT?

Типичная сцена 2024 года: вы просите модель создать простой платформер. Она выдает гору GDScript. Вы копируете код в Godot, запускаете, персонаж проваливается сквозь пол. Вы делаете скриншот, загружаете его обратно в чат, описываете проблему. Модель извиняется, дает новый код. Цикл повторяется. Это не разработка, это пытка.

В 2026 году это выглядит по-другому. AI-агент работает напрямую с редактором Godot. Он запускает игру, делает скриншот, сам его анализирует и видит: "персонаж в текстурах пола". Он открывает скрипт движения, находит баг с коллизиями, исправляет его и коммитит изменения. Без вашего участия.

Забудьте про prompt-chaining. Настоящий агент должен обладать перцепцией - способностью видеть результаты своих действий так же, как видите их вы.

Что нам нужно собрать

Система состоит из трех ключевых компонентов:

  • Мозг: LLM с поддержкой инструментов (Claude 3.7 Sonnet или GPT-4.5-Turbo на 16.03.2026).
  • Руки: MCP-сервер для Godot, который дает агенту доступ к редактору, файлам и консоли.
  • Глаза: Vision-модель (GPT-4o Vision или аналоги), интегрированная в петлю обратной связи для анализа скриншотов.

Звучит сложно? Это потому что так и есть. Но настройка один раз сэкономит сотни часов ручной возни.

1Установите и настройте MCP-сервер Godot

Это основа всего. Без MCP (Model Context Protocol) ваш агент - просто болтливый консультант без рук.

# Клонируем репозиторий сервера (актуальный на 16.03.2026) 
git clone https://github.com/your-repo/godot-mcp-server.git
cd godot-mcp-server

# Устанавливаем зависимости
pip install -r requirements.txt

# Настройте конфигурационный файл config.yaml
# Ключевые параметры:
godot_executable_path: "/путь/к/godot4/executable"
project_path: "/путь/к/вашему/project"
screenshot_dir: "/tmp/godot_screenshots"
headless_mode: true  # Для автоматизации без GUI
💡
Headless-режим Godot критически важен для автоматизации. Убедитесь, что ваша версия Godot 4 поддерживает --headless флаг. На 16.03.2026 это стандарт.

Сервер предоставляет 35+ инструментов. Нас интересуют несколько ключевых:

  • execute_gdscript - выполнить код в контексте запущенного проекта
  • take_screenshot - сделать скриншот активного окна игры
  • read_scene_tree - получить текущую иерархию нодов
  • modify_node_property - изменить свойство ноды в рантайме

2Интегрируем Vision-модель в петлю обратной связи

Здесь начинается магия. Агент должен не просто получать сырые пиксели, а понимать, что на них происходит.

Создаем простой микросервис на Python, который будет принимать скриншоты и возвращать текстовое описание проблем:

# vision_analyzer.py (используем OpenAI API, актуально на март 2026)
import base64
from openai import OpenAI

def analyze_screenshot(image_path):
    client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])
    
    with open(image_path, "rb") as image_file:
        base64_image = base64.b64encode(image_file.read()).decode('utf-8')
    
    response = client.chat.completions.create(
        model="gpt-4o-vision-preview",  # Самая новая vision-модель на 16.03.2026
        messages=[
            {
                "role": "user",
                "content": [
                    {"type": "text", "text": "Ты - QA инженер Godot. Проанализируй скриншот игры. Опиши видимые проблемы: объекты не на своих местах, UI баги, графические артефакты. Будь конкретен."},
                    {
                        "type": "image_url",
                        "image_url": {
                            "url": f"data:image/png;base64,{base64_image}"
                        }
                    }
                ]
            }
        ],
        max_tokens=500
    )
    return response.choices[0].message.content

Теперь свяжем это с MCP-сервером. Добавим кастомный инструмент, который:

  1. Делает скриншот через take_screenshot
  2. Вызывает наш vision-анализатор
  3. Возвращает структурированный отчет агенту

3Собираем агента с архитектурой ReAct

Мозг, который будет всем управлять. Мы используем Claude 3.7 Sonnet через Anthropic API, так как на 16.03.2026 у него лучшая поддержка инструментов среди коммерческих моделей.

# main_agent.py - ядро системы
import anthropic
from mcp import Client
import asyncio

class GodotDevAgent:
    def __init__(self):
        self.client = anthropic.Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"])
        self.mcp_client = Client("localhost", 8080)  # Подключаемся к MCP-серверу
        
    async def develop_with_feedback(self, task: str):
        """Основной цикл разработки с визуальной обратной связью"""
        prompt = f"""Ты - автономный разработчик Godot 4. 
Задача: {task}

Ты можешь:
1. Создавать и редактировать файлы проекта
2. Запускать игру и делать скриншоты
3. Анализировать скриншоты через vision-модель
4. Исправлять найденные проблемы

Действуй по шагам. После каждого значимого изменения делай скриншот и анализируй его.
"""
        
        messages = [{"role": "user", "content": prompt}]
        
        # Начинаем цикл ReAct: Думаем -> Действуем -> Наблюдаем
        for step in range(10):  # Ограничим количество шагов
            # 1. Думаем: что делать дальше
            think_response = await self.client.messages.create(
                model="claude-3-7-sonnet-20250226",
                max_tokens=1000,
                messages=messages
            )
            
            # 2. Действуем: выполняем инструмент MCP
            # (здесь упрощенно - в реальности парсим think_response на инструменты)
            screenshot_path = await self.mcp_client.call("take_screenshot")
            analysis = self.vision_analyzer.analyze(screenshot_path)
            
            # 3. Наблюдаем: добавляем результат в контекст
            messages.append({
                "role": "assistant", 
                "content": f"Скриншот проанализирован. Проблемы: {analysis}"
            })
            
            # Если проблем нет - выходим
            if "нет проблем" in analysis.lower():
                print("Задача выполнена!")
                break

Важно: Claude 3.7 Sonnet на март 2026 имеет встроенную поддержку MCP, что упрощает интеграцию. Если вы используете OpenAI, потребуется дополнительный слой для преобразования вызовов инструментов.

Где все ломается: практические грабли

Теория гладкая. Практика - ухабистая дорога с ямами. Вот что точно пойдет не так:

1. Синхронизация состояний

Агент думает, что игра запущена, но Godot завис на компиляции. Решение: после каждого действия проверяйте статус через get_editor_status инструмент.

2. Vision-модель галлюцинирует

Модель может "увидеть" проблему, которой нет. Или не заметить очевидный баг. Добавьте систему консенсуса: делайте 3 скриншота с разных ракурсов и сравнивайте описания.

3. Godot Editor меняет интерфейс

MCP-сервер полагается на стабильные селекторы UI. Если Godot 4.3 (вышедший в 2025) изменил структуру окон, инструменты сломаются. Всегда тестируйте на фиксированной версии движка.

💡
Совет из практики: используйте Docker-контейнер с зафиксированной версией Godot 4.2.2 (LTS) для стабильности. Обновляйте только когда убедитесь в совместимости MCP-сервера.

Сколько это стоит на 16.03.2026

КомпонентПримерная стоимостьКомментарий
Claude 3.7 Sonnet API$0.01/1K токеновДля сложных задач дешевле GPT-4.5
GPT-4o Vision API$0.0075/изображениеЦена снизилась с 2025 года
Время разработки2-3 неделиТолько на интеграцию и тестирование

FAQ: вопросы, которые вы зададите через час

Можно ли использовать это для 3D игр?

Можно, но сложнее. Vision-модели хуже анализируют 3D сцены со сложным освещением. Придется делать скриншоты с нескольких камер и добавлять глубину анализа.

Агент может создать полноценную игру?

Нет. И да. Он отлично справляется с прототипами, фиксами багов и рутинными задачами вроде "сделай 10 уровней похожих, но разных". Но дизайн геймплея, баланс и уникальную механику все еще нужно придумывать человеку. Помните про технический долг от AI-агентов.

Что если агент сломает проект?

Обязательно используйте Git. Настройте pre-commit хуки, которые делают бекап перед каждым действием агента. Или работайте в отдельной ветке, которую смержите только после ревью.

Что дальше? Автономная студия?

Представьте цепочку агентов: один генерирует идеи, второй пишет код в Godot, третий тестирует и багрепортит, четвертый оптимизирует производительность. Мы близки к этому. Но главный вопрос не "как", а "зачем".

Такой агент - не замена разработчику. Это усиление. Он берет на себя скучную, повторяющуюся часть работы, оставляя вам пространство для творчества. Используйте его как супер-помощника, а не как черный ящик, который делает игру за вас.

Начните с малого: автоматизируйте одну задачу вроде "создавай вариации врагов по этому шаблону". Когда поймете логику работы агента, масштабируйтесь. И следите за обновлениями MCP - на 2026 год это самый быстрорастущий стандарт для AI-инструментов.

Подписаться на канал