Створюємо власного AI-агента для відправки електронних листів за декілька хвилин: Покроковий гайд від Casey Byte
Привіт, гіки та розробники! Casey Byte з вами, і сьогодні ми розберемося, як створити власного AI-агента для автоматизації відправки електронних листів. Не лякайтесь, це простіше, ніж здається! Забудьте про складні терміни та заплутані інструкції – я спробую пояснити все максимально просто і доступно.
Що таке AI-агент і з чого він складається?
Уявіть собі AI-агента як віртуального помічника, який може розуміти ваші інструкції та виконувати певні дії. Він схожий на людину, яка має мозок і вміє спілкуватися. Основні компоненти AI-агента:
- Мозок: Це велика мовна модель (LLM), наприклад, ChatGPT або Claude 3.5. Вона відповідає за розуміння тексту, генерування відповідей та прийняття рішень.
- Пам’ять: Вона потрібна для збереження контексту розмови. Це дозволяє агенту пам’ятати попередні взаємодії та надавати більш релевантні відповіді. Уявіть собі, якби ChatGPT кожного разу забував про що ви говорили раніше – розмова була б дуже дивною, чи не так?
- Інструкції: Це системне повідомлення (system prompt), яке визначає роль агента, його поведінку, доступні інструменти та правила використання цих інструментів. Воно задає тон і напрямок роботи агента.
- Інструменти: Це функціональність, яка дозволяє LLM реально взаємодіяти зі світом. У нашому випадку це інструмент відправки електронних листів.
Чим AI-агент відрізняється від звичайного чат-бота?
Простий чат-бот відповідає на ваші запитання, але не може виконувати реальні дії. AI-агент з інструментами може не лише генерувати текст, але й, наприклад, відправляти електронні листи, оновлювати базу даних, або навіть керувати вашим “розумним” будинком.
Будуємо AI-агента для відправки електронних листів з nadn
nadn – це платформа для створення та розгортання AI-агентів. Вона надає зручний інтерфейс та дозволяє легко інтегрувати різні інструменти та сервіси.
Крок 1: Створення AI-агента
- У nadn натисніть “Add first step” і оберіть “AI Agent”.
- З’явиться блок AI-агента, автоматично з’єднаний з тригером “Chat Message Received”. Це точка входу для ваших повідомлень.
Крок 2: Додавання “мозку” (Chat Model)
- Ви побачите повідомлення про помилку, оскільки агент поки що не має мовної моделі.
- Під AI-агентом клікніть “+ Chat Model” і оберіть “OpenAI Chat Model”.
- Оберіть потрібну модель зі списку (наприклад, GPT-4 mini).
- Підключіть облікові дані OpenAI (API Key). Якщо у вас їх ще немає:
- Перейдіть на сайт OpenAI.
- В розділі API Keys створіть новий секретний ключ.
- Скопіюйте ключ і вставте його в nadn.
Крок 3: Додавання “пам’яті” (Memory)
- Натисніть “+ Memory” під AI-агентом та оберіть “Window Buffer Memory”.
- Переконайтеся, що session ID береться з тригера “Chat Trigger Node”.
- Context window length встановіть на 5 (агент запам’ятовуватиме 5 попередніх повідомлень).
Крок 4: Додавання інструменту для відправки листів (Gmail Tool)
- Натисніть “+” під AI-агентом та оберіть “Gmail Tool”.
- Підключіть облікові дані Google (якщо ще не підключені).
- Змініть Email Type на “text”.
- Налаштуйте поля “To”, “Subject” і “Message”:
- Встановіть тип на “Expression” для кожного поля.
- Використовуйте функцію AI для динамічного заповнення:
To
:{{ai find="emailRecipient"}}
Subject
:{{ai find="subject"}}
Message
:{{ai find="emailBody"}}
- Увімкніть опцію “Append and attribute” та вимкніть її (щоб в кінці листа не було підпису “Sent by nadn”).
- Перейменуйте вузол на “Send email”.
Крок 5: Налаштування системного повідомлення (System Message)
- Натисніть “+ Add option” під AI-агентом та оберіть “Add system message”.
- Використовуйте згенероване системне повідомлення від GPT (або напишіть своє):
- Опишіть роль агента (helpful assistant).
- Вкажіть, що він використовує інструмент “Send email” для відправки листів.
- Опишіть, як агент має поводитися (friendly).
Приклад:
## Огляд Ви - AI-агент, який спеціалізується на надсиланні електронних листів за допомогою інструменту "Send Email". Ви прагнете бути корисним помічником, який швидко і точно виконує запити користувачів. ## Контекст Користувачі взаємодіють з вами, запитуючи відправлення електронних листів. Ваша задача - зрозуміти їх запит, ідентифікувати необхідні деталі (адреса отримувача, тема, текст листа) і використати інструмент "Send Email" для надсилання листа. ## Інструкції 1. Уважно проаналізуйте запит користувача. 2. Визначте наступні ключові параметри: - Адреса отримувача електронної пошти (emailRecipient) - Тема листа (subject) - Текст листа (emailBody) 3. Якщо адреса електронної пошти не вказана явно, спробуйте знайти її в базі даних контактів, використовуючи ім'я отримувача. 4. Передайте ці параметри інструменту "Send Email". 5. Після успішного надсилання листа, повідомте користувача про це, підтверджуючи, що його запит виконано. ## Інструменти Ви маєте доступ до наступних інструментів: - **Інструмент "Send Email":** Використовується для надсилання електронного листа. Він приймає наступні параметри: - emailRecipient (адреса електронної пошти отримувача) - subject (тема листа) - emailBody (текст листа) - **Інструмент "Contact Database":** Використовується для пошуку адреси електронної пошти на основі імені. ## Приклади **Користувач:** "Надішли електронний лист Петру з проханням переглянути звіт." **Ви:** "Я щойно відправив електронний лист Петру з темою 'Прохання переглянути звіт'. Будь ласка, дайте знати, якщо є ще щось, що я можу зробити." **Користувач:** "Надішли на andrew.smith@example.com електронний лист з нагадуванням про зустріч." **Ви:** "Я щойно відправив електронний лист на адресу andrew.smith@example.com нагадування про зустріч. Чи можу я ще чимось допомогти?" ## Стандартна операційна процедура (Standard Operating Procedure) 1. Отримайте запит від користувача на надсилання електронного листа. 2. Перевірте, чи вказано адресу електронної пошти. Якщо ні, використайте інструмент "Contact Database" для її пошуку. 3. Складіть електронний лист, використовуючи надані параметри. 4. Використайте інструмент "Send Email" для надсилання електронного листа. 5. Надішліть користувачеві підтвердження надсилання. ## Важливі примітки - Завжди намагайтеся зрозуміти контекст запиту користувача, щоб забезпечити якомога релевантнішу та кориснішу відповідь. - Переконайтеся, що ви використовуєте інструменти точно та ефективно. - Підтримуйте доброзичливий та професійний тон спілкування. - Якщо виникають сумніви, спершу уточніть деталі у користувача, перш ніж продовжувати. - Завжди підписуйте електронні листи від Frank. ``` **Крок 6: Тестування** 1. Напишіть повідомлення, наприклад: "Can you send an email to Nate herk 88@gmail.com asking him how his day was". **Що відбувається під капотом?** 1. nadn отримує ваш запит (user message). 2. AI-агент використовує мовну модель (brain) та системне повідомлення (instructions) для розуміння запиту. 3. Він визначає, що потрібно використати інструмент "Send email". 4. Він витягує інформацію (email address, subject, message) з вашого запиту. 5. Він надсилає інформацію в Gmail Tool. 6. Gmail Tool відправляє електронний лист. 7. AI-агент надає вам відповідь про успішну відправку листа. **Розширюємо функціональність: Підключаємо базу даних контактів** Що, якщо ви не хочете щоразу вводити адресу електронної пошти? Ви можете підключити базу даних контактів, наприклад, Google Sheets: 1. Додайте інструмент "Google Sheets Tool". 2. Підключіть облікові дані Google. 3. Оберіть документ (contact database) та аркуш. 4. Перейменуйте вузол на "Contact database". 5. Оновіть системне повідомлення (System Message) за допомогою ChatGPT: "Can you refine this prompt and add a tool called Contact database that the agent will use to retrieve contact data like email addresses". Приклад оновлення у System Message:
markdown
Інструменти
Ви маєте доступ до наступних інструментів: - **Інструмент "Send Email":** Використовується для надсилання електронного листа. Він приймає наступні параметри: - emailRecipient (адреса електронної пошти отримувача) - subject (тема листа) - emailBody (текст листа) - **Інструмент "Contact Database":** Використовується для пошуку адреси електронної пошти на основі імені.
6. Тепер ви можете написати: "Send an email to Phil letting him know that I will not be at work today". Агент знайде адресу електронної пошти Філа в базі даних контактів і відправить йому лист. **Аналізуємо логи** Логи AI-агента допоможуть вам розібратися, що відбувається під капотом. Ви можете побачити, які кроки виконує агент, які інструменти він використовує, та які параметри передаються. **Висновок: Можливості AI-агентів безмежні!** За допомогою AI-агентів ви можете автоматизувати рутинні завдання та значно підвищити свою продуктивність. У цьому прикладі ми створили простого агента для відправки електронних листів, але можливості AI-агентів практично безмежні. **Приклад коду для системного повідомлення (system prompt):**
markdown
Огляд
Ви – AI-агент, котрий допомогає надсилати електронні листи, використовуючи інструмент “Send Email”. Будьте корисним помічником, та швидко відповідайте на запити користувачів.
## Інструкції користувачу
- Користувач може попросити вас надіслати електронний лист.
- Потрібно перевірити, чи надав користувач усю необхідну інформацію (адресу електронної пошти, тему листа та текст листа (тіло)).
3.Використовуйте інструмент “Send Email” для надсилання електронного листа.
4.Дайте знати користувачу, що ви надіслали електронний лист.Інструмент
У вас є доступ до одного інструменту:
-“Send Email”: Відсилає лист, потрібно вказати адресу електронної пошти одержувача, тему та тіло листа.
Процес
Я повинен використовувати надану інформацію для надсилання електронного листа, а потім дати знати користувачеві, що він відправлений.
## Важлива інформація
-Будьте ввічливими та професійними, спілкуючись з Користувачем
-Спочатку використовуйте інструменти.
-Усі листи підписуйте “Frank”
“`
Наступні кроки
Тепер ви можете підключити AI-агента до Telegram, Slack, або будь-якого іншого додатку. Ви можете використовувати різні тригери, наприклад, отримання SMS-повідомлення. Можливості обмежені лише вашою фантазією!
Сподіваюся, цей гайд був корисним для вас. Не забудьте поставити лайк, якщо вам сподобалось, та поділіться своїми ідеями в коментарях. До зустрічі в наступних відео!