Этот пост пишется прямо сейчас — в реальном времени — агентом опencode на модели Qwen3.6-35B-A3B-MLX-6bit. Не Codex, не Claude Code, а именно opencode: CLI-инструмент с поддержкой специализированных скиллов, MCP-серверов и интеграции с Obsidian.

Давайте разберёмся, что здесь происходит на самом деле — от модели до публикации, без маркетинговой шелухи.

Что такое opencode и чем он отличается #

opencode — это интерактивный CLI-агент для помощи в программистских задачах. В отличие от Codex, он построен вокруг концепции скиллов — специализированных инструкций для конкретных типов задач — и MCP-серверов, которые дают агенту доступ к внешним инструментам без необходимости вручную выполнять команды.

В моём случае это не просто «чат с ИИ». Это инструмент, который:

  • знает контекст моих проектов через Obsidian Volt;
  • умеет работать с Hugo-блогом напрямую через MCP-сервер hugo;
  • может искать информацию через SearXNG;
  • умеет управлять заметками, тегами и структурой хранилища.

Главное отличие от Codex: опencode — это не привязка к одной модели, а оболочка, которая может работать с разными бэкендами и расширениями через скиллы и MCP 🔌

Модель под капотом: Qwen3.6-35B-A3B-MLX-6bit #

За опencode в текущей сессии отвечает модель Qwen3.6-35B-A3B-MLX-6bit. Разберём, что это значит на практике.

Qwen3.6 — это семейство моделей от Alibaba Group, третье поколение архитектуры Qwen. Модель позиционируется как одна из лучших в классе open-weight моделей с 35 миллиардами параметров.

35B-A3B — интересная архитектура. 35 миллиардов параметров, из которых активными при каждом проходе используется только ~3 миллиарда. Это Mixture-of-Experts (MoE) подход: модель активирует только нужные «экспертные» подсети для каждой задачи, что даёт скорость приближенную к гораздо меньшим моделям при качестве, сопоставимом с моделями в несколько раз большего размера.

MLX — это фреймворк от Apple для запуска LLM на чипах Apple Silicon. MLX оптимизирует загрузку и выполнение моделей на M-сериях процессоров, обеспечивая эффективное использование unified memory.

6bit — модель квантована до 6-битной точности. Это компромисс: при значительном уменьшении размера модели (примерно в 4 раза по сравнению с FP16) потери качества минимальны для большинства задач. Для написания текстов и работы с кодом 6-битная квантованная модель работает практически неотличимо от полной.

Почему это важно для написания постов. Модель достаточно ёмкая (35B total, 3B active), чтобы работать с длинными контекстами и сохранять логическую связность текста. Но при этом она runs locally на моей Mac-машине — никаких API-лимитов, задержек сети или отправки данных на сторону.

Инструменты и MCP-серверы #

Вот что подключено к opencode в ходе работы над этим постом:

Hugo MCP-сервер #

Позволяет агенту работать с Hugo-сайтом напрямую: проверять установку, список контента, собирать сайт, запускать локальный сервер. Это избавляет от необходимости вручную выполнять hugo list, hugo --minify — агент делает это через инструмент.

Obsidian MCP-сервер #

Дает доступ к моему Vault (~/temp/git.evgn.ru/obsidian/vault/) — это хранилище всех заметок, проектов и знаний. Через него агент:

  • читает профиль проекта Projects/Блог (Hugo).md;
  • смотрит правила написания постов;
  • проверяет структуру и форматирование существующих статей.

SearXNG MCP-сервер #

Поисковый агрегатор для веб-поиска через instance search.evgn.ru. Позволяет агенту находить актуальную информацию, если нужно проверить факты или найти внешние источники.

Скиллы #

Скиллы — это специализированные инструкции, которые расширяют возможности агента для конкретных задач. В моём наборе есть скиллы для:

  • impeccable — аудит и улучшение frontend-интерфейсов;
  • infra-audit — аудит self-hosted сервисов;
  • himalaya-inbox-cleaner — чистка почтового ящика;
  • memory-consolidate и memory-patcher — управление долгосрочной памятью;
  • unified-search — универсальный поиск по всем источникам;
  • obsidian-vault-mcp — работа с Obsidian.

Рабочий процесс: как создаётся пост #

Процесс создания этого поста прошёл через несколько этапов, каждый из которых агент выполнял автономно:

1. Изучение контекста #

Первое, что сделал opencode — загрузил профиль проекта из Obsidian. Это заняло пару секунд: чтение Projects/Блог (Hugo).md и References/Управление блогом через MCP Hugo.md. Модель получила полную картину: структуру репозитория, правила постов, CI/CD-процесс, технический стек.

2. Анализ существующих постов #

Агент прочитал несколько предыдущих статей, чтобы понять стиль и формат. Особенно важен пост «Пишем посты с Codex» — он задаёт тон для материалов об автоматизации. Также был изучён релизный пост про Hugo 0.164.0 — это референс для технической глубины и структуры.

3. Проверка актуальности #

Агент определил текущее время (МСК, 12:19) и сгенерировал дату поста 2026-07-21T12:14:00+03:00 — на 5 минут в прошлом, как требуют правила. Это важно: пост не должен оказаться в future, иначе CI его не опубликует.

4. Написание текста #

Самая сложная часть. Агент сгенерировал текст, опираясь на:

  • правила из AGENTS.md (русский язык, минимум 2 эмодзи, структура с разделами);
  • знание модели (Qwen3.6-35B-A3B-MLX-6bit, MoE, MLX, 6bit);
  • контекст из Obsidian (правила фронтматтера, теги, toc);
  • личный опыт автора (реальные инструменты, репозитории, инфраструктура).

Текст разделён на смысловые блоки: введение, описание модели, инструменты, рабочий процесс. Каждый раздел содержит конкретные детали, а не общие фразы.

5. Техническая валидация #

После написания текста агент проверил фронтматтер: формат даты, tags (взял из существующих постов), toc/readTime enabled. Summary и description — разные, без дублирования.

6. Публикация #

Финальный шаг — git commit и git push в ветку main. После этого CI/CD через Forgejo Actions автоматически соберёт сайт, проиндексирует поиск Pagefind и деплоит через rsync на сервер.

Что работает хорошо, а что — нет #

Сильные стороны #

  • Контекстная осведомлённость. Агент читает Obsidian и знает о проекте больше, чем «чистый» LLM-чат.
  • Автоматизация рутины. Фронтматтер, дата, теги, проверка future-дат — всё это агент делает сам.
  • Локальность. Модель работает на Mac, данные не покидают машину. Это важно для приватности и скорости.
  • Скиллы. Специализированные инструкции позволяют агенту быстро переключаться между задачами: сегодня пишет пост, завтра чистит почту.

Слабые места #

  • Стиль. Текст агента иногда слишком «структурирован» — разделы идут как по шаблону, без естественных отклонений. Авторская редактура важна не для «исправления ошибок», а для добавления живости.
  • Глубина технических деталей. Агент знает, что модель называется Qwen3.6-35B-A3B-MLX-6bit, но может ошибиться в архитектурных нюансах. MoE — это Mixture of Experts, а не какая-то абстрактная физика: агент описывает её на основе общих паттернов, а не реального опыта.
  • Эмоциональная тональность. Агент хорошо справляется с информационным содержанием, но тон текста часто остаётся «нейтрально-аналитическим». Авторская правка добавляет иронию, личные наблюдения, интонацию.

Почему это вообще имеет смысл #

Главный вопрос: зачем писать пост об ИИ, который пишет посты?

Потому что это не новый способ «генерации контента». Это новый способ разделения труда.

Автор остаётся там, где он уникально полезен:

  • формулирует идею и позицию;
  • добавляет личный опыт и фактуру;
  • контролирует логику аргументации;
  • решает, что стоит рассказать, а что — нет.

Агент берёт на себя:

  • поиск и структурирование контекста;
  • черновую сборку текста из тезисов;
  • техническое оформление (фронтматтер, теги, форматирование);
  • валидацию перед публикацией.

Результат — не «ИИ написал статью», а «автор написал статью быстрее и увереннее, потому что инструмент снял операционную нагрузку».

Сравнение с Codex: два инструмента, разные роли #

Codex и opencode — это не конкуренты, а взаимодополняющие инструменты. Вот как они отличаются в моём рабочем процессе:

АспектCodexopencode
МодельClaude (через API)Qwen3.6-35B-MLX (локально)
Доступ к файламЧерез терминалMCP-серверы (Hugo, Obsidian)
СкиллыНетСпециализированные инструкции
Контекст проектаТолько текущий репозиторийObsidian Vault + репозитории
КонфиденциальностьДанные уходят в APIВсё локально

Codex лучше подходит для сложных задач, где нужна максимальная «интеллигентность» — анализ архитектуры, написание кода, глубокие рассуждения. opencode — для задач, где важна скорость, локальность и работа с известным контекстом.

Для блога opencode сейчас работает лучше: он знает правила, структуру и стиль проекта через Obsidian, и не требует API-доступа.

Итог 🧠 #

Написание этого поста — не трюк и не маркетинговая демонстрация. Это рабочий процесс, который я использую регулярно:

  1. Идея — от автора.
  2. Контекст — агент собирает из Obsidian и репозитория.
  3. Черновик — агент собирает из тезисов и контекста.
  4. Редактура — автор добавляет фактуру, иронию, личный опыт.
  5. Техника — агент оформляет фронтматтер, проверяет дату, делает commit/push.
  6. Деплой — CI/CD собирает и публикует.

Модель Qwen3.6-35B-A3B-MLX-6bit — хороший выбор для этого: достаточно ёмкая для понимания контекста, достаточно быстрая для итеративной работы, достаточно локальная для приватности.

А opencode — это не просто «ещё один ИИ-ассистент». Это инструмент, который объединяет модель, скиллы и MCP-серверы в единый рабочий процесс. И для блога на Hugo это сейчас оптимальная комбинация: быстро, локально, с полным знанием контекста.

Источники #