Опанування проміжного програмного забезпечення Genkit для агентних застосунків

Останнє оновлення: Червень 22 2026
Автор: TecnoDigital
  • Проміжне програмне забезпечення Genkit дозволяє перехоплювати та змінювати цикл генерації ШІ за допомогою перехоплювачів моделей, інструментів та загального потоку.
  • Він включає вбудовані функції для автоматичних повторних спроб, переходу між моделями, керування файлами та затвердження за допомогою людських інструментів.
  • Він сумісний з TypeScript, Go та Dart, що дозволяє легко створювати рівні безпеки та спостережуваності без зміни бізнес-логіки.

Проміжне програмне забезпечення Genkit

Якщо ви створюєте додатки на основі штучного інтелекту, ви знаєте, що справа не лише в написанні ідеального запиту. Коли ви переходите від прототипу до чогось, що дійсно працює у продакшені, ви стикаєтеся з перешкодами, такими як тайм-аути API, обмеження квот або необхідність перевірки критичних дій людиною. Саме тут і з'являється Genkit Middleware , рішення Google, розроблене, щоб дозволити розробникам додавати рівні контролю без необхідності переписувати весь код своїх агентів.

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

Як саме працює система перехоплення?

Архітектура проміжного програмного забезпечення Genkit

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

  • Згенерувати хук: Він запускається лише один раз за цикл генерації. Це ідеальне місце для вводити інструкції в систему або змінювати повідомлення, перш ніж вони почнуть політ.
  • Гачок за моделлю: Він обгортає прямий виклик API моделі. Це важливо для керування автоматичні повторні спроби, реалізуйте кешування або реєструйте, скільки часу потрібно LLM для відповіді.
  • Інструмент для гачка: Він діє саме тоді, коли інструмент ось-ось запуститься. Він ідеально підходить для створення системи затвердження де людина повинна дати схвалення, перш ніж агент видалить файл або здійснить платіж.
  Що таке Bluefish IDE? Повний посібник з веб-редактора з відкритим кодом

Ця структура поводиться подібно до проміжного програмного забезпечення, яке можна знайти у фреймворках, таких як Express або Koa, функціонуючи як цибуля: запит входить через зовнішній шар, досягає центру (моделі), а потім знову виходить, проходячи шари у зворотному порядку. Найкраще те, що ви можете об'єднати кілька проміжних програм у масив, таким чином визначаючи точний порядок виконання.

Каталог попередньо встановленого проміжного програмного забезпечення

Функції проміжного програмного забезпечення Genkit

Щоб нам не довелося винаходити велосипед, упаковку @genkit-ai/middleware Він вже постачається з кількома готовими до використання інструментами. Один з найкорисніших – це... повторні спробиякий використовує експоненціальний алгоритм зворотного відкату з джиттером. Це запобігає перевантаженню API, коли виникають тимчасові помилки, такі як RESOURCE_EXHAUSTED o UNAVAILABLEподання заявки набагато міцніший у разі тимчасових збоїв.

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

Щодо безпеки, у нас є проміжне програмне забезпечення затвердження інструментуЦя система створює білий список безпечних інструментів; будь-яка дія, яка не входить до цього списку, призведе до помилки. ToolInterruptErrorзмушуючи систему зупинятися, доки хтось не підтвердить дію. Це ускладнюється проміжним програмним забезпеченням файлова системащо надає моделі доступ до локальних файлів, але суворо обмежений до кореневого каталогу, щоб запобігти шпигунству ШІ там, де не слід.

  Що таке Java: Повний вступ до мови програмування

Управління інструментами Genkit

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

Створення власного проміжного програмного забезпечення

Розробка проміжного програмного забезпечення на замовлення

Коли нативних опцій недостатньо, Genkit дозволяє нам створювати власні перехоплювачі за допомогою функції generateMiddlewareЦей інструмент дозволяє нам визначати схеми конфігурації за допомогою Zod, гарантуючи, що параметри, які ми передаємо, правильно та надрукованоМи можемо створити що завгодно: від простих логерів, які записують кожен вхід та вихід, до складних систем для запису конфіденційних даних (PII).

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

Відмінності між реалізаціями та екосистемою

Підтримка кількох платформ Genkit

Хоча концепція універсальна, існують нюанси залежно від мови. У TypeScript система дуже динамічна та дозволяє визначати проміжне програмне забезпечення у файлах. .prompt через поле useУ Go реалізація є більш жорсткою, оскільки це компільована мова, що вимагає створення реєстрація проміжного програмного забезпечення мати можливість перетворювати текстові назви на функціональні об'єкти під час виконання.

Важливо не плутати Genkit з Agent Development Kit (ADK) від Google. Хоча ADK розроблений для складних та ресурсоємних багатоагентних систем, побудованих на інфраструктурі GCP, Genkit є ідеальним варіантом для додавання можливостей агента до існуючих програм (веб-, мобільних тощо). Крім того, весь процес роботи з проміжним програмним забезпеченням можна контролювати з інтерфейсу розробника Genkit , що дозволяє точно відстежувати, який саме перехоплювач змінив запит і шлях, який він пройшов, щоб досягти кінцевого результату.

  Все про успадкування в об'єктно-орієнтованому програмуванні

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