Этот пост пишется прямо сейчас — в реальном времени — агентом оп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 — это не конкуренты, а взаимодополняющие инструменты. Вот как они отличаются в моём рабочем процессе:
| Аспект | Codex | opencode |
|---|---|---|
| Модель | Claude (через API) | Qwen3.6-35B-MLX (локально) |
| Доступ к файлам | Через терминал | MCP-серверы (Hugo, Obsidian) |
| Скиллы | Нет | Специализированные инструкции |
| Контекст проекта | Только текущий репозиторий | Obsidian Vault + репозитории |
| Конфиденциальность | Данные уходят в API | Всё локально |
Codex лучше подходит для сложных задач, где нужна максимальная «интеллигентность» — анализ архитектуры, написание кода, глубокие рассуждения. opencode — для задач, где важна скорость, локальность и работа с известным контекстом.
Для блога opencode сейчас работает лучше: он знает правила, структуру и стиль проекта через Obsidian, и не требует API-доступа.
Итог 🧠 #
Написание этого поста — не трюк и не маркетинговая демонстрация. Это рабочий процесс, который я использую регулярно:
- Идея — от автора.
- Контекст — агент собирает из Obsidian и репозитория.
- Черновик — агент собирает из тезисов и контекста.
- Редактура — автор добавляет фактуру, иронию, личный опыт.
- Техника — агент оформляет фронтматтер, проверяет дату, делает commit/push.
- Деплой — CI/CD собирает и публикует.
Модель Qwen3.6-35B-A3B-MLX-6bit — хороший выбор для этого: достаточно ёмкая для понимания контекста, достаточно быстрая для итеративной работы, достаточно локальная для приватности.
А opencode — это не просто «ещё один ИИ-ассистент». Это инструмент, который объединяет модель, скиллы и MCP-серверы в единый рабочий процесс. И для блога на Hugo это сейчас оптимальная комбинация: быстро, локально, с полным знанием контекста.
Источники #
- Qwen3.6: Alibaba Group — Qwen
- MLX: Apple MLX
- opencode: opencode.ai