Українська розробниця запропонувала будувати промпти як програмну архітектуру. Як не перевантажувати LLM інструкціями?
Українська розробниця та Data Warehouse Lead Олена Кузнецова поділилася власним підходом до роботи з великими мовними моделями. Замість одного великого промпту з інструкціями вона створює з окремих блоків своєрідну архітектуру, у якій правила, контекст, автоматизації та ролі ШІ-агентів зберігаються окремо та підвантажуються за потреби.
Українська розробниця та Data Warehouse Lead Олена Кузнецова поділилася власним підходом до роботи з великими мовними моделями. Замість одного великого промпту з інструкціями вона створює з окремих блоків своєрідну архітектуру, у якій правила, контекст, автоматизації та ролі ШІ-агентів зберігаються окремо та підвантажуються за потреби.
За її словами, спочатку вона почала відокремлювати очевидні групи інструкцій. Наприклад, правила написання SQL-запитів можна винести в окремий файл і завантажувати лише тоді, коли модель працює із SQL. Згодом розробниця сформувала складнішу систему з кількох типів блоків.
«Замість того, щоб запаювати в агента чи скіл безліч інструкцій на всі випадки життя, я спочатку почала розділяти їх за очевидними векторами: «ось це правила написання SQL-запитів, винесімо їх в окремий файл і завантажуватимемо динамічно», — пояснює Кузнецова.
До її «архітектури промптів» входять:
Правила — прямі вказівки моделі: що вона повинна робити, а чого робити не можна.
Контекст проєкту — інформація про структуру проєкту, роботу його модулів і місця зберігання даних.
Контекст задачі — опис того, що потрібно зробити й навіщо. Зазвичай цю роль виконує докладно сформульоване завдання в Jira, але для великих задач розробниця створює окремий промпт.
Автоматизації — скіли для конкретних повторюваних дій. Наприклад, для створення документації до нової таблиці та її публікації у внутрішній базі знань.
Оркестратори — інструкції, які визначають, яких ШІ-агентів потрібно викликати та як організувати їхню спільну роботу. Зокрема вона використовує оркестратори для пошуку неякісного коду, створеного за допомогою ШІ, у якому сама модель не завжди здатна помітити проблему.
Агенти — готові робочі сценарії з правилами ухвалення рішень і підвантаження потрібних інструкцій та скілів.
Скоуп — правила поведінки моделі. Вони визначають, наскільки суворо вона має виконувати інструкції, чи може проявляти ініціативу, чи повинна перевіряти свою роботу та наскільки докладно пояснювати дії користувачу.
Голоси — тон і «особистість» агента. Помітна зміна стилю відповіді може підказати, що модель втратила частину контексту або почала працювати не так, як очікувалося.
Серед власних режимів розробниця згадує scope-beer — буквально «розробник під пивом». Вона вмикає його, коли не впевнена у власних рішеннях і хоче, щоб агент ретельніше перевіряв її та «водив за руку».
За словами Кузенцової, промпти в такій системі дедалі більше нагадують SOLID — принципи, за якими програму поділяють на окремі компоненти з чіткими функціями.
«Це неймовірно захопливо: будувати ідеальний інструмент, який розуміє, що я маю на увазі, коли кажу: «зай, просто зроби гарно», — розповідає розробниця.
У коментарях Кузнецову запитали, як саме вона динамічно підвантажує додаткові інструкції, адже окремої кнопки чи спеціального механізму для цього в Claude немає. За її словами, достатньо звичайним текстом прописати умову та вказати агенту шлях до потрібного файла: наприклад, «Якщо працюєш із модулем X, прочитай claude/shared/prompt.md»
Так само можна пояснити моделі, у яких ситуаціях потрібно запускати додаткових агентів. Скіли Claude іноді знаходить і викликає самостійно за їхнім описом, але це спрацьовує не завжди. Тому розробниця радить за потреби прямо називати потрібний інструмент у промпті.
Раніше dev.ua писав про дослідження конфігураційних файлів для кодувальних ШІ-агентів. Воно показало, що надмірна кількість постійно завантажених інструкцій може перевантажувати контекст моделі. Рідко потрібні правила й навички дослідники радили виносити в окремі файли, які агент підвантажуватиме лише за потреби.
Відстали на декілька років - від такого давно всі відмовились, бо все, що не завантажене в контекст напряму - не гарантується, що дійсно буде вичитане в разі потреби. Тому воно рандомно щось то підтягує то ні. Наразі найкращий підхід - це максимально зменшити кількість інструкцій, залишити лише реально необхідні. А інші рознести по сабагентам і скілам і воркфлоу, які в промптах явно просити викликати, інакше знлву ж таки - ніхто не гарнатує їх виклик, навіть якщо в CLAUDE.md написати "викликай /code-review для рев'ю". Більше того, Anthropic нещодавно оновив claude code видаливши 80% інструкцій, бо по замірам модель, яка сама в рантаймі все шукає, працює краще, ніж коли їй накидали інструкцій, які для різних задач підходять завжди лише частково.
Відстали на декілька років - від такого давно всі відмовились, бо все, що не завантажене в контекст напряму - не гарантується, що дійсно буде вичитане в разі потреби. Тому воно рандомно щось то підтягує то ні. Наразі найкращий підхід - це максимально зменшити кількість інструкцій, залишити лише реально необхідні. А інші рознести по сабагентам і скілам і воркфлоу, які в промптах явно просити викликати, інакше знлву ж таки - ніхто не гарнатує їх виклик, навіть якщо в CLAUDE.md написати "викликай /code-review для рев'ю". Більше того, Anthropic нещодавно оновив claude code видаливши 80% інструкцій, бо по замірам модель, яка сама в рантаймі все шукає, працює краще, ніж коли їй накидали інструкцій, які для різних задач підходять завжди лише частково.
Відстали на декілька років - від такого давно всі відмовились, бо все, що не завантажене в контекст напряму - не гарантується, що дійсно буде вичитане в разі потреби. Тому воно рандомно щось то підтягує то ні. Наразі найкращий підхід - це максимально зменшити кількість інструкцій, залишити лише реально необхідні. А інші рознести по сабагентам і скілам і воркфлоу, які в промптах явно просити викликати, інакше знлву ж таки - ніхто не гарнатує їх виклик, навіть якщо в CLAUDE.md написати "викликай /code-review для рев'ю". Більше того, Anthropic нещодавно оновив claude code видаливши 80% інструкцій, бо по замірам модель, яка сама в рантаймі все шукає, працює краще, ніж коли їй накидали інструкцій, які для різних задач підходять завжди лише частково.
Відстали на декілька років - від такого давно всі відмовились, бо все, що не завантажене в контекст напряму - не гарантується, що дійсно буде вичитане в разі потреби. Тому воно рандомно щось то підтягує то ні. Наразі найкращий підхід - це максимально зменшити кількість інструкцій, залишити лише реально необхідні. А інші рознести по сабагентам і скілам і воркфлоу, які в промптах явно просити викликати, інакше знлву ж таки - ніхто не гарнатує їх виклик, навіть якщо в CLAUDE.md написати "викликай /code-review для рев'ю". Більше того, Anthropic нещодавно оновив claude code видаливши 80% інструкцій, бо по замірам модель, яка сама в рантаймі все шукає, працює краще, ніж коли їй накидали інструкцій, які для різних задач підходять завжди лише частково.
Відстали на декілька років - від такого давно всі відмовились, бо все, що не завантажене в контекст напряму - не гарантується, що дійсно буде вичитане в разі потреби. Тому воно рандомно щось то підтягує то ні. Наразі найкращий підхід - це максимально зменшити кількість інструкцій, залишити лише реально необхідні. А інші рознести по сабагентам і скілам і воркфлоу, які в промптах явно просити викликати, інакше знлву ж таки - ніхто не гарнатує їх виклик, навіть якщо в CLAUDE.md написати "викликай /code-review для рев'ю". Більше того, Anthropic нещодавно оновив claude code видаливши 80% інструкцій, бо по замірам модель, яка сама в рантаймі все шукає, працює краще, ніж коли їй накидали інструкцій, які для різних задач підходять завжди лише частково.
Відстали на декілька років - від такого давно всі відмовились, бо все, що не завантажене в контекст напряму - не гарантується, що дійсно буде вичитане в разі потреби. Тому воно рандомно щось то підтягує то ні. Наразі найкращий підхід - це максимально зменшити кількість інструкцій, залишити лише реально необхідні. А інші рознести по сабагентам і скілам і воркфлоу, які в промптах явно просити викликати, інакше знлву ж таки - ніхто не гарнатує їх виклик, навіть якщо в CLAUDE.md написати "викликай /code-review для рев'ю". Більше того, Anthropic нещодавно оновив claude code видаливши 80% інструкцій, бо по замірам модель, яка сама в рантаймі все шукає, працює краще, ніж коли їй накидали інструкцій, які для різних задач підходять завжди лише частково.