Коротка відповідь: щоб створити агента ШІ, який працює на практиці, розглядайте його як керований цикл: приймайте вхідні дані, вирішуйте наступну дію, викликайте вузькообмежений інструмент, спостерігайте за результатом і повторюйте, доки не буде пройдено чітку перевірку «виконано». Це виправдовує себе, коли завдання є багатокроковим та керованим інструментами; якщо його вирішує один запит, пропустіть агента. Додайте суворі схеми інструментів, обмеження кроків, ведення журналу та валідатор/критик, щоб у разі збою інструментів або неоднозначності вхідних даних агент ескалював, а не зациклювався.
Ключові висновки:
Цикл контролера : Реалізація повторення введення→дія→спостереження з явними умовами зупинки та максимальною кількістю кроків.
Дизайн інструментів : Зберігайте інструменти вузькими, типізованими, з правами доступу та перевіреними, щоб запобігти хаосу типу «виконання будь-яких дій».
Гігієна пам'яті : використовуйте компактний короткочасний стан та довгострокове вилучення; уникайте вилучення повних транскриптів.
Захист від зловживань : додайте списки дозволених дій, обмеження швидкості, ідемпотентність та «пробні запуски» для ризикованих дій.
Тестування : Ведіть набір сценаріїв (збої, неоднозначності, ін'єкції) та перезапускайте його після кожної зміни.

🔗 Як виміряти продуктивність ШІ
Вивчіть практичні метрики для оцінки швидкості, точності та надійності.
🔗 Як розмовляти зі штучним інтелектом
Використовуйте підказки, контекст та подальші дії, щоб отримати кращі відповіді.
🔗 Як оцінювати моделі штучного інтелекту
Порівняйте моделі, використовуючи тести, рубрики та результати реальних завдань.
🔗 Як оптимізувати моделі штучного інтелекту
Покращуйте якість та вартість за допомогою налаштування, обрізки та моніторингу.
1) Що таке агент штучного інтелекту, з точки зору звичайної людини 🧠
Агент ШІ — це цикл. Документація LangChain «Агенти».
Ось і все. Петля з мозком посередині.
Вхід → подумати → діяти → спостерігати → повторити . Папір для реагування (міркування + дія)
Де:
-
Вхідні дані – це запит користувача або подія (новий електронний лист, заявка в службу підтримки, пінг датчика).
-
«Подумати» – це мовна модель, що міркує про наступний крок.
-
Act викликає інструмент (пошук внутрішньої документації, виконання коду, створення заявки, написання чернетки відповіді). Посібник з виклику функцій OpenAI
-
Спостереження зчитує вивід інструменту.
-
Повторення — це та частина, яка створює враження «агентності» замість «балаканини». Документація LangChain «Агенти»
Деякі агенти — це, по суті, розумні макроси. Інші діють радше як молодший оператор, який може жонглювати завданнями та відновлюватися після помилок. Обидва враховуються.
Також, вам не потрібна повна автономія. Насправді… ви, мабуть, її не хочете 🙃
2) Коли варто створювати агента (а коли ні) 🚦
Створіть агента, коли:
-
Робота є багатоетапною та змінюється залежно від того, що відбувається посередині.
-
Робота вимагає використання інструментів (бази даних, CRM, виконання коду, генерація файлів, браузери, внутрішні API). Документація LangChain “Інструменти”
-
Ви хочете отримати повторювані результати з певними обмеженнями, а не лише одноразові відповіді.
-
Ви можете визначити «готово» таким чином, щоб комп’ютер міг перевірити, навіть приблизно.
Не створюйте агента, коли:
-
Просте поєднання підказки та відповіді вирішує проблему (не перестарайтеся, бо потім себе зненавидите).
-
Вам потрібен ідеальний детермінізм (агенти можуть бути більш-менш послідовними, але не роботами).
-
У вас немає жодних інструментів чи даних для підключення – тоді це здебільшого просто вібрації.
Будемо відверті: половина «проектів ШІ-агентів» може бути робочим процесом з кількома правилами розгалуження. Але іноді важлива і атмосфера 🤷♂️
3) Що робить агента зі штучним інтелектом хорошою версією ✅
Ось розділ «Що робить версію хорошою», про який ви просили, але я буду трохи прямолінійним:
Гарна версія агента штучного інтелекту — це не та, яка найретельніше думає. Це та, яка:
-
Знає, що йому дозволено робити (межі області дії)
-
Надійно використовує інструменти (структуровані виклики, повторні спроби, тайм-аути). Посібник з виклику функцій OpenAI AWS «Тайм-аути, повторні спроби та відмова від виконання з урахуванням джиттера».
-
Зберігає стан у чистоті (пам'ять, яка не гниє) LangChain “Огляд пам'яті”
-
Пояснює свої дії (сліди аудиту, а не секретні звалища міркувань) NIST AI RMF 1.0 (надійність та прозорість)
-
Зупиняється належним чином (перевірки завершення, максимальна кількість кроків, ескалація) Документація LangChain “Агенти”
-
Безпечно проходить невдачу (просить про допомогу, не галюцинує владою) NIST AI RMF 1.0
-
Можна тестувати (ви можете запускати його на шаблонних сценаріях та оцінювати результати)
Якщо вашого агента не можна протестувати, це, по суті, дуже впевнений ігровий автомат. Весело на вечірках, жахливо у виробництві 😬
4) Основні будівельні блоки агента («анатомія» 🧩)
Більшість надійних агентів мають такі елементи:
A) Цикл контролера 🔁
Це оркестратор:
-
взяти гол
-
запитайте модель про наступні дії
-
інструмент запуску
-
додати спостереження
-
повторювати, доки не буде готово. Документація LangChain “Агенти”
B) Інструменти (або ж можливості) 🧰
Інструменти роблять агента ефективним: документація LangChain “Інструменти”
-
запити до бази даних
-
надсилання електронних листів
-
витягування файлів
-
виконання коду
-
виклик внутрішніх API
-
запис у електронні таблиці або CRM
C) Пам'ять 🗃️
Мають значення два види:
-
короткочасна пам'ять : поточний контекст бігу, останні кроки, поточний план
-
довготривала пам'ять : уподобання користувача, контекст проекту, отримані знання (часто через вбудовування + векторне сховище) RAG-документ
D) Політика планування та прийняття рішень 🧭
Навіть якщо ви не називаєте це «плануванням», вам потрібен метод:
-
контрольні списки
-
Документ ReAct у стилі ReAct «подумай, а потім інструмент»
-
графіки завдань
-
моделі взаємодії керівник-працівник
-
шаблони керівник-працівник Microsoft AutoGen (багатоагентний фреймворк)
E) Охоронні огорожі та оцінювання 🧯
-
дозволи
-
схеми безпечних інструментів, структуровані виходи OpenAI
-
перевірка виводу
-
обмеження кроків
-
лісозаготівля
-
тести NIST AI RMF 1.0
Так, це скоріше інженерія, ніж підказка. У чому… власне й суть.
5) Таблиця порівняння: популярні способи створення агента 🧾
Нижче наведено реалістичну «Таблицю порівняння» — з кількома особливостями, бо справжні команди бувають незвичайними 😄
| Інструмент / Фреймворк | Аудиторія | Ціна | Чому це працює | Нотатки (крихітний хаос) | |
|---|---|---|---|---|---|
| LangChain | будівельники, яким подобаються деталі в стилі лего | вільно-мабуть + інфра | велика екосистема для інструментів, пам'яті, ланцюгів | можна швидко отримати спагеті, якщо не називати речі чітко | |
| Індекс лами | Команди з акцентом на RAG | вільно-мабуть + інфра | сильні шаблони пошуку, індексація, конектори | чудово, коли ваш агент працює за принципом «пошук + дія»… що є поширеною практикою | |
| Підхід у стилі OpenAI Assistants | команди, які бажають швидшого налаштування | на основі використання | вбудовані шаблони виклику інструментів та стан виконання | менш гнучкий у деяких кутах, але чистий для багатьох застосувань | OpenAI запускає API, виклик функцій OpenAI Assistants |
| Семантичне ядро | розробники, які хочуть структурованої оркестрації | вільного | акуратна абстракція для навичок/функцій | відчувається «охайним, як на підприємстві» — іноді це комплімент 😉 | |
| Автогенератор | багатоагентні експериментатори | вільного | моделі співпраці між агентами | може перебільшувати; встановлювати суворі правила припинення | |
| CrewAI | фанати «команди агентів» | вільного | ролі + завдання + передачі доручень легко виразити | найкраще працює, коли завдання чіткі, а не м'які | |
| копиця сіна | пошук + люди з трубопроводами | вільного | тверді трубопроводи, вилучення, компоненти | менше «театру агентів», більше «практичної фабрики» | |
| Створи свій власний (спеціальний цикл) | контрол-фріки (ласкаві) | твій час | мінімальна магія, максимальна чіткість | зазвичай найкращий довгостроковий… поки ви не переосмислите все 😅 |
Немає одного переможця. Найкращий вибір залежить від того, чи є основною роботою вашого агента пошук , виконання інструментів , координація роботи кількох агентів чи автоматизація робочих процесів .
6) Як створити ШІ-агента крок за кроком (саме рецепт) 🍳🤖
Цю частину більшість людей пропускають, а потім дивуються, чому агент поводиться як єнот у коморі.
Крок 1: Визначте роботу одним реченням 🎯
Приклади:
-
«Складіть відповідь клієнту, використовуючи політику та контекст заявки, а потім попросіть її схвалити»
-
«Дослідіть звіт про помилку, відтворіть його та запропонуйте виправлення»
-
«Перетворіть недосконалі нотатки зустрічей на завдання, відповідальних та терміни виконання»
Якщо ви не можете дати йому простого визначення, ваш агент теж не зможе. Я маю на увазі, що він може, але він імпровізуватиме, а імпровізація — це те, де бюджети гинуть.
Крок 2: Визначте рівень автономії (низький, середній, гострий) 🌶️
-
Низька автономність : пропонує кроки, людина натискає кнопку «схвалити»
-
Середній : запускає інструменти, створює чернетки результатів, загострює ситуацію при невизначеності
-
Високий : виконується від початку до кінця, пінґує людей лише у разі винятків
Почніть з нижчого, ніж хочете. Ви завжди можете збільшити його пізніше.
Крок 3: Виберіть свою модельну стратегію 🧠
Зазвичай ви обираєте:
-
одна сильна модель для всього (просто)
-
одна потужна модель + менша модель для дешевих кроків (класифікація, маршрутизація)
-
спеціалізовані моделі (зір, код, мовлення) за потреби
Також вирішіть:
-
максимальна кількість токенів
-
температура
-
чи дозволяєте ви довгі трасування міркувань внутрішньо (можна, але не розкривайте необроблений ланцюжок думок кінцевим користувачам)
Крок 4: Визначте інструменти зі строгими схемами 🔩
Інструменти повинні бути:
-
вузький
-
надрукований
-
з дозволом
-
перевірені структуровані результати OpenAI
Замість інструменту під назвою do_anything(input: string) , зробіть:
-
search_kb(запит: рядок) -> результати[] -
create_ticket(назва: рядок, тіло: рядок, пріоритет: перерахування) -> ticket_id -
send_email(to: string, subject: string, body: string) -> statusПосібник з виклику функцій OpenAI
Якщо ви дасте агенту бензопилу, не дивуйтеся, коли вона підріже живопліт, знісши також і паркан.
Крок 5: Побудуйте цикл контролера 🔁
Мінімальний цикл:
-
Почніть з мети + початкового контексту
-
Запитайте модель: «Наступна дія?»
-
Якщо виклик інструменту - виконати інструмент
-
Додати спостереження
-
Перевірте умову зупинки
-
Повторити (з максимальною кількістю кроків) документацію LangChain “Агенти”
Додати:
-
тайм-аути
-
повторні спроби (обережно – повторні спроби можуть зациклюватися) AWS «Час очікування, повторні спроби та відмова від виконання з джиттером»
-
форматування помилок інструменту (чітко, структуровано)
Крок 6: Обережно додавайте пам'ять 🗃️
Короткостроковий: зберігати стислий «зведення стану», що оновлюється на кожному кроці. LangChain «Огляд пам’яті».
Довгостроковий: зберігати стабільні факти (налаштування користувача, правила організації, стабільну документацію).
Емпіричне правило:
-
якщо воно часто змінюється — зробіть це короткостроково
-
якщо стабільно — зберігати довгостроково
-
якщо це чутливо — зберігайте мінімально (або взагалі не зберігайте)
Крок 7: Додайте перевірку та пропуск «критика» 🧪
Дешевий, практичний візерунок:
-
агент генерує результат
-
валідатор перевіряє структуру та обмеження
-
необов'язкові перевірки моделей критиків на наявність пропущених кроків або порушень політики NIST AI RMF 1.0
Не ідеально, але вловлює шокуючу кількість нісенітниць.
Крок 8: Запишіть усе, про що ви пошкодуєте, що не зареєстрували 📜
Журнал:
-
виклики інструментів + вхідні дані + виходи
-
прийняті рішення
-
помилки
-
кінцеві результати
-
токени та затримка: посібник зі спостережуваності OpenTelemetry
Майбутнє — ти подякуєш тобі. Теперішнє — ти забудеш. Таке життя 😵💫
7) Виклик інструменту, який не розіб'є твою душу 🧰😵
Виклик інструментів – це те, де «Як створити агента зі штучним інтелектом» перетворюється на справжню розробку програмного забезпечення.
Зробіть інструменти надійними (надійність – це добре)
Надійними інструментами є:
-
детермінований
-
вузький за обсягом
-
легко перевірити
-
безпечно повторно запустити Stripe «Ідемпотентні запити»
Додайте захисні огорожі на шарі інструментів, а не лише підказки
Підказки – це ввічливі пропозиції. Перевірка інструментів – це замкнені двері. Структуровані результати OpenAI
Зробіть:
-
списки дозволених ресурсів (які інструменти можна запускати)
-
перевірка вхідних даних
-
обмеження швидкості OpenAI Посібник з обмежень швидкості
-
перевірки дозволів для кожного користувача/організації
-
«режим пробного запуску» для ризикованих дій
Проектування для часткового відмови
Інструменти дають збій. Мережі хитаються. Термін дії авторизації закінчується. Агент повинен:
-
інтерпретувати помилки
-
повторна спроба з відстрочкою, коли це доречно Стратегія повторної спроби Google Cloud (відстрочка + тремтіння)
-
вибрати альтернативні інструменти
-
ескалувати у разі застою
Тихо ефективний трюк: повертати структуровані помилки, такі як:
-
тип: помилка_авторизації -
тип: не знайдено -
тип: rate_limited
Тож модель може реагувати розумно, а не панікувати.
8) Пам'ять, яка допомагає, а не переслідує 👻🗂️
Пам'ять — потужна річ, але вона також може стати сховищем для мотлоху.
Короткочасна пам'ять: збережіть її компактною
Використання:
-
останні N кроків
-
поточний звіт (оновлюється кожного циклу)
-
поточний план
-
поточні обмеження (бюджет, час, політика)
Якщо все порівняти з контекстом, то отримаємо:
-
вища вартість
-
менша затримка
-
більше плутанини (так, навіть тоді)
Довготривала пам'ять: пошук, а не «наповнення»
Більшість «довготривалої пам'яті» більше схожа на:
-
вбудовування
-
векторний магазин
-
пошук доповненої генерації (RAG) RAG-папір
Агент не запам'ятовує. Він отримує найрелевантніші фрагменти під час виконання. LlamaIndex «Вступ до RAG»
Практичні правила запам'ятовування
-
Зберігайте «налаштування» як явні факти: «Користувачеві подобаються марковані зведення та він ненавидить емодзі» (ха-ха, але не тут 😄)
-
Зберігайте «рішення» з позначками часу або версіями (інакше накопичуються суперечності)
-
Ніколи не зберігайте секретів, хіба що вам це дійсно необхідно
А ось моя недосконала метафора: пам'ять — як холодильник. Якщо ви його ніколи не чистите, зрештою ваш бутерброд матиме смак цибулі та жалю.
9) Схема планування (від простих до вигадливих) 🧭✨
Планування — це просто контрольоване розкладання. Не робіть з цього містику.
Шаблон A: Планувальник контрольних списків ✅
-
Модель виводить список кроків
-
Виконується крок за кроком
-
Статус контрольного списку оновлень
Чудово підходить для адаптації. Простий та тестований.
Шаблон B: Цикл ReAct (причина + дія) 🧠→🧰
-
модель визначає наступний виклик інструменту
-
спостерігає за результатом
-
повторює документ ReAct
Це класичне відчуття агента.
Шаблон C: Керівник-працівник 👥
-
керівник розбиває мету на завдання
-
працівники виконують спеціалізовані завдання
-
Супервізор об'єднує результати Microsoft AutoGen (багатоагентний фреймворк)
Це цінно, коли завдання можна паралелізувати або коли вам потрібні різні «ролі», наприклад:
-
дослідник
-
кодер
-
редактор
-
Перевірник якості
Схема D: Плануй, а потім виконуй з переплануванням 🔄
-
створити план
-
виконати
-
якщо результати роботи інструменту змінюють реальність, переплануйте
Це запобігає впертому слідуванню агента поганому плану. Люди теж так роблять, якщо тільки вони не втомилися, і в такому разі вони також дотримуються поганих планів.
10) Безпека, надійність і відсутність звільнення 🔐😅
Якщо ваш агент може вживати заходів, вам потрібен дизайн безпеки. Не «приємно мати». Потрібно. NIST AI RMF 1.0
Жорсткі обмеження
-
максимальна кількість кроків за пробіжку
-
максимальна кількість викликів інструментів за хвилину
-
максимальні витрати за сеанс (бюджет токенів)
-
обмежені інструменти, що стоять за схваленням
Обробка даних
-
редагувати конфіденційні дані перед входом
-
окремі середовища (розробка та виробництво)
-
дозволи інструмента з найменшими привілеями
Поведінкові обмеження
-
змусити агента цитувати внутрішні фрагменти доказів (не зовнішні посилання, а лише внутрішні посилання)
-
вимагати прапорців невизначеності, коли впевненість низька
-
вимагати «задати уточнююче запитання», якщо вхідні дані неоднозначні
Надійний агент — це не найвпевненіший у собі агент. Це той, хто знає, коли здогадується… і говорить про це.
11) Тестування та оцінювання (частина, якої всі уникають) 🧪📏
Неможливо покращити те, що не можна виміряти. Так, ця фраза банальна, але вона, як не дивно, правдива.
Створіть набір сценаріїв
Створіть 30-100 тестових випадків:
-
щасливих шляхів
-
крайні випадки
-
випадки «відмов інструменту»
-
неоднозначні запити
-
змагальні підказки (спроби швидкого введення) OWASP Топ-10 для програм LLM OWASP LLM01 Швидке введення
Результати оцінювання
Використовуйте такі показники, як:
-
коефіцієнт успішності завдання
-
час виконання
-
коефіцієнт відновлення інструменту від помилок
-
рівень галюцинацій (твердження без доказів)
-
рівень схвалення людиною (якщо в режимі контролю)
Регресійні тести для підказок та інструментів
Щоразу, коли ви змінюєте:
-
схема інструменту
-
системні інструкції
-
логіка пошуку
-
форматування пам'яті.
Запустіть пакет ще раз.
Агенти — чутливі тварини. Як кімнатні рослини, але дорожчі.
12) Моделі розгортання, які не вичерпають ваш бюджет 💸🔥
Почніть з однієї послуги
-
API контролера агента
-
інструментальні послуги, що стоять за цим
-
ведення журналу + моніторинг OpenTelemetry: посібник зі спостереження
Додайте елементи керування витратами якомога раніше
-
результати кешування пошуку
-
стиснення стану розмови зі зведеннями
-
використання менших моделей для маршрутизації та видобутку
-
обмеження «режиму глибокого мислення» найскладнішими кроками
Спільний вибір архітектури
-
контролер без урахування стану + зовнішнє сховище станів (БД/redis)
-
Виклики інструментів є ідемпотентними, де це можливо. Stripe «Ідемпотентні запити»
-
черга для довгих завдань (щоб веб-запит не залишався відкритим вічно)
Також: зробіть «аварійний вимикач». Він вам не знадобиться, поки він вам справді, справді не знадобиться 😬
13) Заключні нотатки - коротка версія про те, як створити ШІ-агента 🎁🤖
Якщо ви більше нічого не пам'ятаєте, то запам'ятайте ось це:
-
Як створити агента зі штучним інтелектом, здебільшого стосується побудови безпечного циклу навколо моделі. Документація LangChain «Агенти».
-
Почніть з чіткої мети, низької автономії та суворих інструментів. Структуровані результати OpenAI
-
Додайте пам'ять за допомогою пошуку, а не нескінченного перевантаження контекстом. Папір RAG
-
Планування може бути простим — контрольні списки та перепланування дають багато переваг.
-
Ведення журналів та тести перетворюють хаос агентів на щось, що ви можете адаптувати. Посібник зі спостереження OpenTelemetry
-
Охоронні огородження мають бути в коді, а не лише в підказках. OWASP Топ-10 для програм LLM
Агент — це не магія. Це система, яка досить часто приймає правильні рішення, щоб бути цінною… і визнає поразку, перш ніж вона завдасть шкоди. У певному сенсі це тихо заспокоює 😌
І так, якщо все побудувати правильно, це схоже на найм крихітного цифрового стажера, який ніколи не спить, іноді панікує та любить паперову роботу. Отже, по суті, стажер.
Найчастіші запитання
Що таке агент штучного інтелекту, простими словами?
ШІ-агент — це, по суті, цикл, який повторюється: приймає вхідні дані, вирішує наступний крок, використовує інструмент, зчитує результат і повторює, доки не буде готово. «Агентська» частина полягає в дії та спостереженні, а не просто в спілкуванні. Багато агентів — це просто розумна автоматизація з доступом до інструментів, тоді як інші поводяться радше як молодший оператор, який може відновлюватися після помилок.
Коли мені слід створити агента на основі штучного інтелекту, а не просто використовувати підказку?
Створюйте агента, коли робота є багатоетапною, змінюється на основі проміжних результатів і потребує надійного використання інструментів (API, баз даних, системи квитків, виконання коду). Агенти також корисні, коли вам потрібні повторювані результати з захисними поясами та способом перевірки «виконано». Якщо проста відповідь у відповідь працює, агент зазвичай є зайвим накладним навантаженням і створює додаткові режими збоїв.
Як створити агента на основі штучного інтелекту, який не застрягатиме в циклах?
Використовуйте жорсткі умови зупинки: максимальна кількість кроків, максимальна кількість викликів інструментів та чіткі перевірки завершення. Додайте структуровані схеми інструментів, тайм-аути та повторні спроби, які не будуть повторюватися нескінченно. Реєструйте рішення та вивідні дані інструментів, щоб бачити, де вони збиваються з рейок. Поширеним запобіжним клапаном є ескалація: якщо агент невпевнений або повторює помилки, він повинен звернутися за допомогою, а не імпровізувати.
Яка мінімальна архітектура для створення ШІ-агента?
Як мінімум, вам потрібен цикл контролера, який передає моделі ціль та контекст, запитує наступну дію, виконує інструмент, якщо його запитують, додає спостереження та повторює. Вам також потрібні інструменти зі чіткими формами вводу/виводу та перевіркою «виконано». Навіть цикл «згортання власних дій» може добре працювати, якщо ви підтримуєте чистоту стану та забезпечуєте обмеження кроків.
Як мені розробити виклик інструментів, щоб він був надійним у виробництві?
Зберігайте інструменти вузькими, типізованими, з правами доступу та перевіреними — уникайте універсальних інструментів типу «що завгодно». Надавайте перевагу суворим схемам (наприклад, структурованим виходам/викликам функцій), щоб агент не міг вручну контролювати вхідні дані. Додавайте списки дозволених дій, обмеження швидкості та перевірки дозволів користувачів/організацій на рівні інструментів. Проєктуйте інструменти так, щоб їх можна було безпечно запускати повторно, коли це можливо, використовуючи шаблони ідемпотентності.
Який найкращий спосіб додати пам'ять, не погіршуючи роботу агента?
Розглядайте пам'ять як дві частини: короткостроковий стан виконання (нещодавні кроки, поточний план, обмеження) та довгостроковий пошук (налаштування, стабільні правила, відповідна документація). Зберігайте короткострокову компактність з поточними звітами, а не повними транскриптами. Для довготривалої пам'яті пошук (вбудовування + векторне сховище/шаблони RAG) зазвичай кращий за «вписування» всього в контекст та заплутування моделі.
Яку схему планування мені слід використовувати: контрольний список, ReAct чи метод «керівник-працівник»?
Планувальник контрольних списків чудово підходить, коли завдання передбачувані, і ви хочете щось легко перевірити. Цикли в стилі ReAct є найкращими, коли результати інструментів змінюють ваші подальші дії. Шаблони розподілу ролей керівник-працівник (наприклад, розподіл ролей у стилі AutoGen) допомагають, коли завдання можна паралелізувати або використовувати різні ролі (дослідник, кодер, QA). «Планування-виконання» з переплануванням – це практичний компроміс для уникнення впертих поганих планів.
Як зробити агента безпечним, якщо він може вживати реальних заходів?
Використовуйте дозволи з найменшими привілеями та обмежуйте ризиковані інструменти режимами затвердження або «пробного запуску». Додайте бюджети та обмеження: максимальну кількість кроків, максимальні витрати та обмеження на виклики інструментів за хвилину. Видаліть конфіденційні дані перед реєстрацією та відокремте середовища розробки від робочого середовища. Вимагайте прапорці невизначеності або уточнюючі запитання, коли вхідні дані неоднозначні, замість того, щоб дозволяти впевненості замінювати докази.
Як мені протестувати та оцінити агента штучного інтелекту, щоб він з часом покращувався?
Створіть набір сценаріїв зі щасливими шляхами, граничними випадками, збоями інструментів, неоднозначними запитами та спробами впровадження запитів (у стилі OWASP). Оцінюйте такі результати, як успішність завдання, час виконання, відновлення після помилок інструментів та заяви без доказів. Щоразу, коли ви змінюєте схеми інструментів, запити, пошук або форматування пам'яті, перезапустіть набір. Якщо ви не можете його протестувати, ви не можете надійно його відправити.
Як розгорнути агента без збільшення затримки та витрат?
Поширеною схемою є контролер без урахування стану із зовнішнім сховищем станів (БД/Redis), інструментальними службами позаду нього та надійним логуванням/моніторингом (часто OpenTelemetry). Контролюйте витрати за допомогою кешування пошуку, компактних зведень станів, менших моделей для маршрутизації/вилучення та обмеження «глибокого мислення» найскладнішими кроками. Використовуйте черги для довгих завдань, щоб не тримати веб-запити відкритими. Завжди додавайте функцію автоматичного відключення.
Посилання
-
Національний інститут стандартів і технологій (NIST) - NIST AI RMF 1.0 (надійність та прозорість) - nvlpubs.nist.gov
-
OpenAI - Структуровані результати - platform.openai.com
-
OpenAI - Посібник з виклику функцій - platform.openai.com
-
OpenAI - Посібник з обмежень швидкості - platform.openai.com
-
OpenAI – запускає API – platform.openai.com
-
OpenAI - Виклик функцій асистентів - platform.openai.com
-
LangChain - Документація агентів (JavaScript) - docs.langchain.com
-
LangChain - Документація інструментів (Python) - docs.langchain.com
-
LangChain - Огляд пам'яті - docs.langchain.com
-
arXiv - Стаття ReAct (розуміння + дія) - arxiv.org
-
arXiv - Стаття RAG - arxiv.org
-
Бібліотека конструкторів Amazon Web Services (AWS) – Тайм-аути, повторні спроби та відстрочка виконання з джиттером – aws.amazon.com
-
OpenTelemetry - Вступ до спостережуваності - opentelemetry.io
-
Stripe - Ідемпотентні запити - docs.stripe.com
-
Google Cloud – Стратегія повторних спроб (відмова + тремтіння) – docs.cloud.google.com
-
OWASP - Топ-10 для застосувань моделей великих мов - owasp.org
-
OWASP - LLM01 Запит на введення даних - genai.owasp.org
-
LlamaIndex - Вступ до RAG - developers.llamaindex.ai
-
Microsoft - Семантичне ядро - learn.microsoft.com
-
Microsoft AutoGen — багатоагентний фреймворк (документація) — microsoft.github.io
-
CrewAI - Концепції агентів - docs.crewai.com
-
Haystack (глибко посажений) - Документація для ретриверів - docs.haystack.deepset.ai