Фрагментація промптів: чому старі підходи більше не працюють і чому індустрії потрібен новий фреймворк

За останні роки системи на базі великих мовних моделей (LLM) перестали бути лабораторними експериментами. Сьогодні це складні продакшн-рішення, інтегровані в бізнес-процеси, користувацькі продукти та внутрішні платформи автоматизації. Разом із цим різко зросла складність логіки, яку ми намагаємося «запакувати» у промпти.

І тут виникає фундаментальний розрив: архітектура систем еволюціонує, а підходи до роботи з промптами — ні.

Найпоширеніший патерн досі виглядає так: master prompt + include-фрагменти. Базова інструкція, до якої поступово додаються правила, уточнення, обмеження, сценарні вставки. По суті, це текстова компіляція без формальної моделі. У простих сценаріях вона працює. У складних — починає ламатися системно.

Фрагментація як неминучий наслідок зростання складності

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

Кожен фрагмент може виглядати коректним у вакуумі. Але коли вони збираються разом, з’являються:

  • суперечливі інструкції,
  • неявні пріоритети,
  • дублювання або взаємне нівелювання сенсів,
  • залежності, про які ніхто вже не пам’ятає.

Ключова проблема в тому, що розробник не працює з фінальним промптом. Він працює з частинами, умовами, include-файлами, feature-флагами. Після серії інкрементальних змін уявити, який саме текст у підсумку отримає LLM, стає майже неможливо.

Фінальний prompt перетворюється на чорну скриньку.

Прозорість фінального результату: чого реально бракує

Одна з базових речей, яких не дає старий підхід, — прозорість фінальної збірки.

У реальній системі хочеться бачити:

  • повний фінальний prompt у тому вигляді, в якому він був переданий у модель;
  • всі фрагменти, які увійшли в цю збірку;
  • джерело кожного фрагмента;
  • порядок і контекст, у якому він був включений.

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

Ідеальна модель

Читати далі


Навчання розробників ПО в епоху дофамінового шуму

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

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

Це не критика і не моральна оцінка. Це реальність, з якою доводиться працювати.

При цьому IT-компанії зацікавлені в притоку нових спеціалістів. Отже, питання полягає не в тому, як «повернути мотивацію», а в тому, що саме ми можемо запропонувати людям, для яких навчання – це не хобі, а інструмент входу в професію.

На наш погляд, відповідь лежить у площині сфокусованого, структурованого навчання.

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

Компанія InterLink займається проведенням інтернатур понад 20 років. За цей час ми випустили десятки потоків студентів і випробували різні формати навчання. Цей досвід показав, що більшість проблем у початківців повторюються з року в рік.

Одне з найпоширеніших – очікування ментора як людини, яка «навчить правильно». Менторство саме по собі – цінний інструмент, але

Читати далі


Як не забути про ялинку

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

З програмною архітектурою відбувається рівно те саме.

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

Це і є та сама забута ялинка.

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

Хороша архітектура — це не ідеальна схема на всі часи. Це система, у якіх мінімальна кількість подовжувачів, яка відповідає своїм цілям. Як розетка для ялинки: вона майже нічого не коштує на етапі планування, але економить гроші й нерви потім.

Логічне запитання: чи існує спосіб не забути спроєктувати справді важливі речі? Відповідь не є простою. Усе залежить від досвіду людей, які беруть участь у проєкті, і від того, наскільки вони розуміють, що саме важливо не проґавити.

У InterLink ми використовуємо кілька підходів,

Читати далі


Архітектура, про яку зазвичай мовчать

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

Є інший аспект архітектури, про який майже ніхто не говорить. І він не пов’язаний безпосередньо з чистими залежностями або структурою проєкту. Він пов’язаний зі швидкістю. З тим, як саме архітектура впливає на продуктивність команди й визначає, як швидко система здатна розвиватися.

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

Але архітектура — це не лише форма бочки. Це сукупність маленьких отворів, через які непомітно витікають і функції, і час, і продуктивність. Ці отвори не видно на діаграмах, вони не порушують SOLID, і код може виглядати акуратним. Проте саме вони щодня зменшують швидкість команди.

І саме про цю частину архітектури зазвичай не говорять.

Чому SOLID не рятує від втрати швидкості

Принципи SOLID допомагають організувати окремі частини коду. Але вони нічого не говорять про поведінку всієї системи. Можна чесно дотримуватися SRP, робити красиві дрібні компоненти, але при цьому мати проєкт, який рухається зі швидкістю густої смоли.

Проблема не в тому, що код нечистий. Проблема в тому, що поведінка, яка має бути спільною, розмазана по різних частинах.

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

Справжній

Читати далі


Як увійти в ІТ у 2025 році: чесна розмова

Український ІТ-ринок у 2025 році виглядає парадоксально. З одного боку, це одна з небагатьох галузей, яка не просто вистояла у війні, а й продовжує рости, залишаючись критично важливою для економіки країни. Аналітика DOU за перше півріччя 2025 року показує: кількість вакансій відчутно зросла, попит на молодих спеціалістів і фахівців зі штучного інтелекту б’є рекорди, а конкуренція за вакансії найнижча за останні два роки. При цьому галузь загалом демонструє стійкість і здатність адаптуватися до умов повномасштабної війни, залишаючись «опорою» для економіки.

З іншого боку, сама професія розробника стрімко змінюється. Генеративний ШІ, Copilot-подібні інструменти, автоматизація рутинних задач – усе це вже не «футурологія», а щоденна практика. У 2024–2025 роках дослідження показують, що 70–90% компаній уже інтегрують ШІ в розробку, а значна частина інженерів щодня покладаються на такі інструменти у своїй роботі.

Тож логічне питання: чи варто сьогодні взагалі входити в ІТ? І якщо так, то з якою мотивацією? В цій статті ми, команда Interlink, Черкаси чесно пояснимо, як ми дивимося на вхід у професію в 2025 році, на що звертаємо увагу при відборі інтернів і чому готові інколи віддати перевагу вмотивованому новачку, а не вигорілому «мідлу».

Покоління, яке народилося всередині ІТ-інфраструктури

Якщо на початку 2000-х шлях у програмування часто починався з «чуда»: у домі вперше з’явився комп’ютер, хтось дав диск з Turbo Pascal чи Visual Studio, хтось показав, як працює перший сайт – це виглядало як магія. Ця магія й запускала внутрішній інтерес: «Як усе це працює всередині?».

Молоді люди, які заходять у професію сьогодні, виросли в іншій реальності. Смартфони, планшети, ноутбуки, Smart TV, хмарні сервіси – усе це було з ними з дитинства. Вони не «побачили»

Читати далі


Кінець білих комірців

Буває у вас таке? Відбувається якась подія — і ви раптом розумієте, що вона змінює саме ваше сприйняття реальності. Щось клацає всередині, і світ, який здався знайомим, починає виглядати інакше. Ви помічаєте новий тренд, відчуваєте, як змінюється повітря навколо, і, можливо, вам це не до вподоби. Але у певний момент розумієте: опиратися марно, бо реальність уже змінилася, і єдине, що залишається — прийняти її такою, якою вона стала.

Про ці моменти прозріння, прийняття і внутрішніх зрушень — наша нова стаття.

The end of white collars

Клієнт приніс нам “майже готовий” проєкт на доробку. Точніше — те, що здавалося готовим: інтерфейс працює, кнопки натискаються, звіти рахуються. Lovable згенерував 90% коду за пару тижнів. Решта — “дрібні доопрацювання, з якими AI не впорався”.

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

Читати далі


Наступна глава людської історії

Все частіше людство ставить собі питання: чи зможе людина співіснувати з роботами, які зовні та поведінково майже не відрізнятимуться від нас? Цю тему вже давно досліджують письменники, кінорежисери та філософи, але відповіді поки що не існує.

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

У нашій новій статті ми спробували поглянути на проблему ширше.

The next chapter of human history

Наступна глава людської історії

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

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

Делегування рішень

Автоматизація почалася з дій, а тепер охоплює

Читати далі


Як оцінити невизначеність: від експертного чуття до керованого знання

Під час оцінки програмних проєктів вендор завжди стикається з однією і тією ж проблемою: частина майбутньої роботи лежить у зоні невідомого. Нові інтеграції, незнайомі API, архітектури, з якими команда ще не працювала — усе це створює невизначеність, яка ускладнює формування точних оцінок. Замовник очікує конкретних цифр, а розробник не має достатньо даних, щоб ці цифри обґрунтувати. У результаті виникає спокуса або завищити буфер “на всяк випадок”, або, навпаки, занизити оцінку, щоб виглядати конкурентно.

Як оцінити невизначеність в розробці програмного забезпечення

Але невизначеність — це не синонім некомпетентності. Це лише відсутність інформації. І завдання зрілої команди полягає не в тому, щоб вгадати тривалість роботи, а в тому, щоб системно заповнити інформаційні прогалини і зробити оцінку обґрунтованою.

Коли spike уже запізно

Багато інженерних практик пропонують боротися з невизначеністю через дослідницькі задачі — spike stories. Такий підхід справді працює, коли проєкт уже запущений, і команда може виділити день-два на перевірку гіпотези.
Але на етапі пресейлу, коли клієнт лише описує ідею або майбутню систему, spike перетворюється на дороговартісну інвестицію без гарантій, що контракт узагалі відбудеться.

Тому в пресейлі важливо не розробляти, а зрозумітиЧитати далі


Коли «мені не дали можливості» звучить як вирок

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

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

Мені не дали можливості - звучить як вирок?

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

Світ відкритих ресурсів

Сьогодні мільярди матеріалів доступні у вільному доступі: курси, книги, статті, лекції на YouTube, форуми, репозиторії на GitHub. Можливість вчитися має кожен. І перекладати відповідальність за свій розвиток на роботодавця чи відсутність ментора — марна справа. Якщо справді цікаво, завжди можна зробити хоча б перший крок самостійно.

Коли немає інтересу

Одне з найбільших

Читати далі


#Meeting room з Software Engineer: Оптимізація legacy систем – практики та підходи

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

Розкажи, який проєкт запам’ятався тобі найбільше, так би мовити загартував тебе? 🙂

– Це був проєкт для нашого великого замовника із США у бізнес домені FinTech, що працює з оподаткуванням для компаній у різних куточках світу. Саме там я вперше зустрівся із legacy системою.

Які перші виклики здавалися тобі найбільш серйозними?

– Коли я починав працювати над legacy проєктом, найбільшим викликом була відсутність чіткої документації та розуміння архітектури. Я намагався розібратися в складній структурі коду, який писався роками різними людьми, що призводило до його неочевидності. Необхідність швидко зрозуміти логіку системи, щоб

Читати далі