Пи-кодирующий агент с Qwen 35B Q2: Использование файловой системы как внешней памяти и обеспечение контекстных ограничений

Пользователь Reddit поделился своим подходом к агентному кодингу с локальными LLM, построенным на Pi coding agent с Qwen 35B (квант Q2_K_XL через LM Studio). Ключевая идея: рассматривать LLM как процессор логики, а не как базу данных контекста. Реализация применяет строгие ограничения на уровне API — модель не может их обойти.
Ключевые ограничения, налагаемые системой
- Лимит записи/редактирования: Отклоняет любой вывод длиннее 100 строк. Модель должна сначала написать скелет, затем заполнять по одному разделу за раз. Если она пытается выгрузить полный файл, вызов блокируется с инструкцией разделить работу.
- Лимит блока размышлений: Если рассуждения модели превышают 2000 символов, она получает корректировку — записать выводы на диск и двигаться дальше.
- Мониторинг контекста: При 65% использования контекста модели предписывается записать своё состояние в файлы. При 80% всё останавливается — модель записывает свой 'мозг' на диск, пока ещё связно.
- Постоянный вывод: Если модель даёт длинный ответ без записи файла, ей поручается сохранить результаты в файл шага. Ничто не остаётся только в контексте.
Структура внешней памяти
Система использует каталоги .think/ и .plan/ как внешнюю память модели. Каждый шаг, решение и вывод записываются в файл. При сжатии контекста модель читает свои собственные заметки. Цель сессии сохраняется отдельно в _purpose.md и повторно внедряется после сжатия контекста, сохраняя изначальную задачу.
Дистилляция знаний
Команда /distill обходит кодовую базу, строит граф импорта, топологически сортирует файлы и заставляет модель резюмировать их по одному за раз в базу знаний. Манифест разбивается на страницы по 50 файлов, чтобы не расходовать весь контекст. Пользователи могут помещать файлы вроде svelte5-gotchas.md или astro-gotchas.md в папку знаний; отдельный вызов LLM выбирает, какие из них релевантны текущей задаче, и только их содержимое внедряется в основной разговор.
Реальный результат
Пользователь попросил модель создать игру-симулятор полёта на Three.js. Первая попытка выдать 652 строки за один вызов была отклонена защитой. Модель перепланировала, написала скелет, а затем заполняла функции по одной правке за раз. Итогом стала рабочая игра с 3D-моделью самолёта, препятствиями, HUD, миникартой и экранами начала/конца игры — всё на Q2 кванте.
Полная настройка работает на квантовании Q2_K_XL как минимальном; пользователь отмечает, что Q4 или Q8 должны дать лучшие результаты. Код доступен на GitHub: github.com/Kodrack/Pi-forge.
📖 Читать полный источник: r/LocalLLaMA
👀 Смотрите также

Mneme: Предварительный хук, блокирующий правки кода Claude, нарушающие архитектурные решения
Mneme — это PreToolUse-хук для Claude Code, который проверяет каждое действие Edit/Write/MultiEdit по локальному файлу решений перед записью на диск, блокируя нарушения без ручного вмешательства.

ClearSpec: Генератор спецификаций для снижения галлюцинаций в коде Claude
ClearSpec — это инструмент, который генерирует структурированные спецификации из простых описаний на английском языке, подключается к репозиториям GitHub для ссылок на реальные пути к файлам и зависимости, а затем использует эти спецификации в качестве промптов для Claude Code, чтобы предоставить более качественный контекст.

Сервер Soul MCP добавляет постоянную память и безопасность для локальных LLM
Soul — это сервер MCP с открытым исходным кодом, который обеспечивает постоянную память между сессиями для локальных LLM с помощью двух команд: n2_boot при запуске и n2_work_end при завершении. Он включает функции безопасности Ark, которые блокируют опасные команды, такие как rm -rf и DROP DATABASE, без затрат токенов, а также настройку облачного хранилища.
Usage4Claude 3.0.0:适用于Claude和Codex的开源macOS菜单栏追踪器
Usage4Claude 3.0.0 добавляет опциональную поддержку Codex, встроенный вход в браузере для Claude, переключение между несколькими аккаунтами и локализованные уведомления.