Про AI агенти
В жовтні минулого року у
виступі на IT Forum 2024 про майбутнє Software Engineering я говорив, що ми лише наближаємося до ери AI-агентів, але з того часу минулого лише три місяці як можна впевнено сказати, що вона наступила.
Якщо говорити про інструменти для розробників, то в онлайн-сервісах, таких як
Repl.it/bolt.new/v0 агенти з’явилися вже більш ніж півроку тому, але в популярні IDE їх завезли пізніше - agent mode з’явився в Cursor ще в листопаді минулого року, а аналогічну фічу в Github Copilot MS додала лише кілька днів тому. Але агенти є і в продуктах для масс-маркету, наприклад, режим Deep Research чи Operator в ChatGPT - це теж агенти.
Тому агенти зараз - next big thing в AI. Але чим AI-агент відрізняється від “звичайного AI” такого як чати з LLM-моделями? Насправді агенти не є чимось кардинально іншим, бо у якості “мозку” використовують LLM-моделі, але у них є буквально дві ключові особливості, що дозволяють набути їм принципово інших можливостей:
1. Робота виконується в циклі, умовою завершення якого є досягнення поставленої мети (або неможливість її виконання, чи вихід за межі лімітів по часу/кількості ітерацій). Грубо кажучи, ми ставимо задачу, і LLM виконує її покроково в циклі, де результат попередньої ітерації стає відправною точкою для наступної.
2. Агент має доступ до інструментів, такі як пошук інформації, виконання якихось дій і т.д. - в принципі, це може бути будь-який API. Викликати інструменти агент буде за потреби, якщо сам вважатиме це за потрібне.
Із ключового - все. На практиці, звичайно, є багато нюансів як такі рішення можна побудувати. Наприклад, агент може бути не один, а ціла їх команда зі своєю спеціалізацією, де паралельно можуть використовуватися різні інструменти та LLM. Також для реалізації таких рішень можуть бути використані різні архітектури, наприклад, найпростіша - ReAct, яка фактично відповідає виклику інструментів в циклу і “прогон” результатів через LLM, але вона не здатна “мислити” довгостроково, тому можна додавати планування, пам’ять і т.д. і т.п.
Цікаво, що поточний етап розвитку не просто не виключає human in the loop, а швидше передбачає його, щоб роботу агента можна було б покоригувати по ходу, або залучити людину для прийняття важливих рішень. Думаю що в найближчий час це і буде оптимальним сценарієм побудови агентів. А люди мають вчитися співпрацювати з ними, це і буде win-win.
Також багато стартапів вже намагаються зробити свого найкращого агента (чи їх команду) під конкретні задачі (по прикладу того ж AI-software engineer Devin). І конкуренція тут буде дуже жорсткою - тільки один агент виявиться кращим за іншого, як відразу гроші опиняться у його творців, бо замінити одного агента на іншого можна за лічені хвилини, не те що зі звільненням/наймом людей возитися 🙂