Як використовувати Claude для безпечної автоматизації: навіщо потрібна Agentic Mode в 1Password

Дізнайтеся, як Claude та Agentic Mode в 1Password допомагають безпечно автоматизувати робочі процеси

Коли ви даєте AI-агенту доступ до своїх сервісів, виникає логічне питання: як не злити всі паролі та токени у відкритий текст? Саме цю проблему вирішує інтеграція Claude з 1Password через Agentic Mode — спосіб передавати секрети агенту безпечно, без жодного рядка у промпті чи коді. У цьому туторіалі ми пройдемо весь шлях від нуля до повноцінного автоматизованого агента за 30–40 хвилин. Для старту потрібен акаунт 1Password (тариф Teams або Business), доступ до Claude API від Anthropic та базові знання роботи з терміналом.

🛠️ Що знадобиться

  • 1Password (тариф Teams або Business) — основне сховище секретів; саме тут зберігаються API-ключі, токени й паролі, які агент використовуватиме під час роботи. Платний, від $19/міс за команду.
  • 1Password CLI (op) — консольний інструмент для взаємодії зі сховищем; дозволяє агенту отримувати секрети через безпечний канал без збереження у змінних середовища у відкритому вигляді. Безкоштовно як частина підписки.
  • Claude API (Anthropic) — доступ до моделі claude-3-7-sonnet або новішої з підтримкою tool use та agentic-режиму. Оплата за токени, є безкоштовний тестовий кредит $5.
  • Python 3.11+ або Node.js 20+ — середовище для запуску агента; у прикладах використовуємо Python із бібліотекою anthropic. Безкоштовно.
  • Термінал (macOS/Linux або WSL на Windows) — для запуску CLI-команд та скриптів.

📋 Покрокова інструкція

Крок 1: Встановлення та авторизація 1Password CLI

Відкрийте термінал і встановіть 1Password CLI. На macOS виконайте команду brew install 1password-cli. На Ubuntu/Debian — завантажте пакет із офіційної сторінки: перейдіть на developer.1password.com/docs/cli/get-started, знайдіть розділ Install, скопіюйте команду для вашого дистрибутива і вставте в термінал. Після встановлення введіть op --version — маєте побачити щось на кшталт 2.28.0. Потім виконайте op signin, введіть адресу вашого 1Password-акаунту, email та секретний ключ — CLI збереже сесійний токен локально і більше не питатиме пароль при кожному зверненні.

Крок 2: Створення сховища та додавання секретів для агента

У веб-інтерфейсі 1Password (my.1password.com) натисніть кнопку New Vault у лівому сайдбарі, назвіть його claude-agent-secrets і натисніть Create Vault. Далі всередині нового сховища натисніть New Item → API Credential. У полі Title введіть Anthropic API Key, у полі Credential вставте ваш ключ від Anthropic (починається з sk-ant-) і натисніть Save. Повторіть для кожного сервісу, який використовуватиме агент — наприклад, GitHub Token, OpenWeatherMap API тощо. Важливо: ніколи не копіюйте ці ключі напряму у файли конфігурації чи у код — лише через CLI.

Крок 3: Налаштування середовища Python та отримання секретів через op

Створіть нову папку проєкту: mkdir claude-agent && cd claude-agent. Ініціалізуйте віртуальне середовище: python3 -m venv .venv && source .venv/bin/activate. Встановіть залежності: pip install anthropic python-dotenv. Тепер замість того, щоб писати API-ключ у файл .env вручну, отримайте його через CLI: виконайте команду op read "op://claude-agent-secrets/Anthropic API Key/credential" — у терміналі з’явиться ваш ключ. Щоб автоматично підставляти секрети при запуску скрипта, використайте op run: створіть файл .env.tpl із рядком ANTHROPIC_API_KEY=op://claude-agent-secrets/Anthropic API Key/credential, і запускайте агента командою op run --env-file=.env.tpl -- python agent.py. Так ключ потрапляє в оточення процесу безпосередньо перед стартом і ніде не зберігається на диску у відкритому вигляді.

Крок 4: Написання агента з Claude та інструментами (tool use)

Створіть файл agent.py і вставте наступний код. Спочатку імпорти та ініціалізація: import anthropic, os, потім client = anthropic.Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"]). Далі опишіть інструменти — наприклад, інструмент для читання файлу та інструмент для HTTP-запиту. Визначте список tools у форматі JSON-схеми: кожен інструмент має поля name, description та input_schema. Запустіть агентний цикл: відправте перше повідомлення через client.messages.create(model="claude-3-7-sonnet-20250219", max_tokens=4096, tools=tools, messages=[...]). Перевіряйте response.stop_reason — якщо він дорівнює tool_use, виконайте відповідний інструмент, передайте результат назад у messages як tool_result і зробіть ще один виклик. Продовжуйте цикл, доки stop_reason не стане end_turn. Цей паттерн і є Agentic Mode — Claude сам вирішує, коли і які інструменти викликати.

Крок 5: Запуск агента та перевірка безпечного потоку секретів

Запустіть агента командою op run --env-file=.env.tpl -- python agent.py. У терміналі ви побачите, як 1Password CLI перехоплює запит, звертається до сховища, підставляє ключ у змінну середовища і лише потім передає керування Python-скрипту. Щоб перевірити, що ключ не “витікає”, виконайте після запуску cat .env — файлу не існує, бо ми використовували шаблон .env.tpl. Фінальний результат: агент виконує задачу (наприклад, аналізує дані та зберігає звіт), використовує API-ключі з 1Password, і жодного секрету немає ні в коді, ні в логах, ні на диску. Ви можете переглянути аудит-лог у 1Password: відкрийте Settings → Activity Log — там будуть записи про кожне звернення CLI до сховища.

⚠️ Типові помилки та як їх уникнути

  • Збереження ключа у звичайному .env файлі — якщо ви пишете ANTHROPIC_API_KEY=sk-ant-xxx у файл і комітите його в Git, ключ стає публічним. Завжди використовуйте .env.tpl із посиланням на 1Password і додайте .env у .gitignore.
  • Неправильний шлях у op:// посиланні — формат завжди такий: op://[vault-name]/[item-name]/[field-name]. Якщо сховище або елемент містять пробіли, замініть їх на %20 або візьміть шлях у лапки: "op://claude-agent-secrets/Anthropic API Key/credential".
  • Сесія op CLI протухла — після кількох годин неактивності сесія завершується і op run повертає помилку 401. Перед запуском агента в автоматичному режимі налаштуйте Service Account: у 1Password відкрийте Settings → Service Accounts → New Service Account, видайте доступ лише до потрібного сховища і збережіть токен сервісного акаунту — він не протухає.

💡 Поради для кращого результату

По-перше, використовуйте окреме сховище для кожного агента — так простіше відкликати доступ, якщо агент більше не потрібен або скомпрометований. По-друге, в .env.tpl задавайте мінімально необхідний набір секретів: не давайте агенту доступ до GitHub-токена з правами admin, якщо він лише читає репозиторій — створіть токен з правами read-only. По-третє, логуйте всі виклики інструментів у окремий файл із позначкою часу — це допоможе відстежити, що саме робив агент, якщо щось пішло не так. По-четверте, якщо запускаєте агента у CI/CD (GitHub Actions, GitLab CI), зберігайте токен Service Account як зашифровану змінну середовища репозиторію, а не в коді — і підтягуйте всі інші секрети через нього динамічно під час пайплайну.

❓ Часті запитання (FAQ)

1. Чи можна використовувати безкоштовний план 1Password?
На жаль, 1Password CLI із підтримкою Service Accounts доступний лише на тарифах Teams та Business. Для персонального використання підійде тариф Individual — CLI працює, але без сервісних акаунтів для автоматизації.

2. Чи підтримує Agentic Mode Claude 3.5 Haiku для дешевших завдань?
Так, усі сучасні моделі Anthropic підтримують tool use та agentic-цикл. Haiku обробляє прості завдання втричі дешевше за Sonnet — перемикайтеся між моделями залежно від складності задачі, змінюючи параметр model у виклику API.

3. Що робити, якщо агент випадково закоментував секрет у лозі помилки?
Негайно відкличте скомпрометований ключ у відповідному сервісі, згенеруйте новий і оновіть запис у 1Password. Переглянте логи на предмет інших витоків і налаштуйте фільтрацію виводу — наприклад, маскуйте рядки, що починаються з sk-ant-.

4. Як обмежити, які дії може виконувати агент?
Описуйте інструменти максимально вузько: замість інструмента “виконати будь-яку shell-команду” робіть окремі функції — “прочитати файл”, “записати файл”, “зробити GET-запит”. Так Claude фізично не зможе викликати те, чого немає в списку tools, навіть якщо захоче.

5. Чи зберігає Anthropic мої запити з секретами всередині промптів?
Anthropic не тренує моделі на даних API-клієнтів за замовчуванням (згідно з політикою 2025–2026 рр.), але промпти все одно передаються через мережу. Саме тому критично важливо ніколи не вставляти секрети в текст повідомлень — лише передавати їх агенту через змінні середовища та інструменти.

🏁 Підсумок

Ви налаштували повний безпечний pipeline: секрети живуть у 1Password, агент отримує їх через CLI без зберігання на диску, Claude виконує задачі через Agentic Mode з чітко визначеними інструментами — і весь процес залишає аудит-слід у журналі 1Password.

Почніть просто: створіть сховище claude-agent-secrets, додайте туди лише один ключ — Anthropic API Key — і запустіть мінімальний агент із одним інструментом. Коли переконаєтеся, що потік секретів працює чисто, додавайте нові інструменти та сервіси поступово.

РОЗСИЛКА

📬 Щотижневий AI-дайджест

Найкращі статті про ШІ та автоматизацію — без спаму, лише суть

Без спаму · Відписатись будь-коли

Telegram