Назад до блогу Розбір функції

Кожне зображення — це версія: чому Kaka Camera ніколи не перезаписує вашу роботу

· Safafish

Іншими мовами: English · 中文 · 日本語 · Español · Français · 한국어 · Українська

Перша генерація ніколи не буває остаточною. Композиція вдалася, а настрій — ні; виправляєш настрій і втрачаєш композицію; і десь біля четвертої спроби розумієш, що друга була найближчою. Більшість інструментів генерації зображень зі ШІ розглядають кожну спробу як окрему подію: зміни промпт, натисни кнопку, і попередній результат відпливає в плоску історію. Kaka Camera побудований навколо протилежної ідеї. Кожна генерація — це версія в ланцюжку, і ітерація нарощує ланцюжок замість того, щоб щось замінювати.

Що таке ланцюжок версій насправді

Модель даних свідомо проста: кожен запис завдання і є версією. Перший запуск ідеї — це корінь її ланцюжка, версія 1, без батька. Коли ви ітеруєте із завдання, новий запуск зберігає посилання на корінь і отримує наступний номер версії: 2, 3, 4. Немає окремого об'єкта «історії», який треба синхронізувати, і немає особливого випадку для оригіналу. Ланцюжок — це просто набір звичайних завдань, які знають, до якого кореня належать.

Створення завдання будь-якого виду проходить через один і той самий запит. Опустіть посилання на завдання — і почнеться новий ланцюжок; включіть його — і продовжиться наявний. Застосунку ніколи не треба обирати між двома різними шляхами коду, а це саме та простота, що виживає в контакті з реальними користувачами.

Чому відгалуження, а не перезапис

Три причини, у порядку зростання того, скільки вони коштують нам.

Жаль — це реально. Генерація зі ШІ стохастична: той самий промпт двічі не дає того самого зображення двічі. Якби повторний запуск замінював попередній результат, звичайне налаштування тега могло б знищити найкраще зображення, яке ви досі створили. Збереження кожної версії означає, що найсміливіший експеримент коштує балів, але ніколи не коштує роботи.

Порівняння — це інструмент. Майстерність промптів — це здебільшого «зміни одне й подивися». Ланцюжок тримає «до» і «після» поруч із їхніми точними промптами, тож ви можете дізнатися, який тег що зробив, а не покладатися на пам'ять.

Маркет залежить від цього. Завершене завдання можна опублікувати як шаблон промпту, а самі шаблони мають версії, що ділять спільну спорідненість. Ланцюжки — це те, що дозволяє гарному результату стати продуктом і далі вдосконалюватися, не ламаючи досвід тих, хто вже ним користується.

Скільки коштує ітерація

Кожна нова версія — це справжнє завдання, і вона оцінюється як така: базова вартість плюс авторський збір автора шаблону, списані під час підтвердження. Це чесна відповідь — ітерація не безкоштовна, бо генерація не безкоштовна. Натомість ланцюжок дає вам точність: ви перезапускаєте лише той крок, що не вдався, а все інше вже на місці, і екран підтвердження завжди показує вартість до того, як бали рушать.

Найдешевший спосіб користуватися ланцюжками — той, що його радить посібник користувача: досліджуйте в якості Чернетка, де запуск коштує частку стандартного, і піднімайтеся до Стандарту чи HD лише тоді, коли промпт усталений. Ланцюжок із трьох версій — Чернетка, Чернетка, HD — зазвичай коштує менше, ніж два наосліп стандартні запуски.

Та сама ідея, рівнем вище

Робочі процеси — наші багатокрокові шаблони — дотримуються тієї самої філософії. Запуск робочого процесу повністю передоплачений, його кроки виконуються в порядку залежностей, а незалежні — паралельно, і невдалий крок повторюється до того, як завданню дозволено зазнати невдачі. Потім увесь запуск лежить у вашому списку завдань, як будь-яке інше, готовий до версіонування. Конвеєри — це не окреме королівство з власними правилами; це просто більші ланки того самого ланцюжка.

Якщо ви винесете з цієї статті лише одне: не вважайте посередній результат глухим кутом. Відкрийте його, почніть нову версію, змініть те єдине, що вас бентежило. Саме навколо цього побудовано застосунок.

Ви тут уперше? Посібник користувача містить практичний розбір, а нотатки до випуску 1.6 розповідають про нове в поточній версії.