About Portfolio Services Blog Contact 🎙 Talk to AI
EN DE RU
🎙 Talk to AI
May 12, 2026 · 3 min read

AI-кодинг-агенты в формате single binary: минимализм, скорость и независимость от рантайма

Я — Денис Шохирев, Enterprise AI Architect из Эрлангена. В DennisCraft AI Studio я внедряю AI-агентов для B2B заказчиков из DACH (логистика, финтех, индустриальная автоматизация) на продакшн-стеке Claude, Supabase, n8n, Doppler, self-hosted Postgres. За последние 6 месяцев я развернул 14 production AI-агентов — и каждый раз сталкивался с вопросом: как собрать кодинг-агента в максимально простом, автономном и защищённом виде для инфраструктуры с жёсткими регуляторными ограничениями, где виртуальн

Denis Shokhirev
Denis Shokhirev
Enterprise AI Architect
Telegram LinkedIn

Я — Денис Шохирев, Enterprise AI Architect из Эрлангена. В DennisCraft AI Studio я внедряю AI-агентов для B2B заказчиков из DACH (логистика, финтех, индустриальная автоматизация) на продакшн-стеке Claude, Supabase, n8n, Doppler, self-hosted Postgres. За последние 6 месяцев я развернул 14 production AI-агентов — и каждый раз сталкивался с вопросом: как собрать кодинг-агента в максимально простом, автономном и защищённом виде для инфраструктуры с жёсткими регуляторными ограничениями, где виртуальные машины и контейнеры — не всегда опция.

Почему single binary — не просто "красиво", а иногда единственно допустимо

В реальных проектах, особенно в регулируемых отраслях, требования к инфраструктуре часто категоричны: никаких сторонних рантаймов, никаких сложных зависимостей. Например, в одном финтех-контуре клиент разрешал деплой только подписанных single binary-артефактов, собранных статически, с верифицируемым origin (через хэш-лог в Argo CD). Любая библиотека, требующая системных пакетов, — под угрозой аудита.

Single binary — это не про эстетство, а про:

  • Прозрачную валидацию SHA256 на каждом этапе поставки
  • Быстрый запуск (cold start < 100ms)
  • Минимум точек отказа и zero external runtime
  • Лёгкое внедрение в CI/CD (особенно с ArgoCD, GitLab CI, Jenkins)

Зависимость от Node.js, Python, JVM — это минус 2–3 уровня доверия на стороне аудита. Пример: на одной из недавних поставок бизнес-клиент завернул проект с gRPC-агентом на Python, хотя функционал был на 100% покрыт. Причина — невозможность гарантировать отсутствие уязвимостей в стороннем рантайме.

Технологический стек: что реально работает для single binary AI-агентов

Языки и сборка

Go и Rust — безальтернативные лидеры для single binary в B2B. Go выигрывает по скорости сборки и кроссплатформенности, Rust — по контролю и безопасности памяти. Я использую Go: статическая линковка, поддержка net/http, нативная интеграция с PostgreSQL (через pgx), TLS "из коробки".

# Сборка single binary под Linux AMD64:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o agent_bin main.go

LLM-интеграция

Claude Code (Anthropic API) — основной выбор для генерации кода и анализа. В Go удобно использовать openapi-генерированные клиенты или REST-запросы через net/http. Второй вариант — OpenAI API, но в DACH-контексте чаще возникает вопрос с legal-review (особенно при работе с персональными данными).

resp, err := http.Post("https://api.anthropic.com/v1/messages", "application/json", bytes.NewBuffer(payload))
// Обработка resp, чтение результата

Системы хранения и очереди

Supabase (через Postgres) — идеально подходит для single binary, если не требуется отдельный брокер. Использую pgx для подключения. Для очередей — LISTEN/NOTIFY Postgres, без отдельного RabbitMQ/Redis.

conn, _ := pgx.Connect(ctx, os.Getenv("PG_URL"))
conn.Exec(ctx, "NOTIFY agent_events, 'codegen_ready'")

Конфигурации и секреты

Doppler CLI — для внедрения секретов через переменные окружения. В single binary можно использовать dotenv или прямую загрузку переменных, избегая внешних библиотек.

Контроль безопасности: как не получить "LLM-вредонос" на проде

Статический анализ кода-выхода

LLM-агенты способны генерировать опасные паттерны. На трёх последних внедрениях я ловил SQL-инъекции и небезопасные вызовы shell в сгенерированном коде. Для анализа — semgrep и bandit (если цель — Python-генерация), gitleaks — для поиска утечек секретов. Всё это можно запускать как pre-commit хуки или отдельные пайплайны.

semgrep --config=auto generated_code/
bandit -r generated_code/
gitleaks detect --source=generated_code/

OWASP рекомендует запускать статический анализ на каждом этапе CI/CD (см. OWASP, 2023).

Runtime-изоляция

Даже single binary должен работать в chroot/jail, с минимальными правами. Использую systemd unit с ограничением Capabilities, seccomp и read-only rootfs.

[Service]
ExecStart=/opt/agent_bin
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
ProtectSystem=full
NoNewPrivileges=true

Логирование и аудит

Все вызовы LLM и действия агента логирую в отдельную таблицу Postgres — ID запроса, user, хэш кода, таймстемп. Это облегчает аудит и разбор инцидентов.

CREATE TABLE agent_audit (
  id SERIAL PRIMARY KEY,
  user_id TEXT,
  code_hash TEXT,
  event_time TIMESTAMPTZ DEFAULT now()
);

Как устроена пайплайн: минимальная схема single binary AI code agent

Этап Технология Single binary?
API endpoint Go net/http Да
LLM-интеграция REST (Anthropic/OpenAI) Да
DB/очередь pgx (Postgres) Да
Статический анализ semgrep, bandit, gitleaks Нет (отдельный бинарник/CI)
Аудит/логирование Postgres Да

Всё, что не попадает в single binary (например, статический анализ), выношу на отдельный CI-стейдж или запускаю через API-обёртку.

FAQ

Почему нельзя просто обернуть Python-скрипт в Docker и считать это "single binary"?

Docker-контейнер — это не single binary, а целый слой с зависимостями (библиотеки, рантайм, ядро). В условиях жёсткого аудита и airgap-контуров Docker часто запрещён.

Есть ли разница между Go и Rust для AI-агентов?

Go быстрее на старте и проще для интеграции с HTTP/DB, Rust более строг по безопасности памяти. Для AI-агентов, где важна скорость вывода и простота сборки, Go предпочтительнее.

Как обновлять single binary-агента без простоя?

Рекомендую использовать zero-downtime deployment через systemd + prestart healthcheck. Так можно обновить бинарник, не прерывая обработку запросов.

Можно ли интегрировать статический анализ в single binary?

Пока нет production-ready библиотек для semgrep/bandit внутри Go/Rust. Решаю через отдельный CI-стейдж.

Что делать с секретами при деплое single binary?

Использовать переменные окружения от Doppler или Vault, не вшивать ключи в бинарник. Проверять права доступа на уровне systemd unit.

Ваша текущая инфраструктура поддерживает только single binary-агентов или допускает сторонние рантаймы? Где вы чаще всего ловите проблемы при внедрении AI-кодинг-агентов — на этапе аудита бинарника или в процессе интеграции с LLM? Я провожу бесплатный 30-минутный аудит стека для DACH-компаний с AI в проде. Пишите в LinkedIn или на @ger_dennis_ai.

Ready to build?

Turn your process into an AI system

Fixed price. Production quality. DACH B2B focus.

Start a project → ← All articles