← На главную

Среда и инструменты
opencode

Модуль 1 — Архитектура, конфигурация, безопасность   70% практика

Программа обучения системных аналитиков работе с ИИ-агентами
Практика на DigitalWallet

Архитектура opencode

Как агент взаимодействует с вашей средой и LLM-провайдером

👤 Аналитик
промпты, задачи
→
opencode
оркестрация, цикл, tools
↔
📁 Файлы проекта
⌨️ Терминал / bash
🔀 Git
opencode
↔
☁️ LLM Provider
Claude · GPT · Gemini

Код и файлы остаются локально. В облако уходит только контекст диалога

Инструменты агента Tools

«Руки» агента — то, чем он действует в цикле Act

⌨️
Bash
Запуск команд в терминале: сборка, тесты, Git, grep
dotnet build
📖
File Read
Чтение файлов проекта, конфигов, исходного кода
Read appsettings.json
✏️
File Write
Создание и редактирование файлов: код, документация, отчёты
Write analysis.md
🔍
Search
Поиск по коду и файловой структуре: glob, grep, regex
Grep "Controller"
🔌
MCP
Подключение внешних систем: Jira, БД, API, Confluence
mcp-server-jira

Агент сам выбирает, какой инструмент использовать на каждом шаге цикла

Конфигурация окружения

🔑 API-ключи

Подключение к LLM-провайдеру:

  • ANTHROPIC_API_KEY
  • OPENAI_API_KEY
  • GEMINI_API_KEY

Хранить в переменных окружения, не в коде

🧠 Модель

Выбор LLM-провайдера:

  • Claude — глубокий анализ кода
  • GPT — универсальность
  • Gemini — большой контекст
  • MiniMax, GLM — Китайские аналоги

Можно менять на лету между задачами

⚙️ Параметры сессии

Тонкие настройки:

  • Системный промпт
  • Разрешения на tools
  • Рабочая директория
  • История и контекст

Безопасность

Агент имеет доступ к терминалу — это и сила, и ответственность

✓ Агент может

  • Читать файлы проекта
  • Запускать сборку и тесты
  • Создавать документацию и отчёты
  • Анализировать структуру кода
  • Работать с Git (коммиты, ветки)

✕ Не должен без контроля

  • Удалять файлы и директории
  • Изменять продуктивные конфиги
  • Пушить в main/master напрямую
  • Выполнять rm -rf, force push
  • Работать с секретами и ключами
⚠️ Опасные команды → подтверждение
✓ Безопасные команды → автоматически

Сценарий: Онбординг за 30 минут

C#
DigitalWallet — полное погружение
thisisnabi/DigitalWallet · .NET · E-Wallet Service
Ситуация: Аналитик только что клонировал DigitalWallet. Нужно понять архитектуру, инфраструктуру и ключевые модули — подготовиться к работе с проектом на протяжении курса.
✓ За 20 минут: описание архитектуры (Vertical Slice, ASP.NET Core, EF Core + SQL), таблица всех API-эндпоинтов с моделями, описание Docker-инфраструктуры. Всё сохранено в файлах — готовая база для дальнейшей работы.

Разберём по шагам →

4 шага онбординга

1 Структура проекта
«Покажи структуру проекта DigitalWallet, объясни назначение каждой директории и ключевых файлов»
→ Карта проекта: папки, слои, точки входа
2 Конфигурация и инфраструктура
«Найди все конфигурационные файлы (appsettings.json, Dockerfile, docker-compose.yml) — объясни внешние зависимости»
→ Зависимости: SQL, Docker, порты, настройки
3 API-эндпоинты
«Найди все API-эндпоинты (контроллеры), сформируй таблицу: путь, HTTP-метод, описание, входные/выходные модели»
→ Полная таблица API — основа для документации
4 Архитектура фич
«Опиши Vertical Slice Architecture проекта — как организованы фичи (MultiCurrency, UserWallet, Transactions)»
→ Архитектурная карта: фичи, зависимости, потоки

Практика

4 задания на проекте DigitalWallet

🔧 Настройка окружения

Настроить opencode: API-ключи, выбор модели, параметры сессии. Убедиться, что агент запускается и отвечает.

⏱ 15 мин

🗺️ Навигация по проекту

С помощью агента: «покажи структуру», «найди все файлы конфигурации», «объясни Vertical Slice Architecture»

⏱ 20 мин

🔬 Deep dive: WalletFunds

Попросить агента объяснить фичу WalletFunds (пополнение/списание кошелька) — от контроллера до базы данных.

⏱ 25 мин

🔄 Эксперимент с моделями

Одна задача («опиши все эндпоинты») — три модели (Claude, GPT, Gemini). Сравнить поведение, полноту, формат.

⏱ 20 мин

Обсуждение результатов

  • Какие инструменты (tools) агент использовал чаще всего?
  • Что было неожиданным при навигации по DigitalWallet?
  • Как глубоко удалось погрузиться в WalletFunds?
  • Где вы почувствовали ограничения агента?
  • Какие вопросы безопасности возникли в процессе?

Итоги Модуля 1

  • Архитектура: opencode = оркестратор между вами, локальной средой (файлы, терминал, Git) и облачным LLM
  • Инструменты: Bash, File Read/Write, Search, MCP — «руки» агента в цикле Act
  • Конфигурация: API-ключи, выбор модели, параметры сессии — настраиваемое окружение
  • Безопасность: контроль разрешений, подтверждение опасных команд, работа в ветке
Далее → Модуль 2: Промпт-инжиниринг для агента — от «вопросов» к «техническим заданиям»