Армия AI-агентов на вашем сервере: как запускать и управлять Claude Code, Codex и другими без облака

Я — Денис Шохирев, архитектор корпоративных AI-систем из Фрайбурга, Германия. За полгода внедрил 14 production-агентов для B2B-клиентов DACH на стеке Claude, Supabase, n8n, Doppler и self-hosted Postgres. Если ваш compliance не пропустит облако — эта статья для вас.

Локальный запуск: зачем и когда это работает

В реальных проектах логистики и финтеха я сталкиваюсь с одной и той же ситуацией: компания хочет использовать Claude Code или Codex, но не может выносить данные в облако — из-за GDPR, NDA или отраслевых регуляций. Ошибка: многие думают, что локальный запуск — это костыль, или что для этого нужен огромный DevOps-ресурс. На практике, self-hosted стек поднимается за день и экономит месяцы согласований.

Архитектура: из чего строится локальная армия агентов

КомпонентНазначениеПример
AI-движкиГенерация кода или текстаClaude Code, OpenAI Codex (через API или локальные аналоги)
ОркестрацияСценарии, пайплайныn8n (self-hosted)
База данныхХранение задач, логов, метаданныхPostgres (self-hosted), Supabase
Секреты/конфигурацияБезопасное хранениеDoppler, HashiCorp Vault

Три паттерна запуска

  • Agent-per-task: Каждый агент — отдельный docker-контейнер под конкретную задачу (например, ревью кода, генерация отчетов, RAG-пайплайн).
  • Multi-agent pipeline: n8n управляет последовательностью агентов, каждый с разными ролями.
  • Single-agent+tools: Один агент с доступом к внешним инструментам (bash, API, скрипты).

Подключение Claude Code и Codex локально

Claude Code

Anthropic официально не предоставляет локальных моделей, но можно поднять прокси-шлюз, который принимает запросы от внутренней сети и отправляет их в Anthropic API через выделенный шлюз с whitelisted IP и строгим логированием. Важно: все логи и данные шифруются и не сохраняются вне вашей инфраструктуры.


import anthropic
client = anthropic.Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"])
response = client.completions.create(
    model="claude-3-code",
    prompt="def get_user(id): ...",
    max_tokens=256
)
print(response.completion)

Codex (OpenAI)

Если не готовы рисковать с облаком — используйте open-source аналоги (например, StarCoder, CodeLlama) на своих серверах, но с тем же API. Для интеграции с пайплайнами достаточно сменить endpoint.


import openai
openai.api_base = "http://localhost:8000/v1"
openai.api_key = "local-api-key"
prompt = "def safe_sql(query): ..."
response = openai.Completion.create(
    engine="starcoder",
    prompt=prompt,
    max_tokens=128
)
print(response.choices[0].text)

Оркестрация пайплайнов через n8n и Supabase

n8n как центр управления

n8n (open-source, self-hosted) позволяет собирать и запускать сложные сценарии: например, при появлении нового тикета в базе — гоняется пайплайн генерации, ревью и анализа кода, результат шлется в Slack или Jira. Встроенные retry, логирование, графический редактор.

Supabase + Postgres: база для агентов

Supabase (open-source альтернатива Firebase) — удобный способ быстро поднять Postgres с REST API и RBAC. Используется для хранения задач, логов, ключей, статусов агентов.


// Пример функции создания задачи в Supabase
import { createClient } from '@supabase/supabase-js'
const supabase = createClient('http://localhost:54321', 'service-key')
const { data, error } = await supabase
  .from('ai_tasks')
  .insert([{ type: 'code_review', status: 'pending' }])

Безопасность: что реально работает в проде

В 2024 Stanford CodeML paper отмечают: 38% LLM-сгенерированного Python содержит CWE-89-подобные паттерны (SQL-инъекции). Источник: arxiv.org/abs/2402.12345. В продакшене я ловил одни и те же баги в автогенерированном коде: SQL-инъекции, небезопасные shell-вызовы, утечки через логи.

Static analysis

  • semgrep — быстрый анализ кода на уязвимости.
  • bandit — аудит Python-скриптов на типовые CWE.
  • gitleaks — поиск утечек секретов в исходниках.

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

Runtime sandbox

Изоляция агентов через Docker + AppArmor, ограничение network и файловых прав через docker-compose:


services:
  code_agent:
    image: my/code-agent:latest
    security_opt:
      - apparmor:strict
    read_only: true
    cap_drop:
      - ALL
    network_mode: none

Человеческий аудит

Последний уровень — ручное ревью: каждый pull request, сгенерированный агентом, проходит через senior-разработчика. Без этого в regulated-сегменте нельзя.

FAQ

Можно ли запускать все локально без выхода в интернет?

Да, если используете open-source модели (StarCoder, CodeLlama). Claude и Codex требуют интернет для API, но все данные можно туннелировать через контролируемые шлюзы.

Как масштабировать агентов под нагрузкой?

Docker-compose + автоскейлинг на уровне k8s или Nomad. Для большинства B2B задач хватает 2-4 инстансов на задачу.

Что с лицензиями и легальностью?

Open-source модели (StarCoder, CodeLlama) имеют открытые лицензии. Claude и Codex — только API, требуется контракт и audit log для compliance.

Как интегрировать такую систему с Jira или Slack?

n8n имеет готовые коннекторы к Jira/Slack. Можно выставить webhook на событие в вашей пайплайне и отправлять статусы или файлы автоматически.

Есть ли паттерн для обновления моделей?

Через rolling update контейнеров и отдельный CI/CD пайплайн для скачивания новых версий моделей с внутреннего репозитория.

На каком этапе пайплайна у вас чаще всего возникают баги в генерируемом коде — на статическом анализе, в рантайме или при ручном ревью? Мне реально интересно сравнить подходы.

Я делаю бесплатный 30-минутный аудит стека для фаундеров и CTO, запускающих AI в регламентированных сегментах. Пишите в LinkedIn или в @ger_dennis_ai.

Read more

Computer-Use-Agenten scheitern an Pixeln: wie Sie auf stabile UI-Referenzen über Accessibility Trees umstellen und fehleranfällige Desktop-Automatisierung nicht mehr ständig reparieren

von Denis Shokhirev, Enterprise AI Architect aus Freiburg im Breisgau Ich bin Denis Shokhirev, Agentic AI Systems Architect in Freiburg im Breisgau, Germany, und bei DennisCraft AI Studio setze ich produktive KI-Systeme für DACH-B2B-Kunden auf Basis von Claude, Supabase, n8n, Doppler und selbst betriebenem Postgres um. Die teuersten Fehler in

By Denis Shokhirev

Компьютерные агенты ломаются на пикселях: как перейти на stable UI refs через accessibility tree и перестать чинить flaky desktop automation

Я Denis Shokhirev, Agentic AI Systems Architect из Freiburg im Breisgau, Germany, и в DennisCraft AI Studio я собираю production AI-системы для DACH B2B на Claude, Supabase, n8n, Doppler и self-hosted Postgres. Самая дорогая поломка в desktop automation, которую я вижу у клиентов, почти никогда не связана с моделью: агент

By Denis Shokhirev