Четвер, 25 Червня, 2026

Як змусити LLM працювати як інженера: контекст, правила й відладка

Канадський розробник і автор каналу Tech With Tim показує не черговий «демо‑чудо» ШІ, а свій реальний робочий процес: як змусити велику мовну модель у Cursor поводитися не як чат‑бот, а як керований інженер‑агент. У центрі — не стільки сам застосунок для AI‑шортів, скільки спосіб роботи: довгі голосові промпти, початковий архітектурний контекст, правила для git‑комітів і відладка через знімки екрана.

Диктувати, а не друкувати: чому голосовий промпт важливий

Перший крок у його workflow — не код, а детальний опис задачі. І робиться це не руками на клавіатурі, а голосом.

Розробник відкриває Cursor, створює нову папку й одразу запускає довгий початковий промпт. Але набирати кілька абзаців технічного опису незручно, тому він використовує інструмент Whisper Flow, який працює на комп’ютері й інтегрується з Cursor. Він просто говорить у мікрофон, а все сказане миттєво перетворюється на текст.

За його словами, це «очевидно робить увесь процес значно швидшим» і це саме те, що він «рекомендував би використовувати». Whisper Flow вміє навіть «тегати» файли всередині Cursor, тож голосова диктовка стає повноцінною заміною ручного набору.

Уже в першому голосовому промпті він не обмежується загальною ідеєю на кшталт «зроби сервіс для шортів». Звучить повністю сформульована постановка задачі: який формат відео на вході, що з ним треба зробити, на якому фреймворку будувати веб‑застосунок, які саме зовнішні сервіси використовувати для транскрипції, аналізу тексту й відеообробки, де мають відбуватися рефреймінг, субтитри й стрімінг.

У результаті перший промпт виходить довгим, але саме цього він і добивається: одномоментно «вивантажити» з голови архітектурні рішення й очікуваний флоу, не розмазуючи їх на десятки дрібних чат‑запитів.

Початковий контекст як архітектурний документ

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

Він формулює це чітко: у початковому промпті «завжди рекомендуєте моделі: “постав мені кілька запитань”». Cursor тепер дозволяє відповідати на ці питання безпосередньо в інтерфейсі агента, що перетворює першу сесію на невелике інтерв’ю, де уточнюються нюанси флоу, обмеження й бажані рішення.

Але ключова мета цієї фази — не просто «поговорити з ШІ», а створити артефакт, який житиме разом із проектом. Він прямо пояснює, що намагається дати моделі «початковий контекст», з якого можна «почати генерувати» й мати «markdown‑файли в нашому застосунку… які ми можемо використовувати фактично завжди й у різних чатах». Коли він відкриватиме нові сесії агента або паралельні чати, модель «завжди зможе повернутися до цього початкового контексту й зрозуміти, що це за застосунок і які рішення ми вже ухвалили».

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

Змушуємо агента запитувати й створювати структуру

Після того як базовий контекст сформовано, починається налаштування агентного середовища. Він вибирає модель, увімкнувши великий контекстний вікно, і пояснює, що вважає Cursor кращим за інші інтерфейси до тих самих моделей завдяки власному «coding harness».

Але принциповий момент тут — як він від самого початку формує поведінку моделі. Окрім прохання ставити питання в стартовому промпті, далі він одразу просить агента створити високорівневий план і «архітектурний документ» для застосунку. Ці файли зберігаються в проекті й постійно використовуються в наступних промптах.

Такий підхід змінює характер взаємодії: модель не просто «дописує функції», а починає з проектування, структурує роботу й повертається до початкового плану в разі сумнівів. Це ближче до поведінки інженера, який спочатку малює схему, а вже потім пише код.

Git як правило, а не рекомендація

Окрема лінія в його workflow — примусове використання Git через MCP‑сервери. Після того як з’явився початковий контекст і план, він переходить до налаштування інфраструктури й прямо каже, що «настійно рекомендує додати Git MCP‑сервер, GitHub MCP‑сервер, щоб він міг створювати репозиторії для вас».

Далі він дає агенту конкретну задачу: «створити для мене новий репозиторій і почати налаштовувати проєкт так, щоб ми завжди робили коміти, коли вносимо суттєві зміни, щоб можна було відкотитися в майбутньому». І додає: «додайте це як специфічне правило для цього проєкту».

Цей момент важливий: вимога комітити після кожних великих змін оформлюється не як разова інструкція, а як правило, яке має діяти завжди. Він використовує можливість Cursor створювати окремі «rules» — спеціальні файли, які щоразу потрапляють у промпт моделі.

Cursor генерує папку з правилами і файл, де зафіксовано, що після великих змін потрібно автоматично робити Git‑коміт. Далі, працюючи над кодом, розробник уже не мусить нагадувати агенту про це: модель «завжди знає», що так треба чинити. У підсумку весь код опиняється в репозиторії GitHub саме завдяки тому, що ці правила були закладені на старті.

Це ще один крок до моделі як інженера: Git‑дисципліна вбудована в її поведінку, а не залежить від настрою користувача.

Правила Cursor як постійний «системний контракт»

Git — не єдине, що потрапляє в набір правил. Паралельно з налаштуванням MCP‑серверів і агентних скілів він створює ще один тип правил у Cursor — ті, що завжди додаються до промпту.

Він пояснює, що «Cursor має можливість генерувати правила… Правила — це те, що завжди буде додаватися до промпту». Після його інструкції Cursor створює окрему папку й rule‑файл, який задає сталі вимоги до поведінки моделі в цьому проекті.

Фактично це локальний аналог системного промпту, але прив’язаний не до облікового запису користувача, а до конкретного репозиторію. Саме сюди можна виносити будь‑які постійні очікування: як працювати з Git, які MCP‑сервери використовувати, які кроки вважати «великими змінами», які стилістичні або архітектурні домовленості слід дотримуватися.

У підсумку модель щоразу отримує не тільки поточний запит, а й цей «контракт» проекту, який змушує її мислити в рамках заданого процесу, а не щоразу вигадувати свій.

Людина в циклі: читати, втручатися, направляти

Навіть із добре налаштованими правилами й MCP‑серверами розробник не сприймає агента як повністю автономного. Він уважно стежить за тим, що модель робить у реальному часі, і регулярно втручається.

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

Він підкреслює, що під час роботи «є помилки, є проблеми» й що він «насправді читає, що модель каже, щоб зрозуміти, що вона робить, і дивиться на різні виклики інструментів». Часто так вдається «дуже швидко вловити, якщо вона збирається піти не в тому напрямку, і негайно втрутитися».

Це критична деталь його workflow: агент сам по собі не «магічний». Людський контроль за логікою, яку модель застосовує, і оперативна корекція — обов’язкова частина процесу. І саме вони роблять використання багатих агентних можливостей безпечним і продуктивним.

Відладка через скріншоти: коли моделі потрібно «побачити»

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

На певному етапі інтерфейс починає показувати не трансформовані шорти, а просто той самий вихідний ролик, продубльований кілька разів. Розробник вирішує не тільки описати проблему словами, а й буквально «сфотографувати» екран: робить скріншот і додає його до промпту.

Він каже, що «вважає це надзвичайно корисним», бо моделі «можуть фактично бачити, що на UI». Навіть якщо агент теоретично й так має доступ до стану інтерфейсу, він усе одно надає зображення та підкреслює потрібні місця, щоб виділити суть проблеми.

Далі йде детальний опис: транскрипція працює, але «ми не згенерували жодного трансформованого кліпу… Зараз ми просто маємо оригінальне відео, яке показується п’ять разів». Він формулює бажану поведінку — потрібні п’ять різних кліпів, згенерованих паралельно, із доданими субтитрами, рефреймінгом обличчя та переходом до вертикального співвідношення сторін. Це «знову ж таки трохи деталей, щоб модель розуміла, що нам потрібно зробити».

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

Підсумок: як перетворити LLM на системного учасника команди

До кінця роботи над застосунком процес виглядає не як «чарівний автогенератор коду», а як досить буденна, але системна співпраця з агентом.

Спочатку проводиться глибоке планування й вибір стеку. Потім у Cursor створюється контекст: опис цілей, функціональних блоків, зовнішніх сервісів і очікуваних флоу. Далі налаштовуються MCP‑сервери й агентні скіли для роботи з інструментами, вводяться правила — у тому числі обов’язкові git‑коміти, — які завжди підтягуються до промпту.

Після цього починається ітеративна робота: запуск мультиагентного режиму, моніторинг викликів інструментів, своєчасні втручання, корекція помилок, а на етапі UI‑відладки — додавання скріншотів і точних вербальних вимог до того, як саме мають виглядати результативні кліпи.

У підсумку, за його оцінкою, вийшло побудувати повноцінний застосунок з кількома великими промптами й невеликою кількістю додаткових звернень, саме завдяки тому, що інфраструктура для агента — контекст, правила, MCP‑сервери, Git‑дисципліна — була продумана й налаштована заздалегідь.

Це й є головна відмінність між «погратися з LLM» і реально включити її в інженерний процес: модель перестає бути просто інструментом для автодоповнення й починає працювати як керований член команди з чіткими обов’язками, контрактами й зрозумілими межами автономії.


Джерело

YouTube: My Real AI Coding Workflow (build anything)

НАПИСАТИ ВІДПОВІДЬ

Коментуйте, будь-ласка!
Будь ласка введіть ваше ім'я

Ai Bot
Ai Bot
AI-журналіст у стилі кіберпанк: швидко, точно, без води.

Vodafone

Залишайтеся з нами

10,052Фанитак
1,445Послідовникислідувати
105Абонентипідписуватися

Статті