Mazda CX5
Як зробити цифрову копію себе. Ось відео —>

Українська розробниця запропонувала будувати промпти як програмну архітектуру. Як не перевантажувати LLM інструкціями?

Українська розробниця та Data Warehouse Lead Олена Кузнецова поділилася власним підходом до роботи з великими мовними моделями. Замість одного великого промпту з інструкціями вона створює з окремих блоків своєрідну архітектуру, у якій правила, контекст, автоматизації та ролі ШІ-агентів зберігаються окремо та підвантажуються за потреби.

3 коментарі
Українська розробниця запропонувала будувати промпти як програмну архітектуру. Як не перевантажувати LLM інструкціями?

Українська розробниця та Data Warehouse Lead Олена Кузнецова поділилася власним підходом до роботи з великими мовними моделями. Замість одного великого промпту з інструкціями вона створює з окремих блоків своєрідну архітектуру, у якій правила, контекст, автоматизації та ролі ШІ-агентів зберігаються окремо та підвантажуються за потреби.

Про це розробниця розповідає на LinkedIn.

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

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

До її «архітектури промптів» входять:

  • Правила — прямі вказівки моделі: що вона повинна робити, а чого робити не можна.
  • Контекст проєкту — інформація про структуру проєкту, роботу його модулів і місця зберігання даних.
  • Контекст задачі — опис того, що потрібно зробити й навіщо. Зазвичай цю роль виконує докладно сформульоване завдання в Jira, але для великих задач розробниця створює окремий промпт.
  • Автоматизації — скіли для конкретних повторюваних дій. Наприклад, для створення документації до нової таблиці та її публікації у внутрішній базі знань.
  • Оркестратори — інструкції, які визначають, яких ШІ-агентів потрібно викликати та як організувати їхню спільну роботу. Зокрема вона використовує оркестратори для пошуку неякісного коду, створеного за допомогою ШІ, у якому сама модель не завжди здатна помітити проблему.
  • Агенти — готові робочі сценарії з правилами ухвалення рішень і підвантаження потрібних інструкцій та скілів.
  • Скоуп — правила поведінки моделі. Вони визначають, наскільки суворо вона має виконувати інструкції, чи може проявляти ініціативу, чи повинна перевіряти свою роботу та наскільки докладно пояснювати дії користувачу.
  • Голоси — тон і «особистість» агента. Помітна зміна стилю відповіді може підказати, що модель втратила частину контексту або почала працювати не так, як очікувалося.

Серед власних режимів розробниця згадує scope-beer — буквально «розробник під пивом». Вона вмикає його, коли не впевнена у власних рішеннях і хоче, щоб агент ретельніше перевіряв її та «водив за руку».

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

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

У коментарях Кузнецову запитали, як саме вона динамічно підвантажує додаткові інструкції, адже окремої кнопки чи спеціального механізму для цього в Claude немає. За її словами, достатньо звичайним текстом прописати умову та вказати агенту шлях до потрібного файла: наприклад, «Якщо працюєш із модулем X, прочитай claude/shared/prompt.md»

Так само можна пояснити моделі, у яких ситуаціях потрібно запускати додаткових агентів. Скіли Claude іноді знаходить і викликає самостійно за їхнім описом, але це спрацьовує не завжди. Тому розробниця радить за потреби прямо називати потрібний інструмент у промпті.

Раніше dev.ua писав про дослідження конфігураційних файлів для кодувальних ШІ-агентів. Воно показало, що надмірна кількість постійно завантажених інструкцій може перевантажувати контекст моделі. Рідко потрібні правила й навички дослідники радили виносити в окремі файли, які агент підвантажуватиме лише за потреби.

Slack запускає окремі канали для командної роботи з ШІ-агентами.  Як це працює?
Slack запускає окремі канали для командної роботи з ШІ-агентами. Як це працює?
По темi
Slack запускає окремі канали для командної роботи з ШІ-агентами. Як це працює?
Лайфхак від Андрей Карпати як отримувати кращі відповіді від ШІ: просто базікайте з ним 10 хвилин
Лайфхак від Андрей Карпати, як отримувати кращі відповіді від ШІ: просто базікайте з ним 10 хвилин
По темi
Лайфхак від Андрей Карпати, як отримувати кращі відповіді від ШІ: просто базікайте з ним 10 хвилин
Читайте головні IT-новини країни в нашому Telegram
Читайте головні IT-новини країни в нашому Telegram
По темi
Читайте головні IT-новини країни в нашому Telegram

Хочете повідомити важливу новину? Пишіть у Telegram-бот

Головні події та корисні посилання в нашому Telegram-каналі

Обговорення
0

Відстали на декілька років - від такого давно всі відмовились, бо все, що не завантажене в контекст напряму - не гарантується, що дійсно буде вичитане в разі потреби. Тому воно рандомно щось то підтягує то ні. Наразі найкращий підхід - це максимально зменшити кількість інструкцій, залишити лише реально необхідні. А інші рознести по сабагентам і скілам і воркфлоу, які в промптах явно просити викликати, інакше знлву ж таки - ніхто не гарнатує їх виклик, навіть якщо в CLAUDE.md написати "викликай /code-review для рев'ю". Більше того, Anthropic нещодавно оновив claude code видаливши 80% інструкцій, бо по замірам модель, яка сама в рантаймі все шукає, працює краще, ніж коли їй накидали інструкцій, які для різних задач підходять завжди лише частково.

0

Відстали на декілька років - від такого давно всі відмовились, бо все, що не завантажене в контекст напряму - не гарантується, що дійсно буде вичитане в разі потреби. Тому воно рандомно щось то підтягує то ні. Наразі найкращий підхід - це максимально зменшити кількість інструкцій, залишити лише реально необхідні. А інші рознести по сабагентам і скілам і воркфлоу, які в промптах явно просити викликати, інакше знлву ж таки - ніхто не гарнатує їх виклик, навіть якщо в CLAUDE.md написати "викликай /code-review для рев'ю". Більше того, Anthropic нещодавно оновив claude code видаливши 80% інструкцій, бо по замірам модель, яка сама в рантаймі все шукає, працює краще, ніж коли їй накидали інструкцій, які для різних задач підходять завжди лише частково.

0

Відстали на декілька років - від такого давно всі відмовились, бо все, що не завантажене в контекст напряму - не гарантується, що дійсно буде вичитане в разі потреби. Тому воно рандомно щось то підтягує то ні. Наразі найкращий підхід - це максимально зменшити кількість інструкцій, залишити лише реально необхідні. А інші рознести по сабагентам і скілам і воркфлоу, які в промптах явно просити викликати, інакше знлву ж таки - ніхто не гарнатує їх виклик, навіть якщо в CLAUDE.md написати "викликай /code-review для рев'ю". Більше того, Anthropic нещодавно оновив claude code видаливши 80% інструкцій, бо по замірам модель, яка сама в рантаймі все шукає, працює краще, ніж коли їй накидали інструкцій, які для різних задач підходять завжди лише частково.