Introducing... FixGPT!
Вчера параллельно со сценарием по ролику набросал целую утилиту для быстрого кодгена/рефакторинга и прочего.
Проблема
- Очень часто появляются паттерны, когда нужно создать несколько файлов по определённому шаблону.
- Например, в моей игре моб - это сразу ~6 файлов (1 на самого юнита, один на ИИ, и по одному на каждый скилл)
- На работе (во фронтенде) код разбит по фичам. Каждая фича - это модель с логикой + компоненты, работающие с этой моделью
- Также часто появляется необходимость глобально что-то изменить по всему проекту, но при этом эти изменения не всегда возможны
Такие вещи руками делать невероятно впадлу.
И ChatGPT просто так это сделать тоже не попросишь, ведь это всего лишь чатик - у него нет доступа к файлам, он также не знает куда сходить и что поменять.
К счастью, я сделал инструмент, который решает эту проблему!
FixGPT
FixGPT - это консольная утилита, через которую можно создавать список задач на создание/изменение/удаление файлов. А для генерации кода она использует ChatGPT, засчёт чего может работать с любым языком (будь то C# или GDScript или JavaScript).
Также вы можете создавать и сохранять шаблоны задач с возможностью указывать дополнительные параметры по ходу выполнения этих задач.
Демонстрация работы
Как накатить
1. Установите Node.js - тык
2. Возьмите токен с OpenAI - тык
3. Запустите npx fixgpt init <token>
4. Используйте через npx fixgpt run или шаблоны (подробнее в документации)
Очень важно! Если вы не используете Git или другие системы контроля версий, обязательно сохраняйте бэкап проекта перед использованием FixGPT
LLM не являются на 100% надёжными, ввиду чего вам может сгенерировать нерабочий код (или вовсе удалить тот, что был)
Документация: https://github.com/Kelin2025/fixgpt
Почему не AutoGPT/BabyAGI?
Некоторые умельцы уже научили ChatGPT работать с файловой системой и создавать лупы, в которых она сама решает что делать.
Но они делают не то, что нужно, примерно всегда.
Причина 1
"AGI" солюшены используют LLM для создания инструкций, что нужно делать.
С FixGPT ты сам задаёшь, что нужно создавать, изменять или удалять (используя конкретный путь или glob pattern для массовых апдейтов).
ChatGPT только создаёт код, и не полагается на нестабильные ответы нейронок для действий.
Причина 2
"AGI" солюшены не позволяют взаимодействовать с ними во время процесса.
Шаблоны FixGPT позволяют запрашивать дополнительную информацию в процессе работы. Очень полезно, если вы хотите добавить в промпт какую-то инфу индивидуальную для каждого изменяемого файла.
Причина 3
Также шаблоны FixGPT хранятся в виде обычных Markdown-файлов.
Вы можете складывать шаблоны рутинных задач прямо в проект, чтобы ими могли пользоваться ваши коллеги.