Из правил llama.cpp.
Странно, правда? ИИ это же так хорошо.
Строго говоря, я не могу оправлять свой патч к llama.cpp пока до конца не пойму код который меняю. Я кстати горячо одобряю такой подход.
Да, я тут небольшой баг в грамматике gemma поправил чтоб Hindsight не циклило, две строки. В принципе я это исправление умею автоматом накладывать. llama.cpp все равно ставится компиляцией из исходников, элементарно сделать автоматическое наложение патча.
• AI-written PR descriptions, commit messages, or reviewer responses
→ immediate closure per AGENTS.md
• Undisclosed AI usage → possible permanent ban per CONTRIBUTING.md
• Contributors must "understand their code fully — able to explain any change to a reviewer without AI assistance"
Странно, правда? ИИ это же так хорошо.
Строго говоря, я не могу оправлять свой патч к llama.cpp пока до конца не пойму код который меняю. Я кстати горячо одобряю такой подход.
Да, я тут небольшой баг в грамматике gemma поправил чтоб Hindsight не циклило, две строки. В принципе я это исправление умею автоматом накладывать. llama.cpp все равно ставится компиляцией из исходников, элементарно сделать автоматическое наложение патча.
🔥7
Перед тем как перейти к вопросу памяти, давайте вернёмся к вопросу агента и архитектуры ИИ в целом.
1. Мы не хотим зависеть от провайдера LLM
Не зависеть от него просто – вы не должны хранить свои чаты и данные у этого провайдера. Этот провайдер должен давать вам услуги инференса, и ничего кроме них. В любую секунду вы должны иметь возможность заменить его на другого.
Это не обязательно означает что у вас должна быть своя личная модель дома. Это означает отсутствие зависимости от конкретной модели и её поставщика.
2. Значит, нам нужна программа, которая хранит чаты локально
Это и есть агент. Он должен работать у вас, и хранить данные у вас. Он не должен быть привязан к поставщику. Он должен иметь возможность работать с дешёвыми подписками. Он должен давать возможность переключаться на локальную модель если вы хотите.
3. Файлы и компьютер
Раз эта штука работает у вас на компьютере — она имеет принципиальную возможность менять файлы, запускать там команды, смотреть на экран, и пр. В общем – делать все что делаете вы.
И это гораздо круче чем просто онлайн-чат. Я уже давно администрирую все свои компьютеры агентами.
Но самое главное — файлы это память за пределами чат-сессии, которая доступна агенту и которой вы можете управлять.
4. Автоматическая Память
И вот тут мы приходим к самому интересному. Файлы это память агента, которой мы управляем вручную. А что если мы дадим ему память, которой он может управлять автоматически, как это делает человек со своей памятью?
То есть, что если он будет сам выделять важное, запоминать это, и вспоминать когда это полезно?
Работы над такой памятью сейчас ведутся очень активно, и наиболее перспективным мне кажется Hindsight. Я протестировал его локально. Он сырой и пока прототип, но реально скорее работает как заявлено, чем нет.
Подвох в том что Hindsight требует LLM API а не подписки, генерирует кратно больший траффик чем чат к которому он подключен, и легко вас разорит. Ему нужна локальная модель. И это самый сильный кейс для собственного ИИ сервера.
5. Но какой агент выбрать чтобы вот это все было?
Это просто. Hermes.
Работает с подписками OpenAI/Codex, xAI/Grok. Локальными моделами. И Hindsight.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥1
Gaperton's Tech Corner
То есть, говоря об агентской архитектуре, мы говорим о чем-то вот таком.
Нюанс — Hindsight-у необходима локальная модель. Фронтир ему не нужна — хватает Qwen 35B-A3B или даже gpt-oss-20b.
Под нужды Hindsight хватит 24-32GB VRAM. Macbook Pro потянет вообще без проблем.
Нюанс — Hindsight-у необходима локальная модель. Фронтир ему не нужна — хватает Qwen 35B-A3B или даже gpt-oss-20b.
Под нужды Hindsight хватит 24-32GB VRAM. Macbook Pro потянет вообще без проблем.
🔥4
Промежуточные выводы из экспериментов с Hindsight
Что вообще делает LLM в Hindsight? Две вещи:
• решает, что из потока сознания достойно запоминания, и разрезает это на набор фактов чтобы их запомнить.
• для каждого нового факта, обновляет набор относящих к нему убеждений.
По сути, это два промпта с довольно простой задачей, и для них не надо ни суперинтеллекта, ни знать все на свете. С ними вполне адекватно справляется малая модель. И эта модель должна быть быстрой. Там должен быть отключен thinking.
1. gpt-oss-20b неожиданно хороша
Эта старая модель крайне плохо выглядит в тестах. Но потрясающе хорошо в тестах Hindsight. Она дьявольски быстра, отлично следует инструкциям, и вполне адекватно понимает язык. А ничего больше в общем и не нужно.
Она маленькая — Q8_K_XL это 13GB. Она прекрасно параллелится на три потока в llama.cpp. Она отрабатывает за 2-3 секунды на запрос. Качество результатов на этой задаче на удивление высокое, и мало отличается от фронтир-моделей.
2. Gemma4-26B-A4B ничем не лучше, но вдвое медленнее
Представляете? Предварительные замеры показывают — вообще нет разницы в качестве. Есть в два раза разница в скорости, плюс необходим патч для llama.cpp чтобы оно вообще работало. Там проблемы с tool calling.
3. Qwen3.6-35A-A3B немного лучше, и немного медленнее
По качеству поиска, она лучше на полшишки. Но она при этом генерирует заметно меньше фактов и убеждений. Она медленнее, но не критично.
Эту модель можно пробовать как альтернативу. В целом, 35A-A3B это лучшая севременная быстрая модель для подобных применений.
4. Gemma4-31B на удивление неплоха (вы думали полное дерьмо, но нет)
Штука в том, что она генерирует втрое меньше токенов, чем Qwen-27B. Поэтому, в задаче judge в тестах (проверка ответов), она невероятно быстра. Qwen-27B это 10 секунд, Gemma-31B это 6, Qwen-35B это 4.
Я оставляю ее на judge просто потому, что она из другого семейства моделей. И не будет подсуживать Qwen.
Что вообще делает LLM в Hindsight? Две вещи:
• решает, что из потока сознания достойно запоминания, и разрезает это на набор фактов чтобы их запомнить.
• для каждого нового факта, обновляет набор относящих к нему убеждений.
По сути, это два промпта с довольно простой задачей, и для них не надо ни суперинтеллекта, ни знать все на свете. С ними вполне адекватно справляется малая модель. И эта модель должна быть быстрой. Там должен быть отключен thinking.
1. gpt-oss-20b неожиданно хороша
Эта старая модель крайне плохо выглядит в тестах. Но потрясающе хорошо в тестах Hindsight. Она дьявольски быстра, отлично следует инструкциям, и вполне адекватно понимает язык. А ничего больше в общем и не нужно.
Она маленькая — Q8_K_XL это 13GB. Она прекрасно параллелится на три потока в llama.cpp. Она отрабатывает за 2-3 секунды на запрос. Качество результатов на этой задаче на удивление высокое, и мало отличается от фронтир-моделей.
2. Gemma4-26B-A4B ничем не лучше, но вдвое медленнее
Представляете? Предварительные замеры показывают — вообще нет разницы в качестве. Есть в два раза разница в скорости, плюс необходим патч для llama.cpp чтобы оно вообще работало. Там проблемы с tool calling.
3. Qwen3.6-35A-A3B немного лучше, и немного медленнее
По качеству поиска, она лучше на полшишки. Но она при этом генерирует заметно меньше фактов и убеждений. Она медленнее, но не критично.
Эту модель можно пробовать как альтернативу. В целом, 35A-A3B это лучшая севременная быстрая модель для подобных применений.
4. Gemma4-31B на удивление неплоха (вы думали полное дерьмо, но нет)
Штука в том, что она генерирует втрое меньше токенов, чем Qwen-27B. Поэтому, в задаче judge в тестах (проверка ответов), она невероятно быстра. Qwen-27B это 10 секунд, Gemma-31B это 6, Qwen-35B это 4.
Я оставляю ее на judge просто потому, что она из другого семейства моделей. И не будет подсуживать Qwen.
huggingface.co
unsloth/gpt-oss-20b-GGUF · Hugging Face
We’re on a journey to advance and democratize artificial intelligence through open source and open science.
🔥4
https://x.com/rohanpaul_ai/status/2086769766937837777?s=20
Meta выпустила модель, которая на бумаге сильно лучше Gemma4-31B.
Qwen3.8-27B выходит через несколько дней. Все ждут что она вытрет этой моделью от меты пол.
Meta выпустила модель, которая на бумаге сильно лучше Gemma4-31B.
Qwen3.8-27B выходит через несколько дней. Все ждут что она вытрет этой моделью от меты пол.
🔥4
Если вам нужны дешевые и умные модели, то сейчас расклад такой, согласно Artificial Analysis.
При такой цене на DeepSeek V4 Flash его можно наверное покупать на вес, как бэкап, когда подписка кончается. Сделал подписку на OpenRouter чтобы брать его там. В принципе цена на него как на ChatGpt Luna.
При такой цене на DeepSeek V4 Flash его можно наверное покупать на вес, как бэкап, когда подписка кончается. Сделал подписку на OpenRouter чтобы брать его там. В принципе цена на него как на ChatGpt Luna.
Gaperton's Tech Corner
Если вам нужны дешевые и умные модели, то сейчас расклад такой, согласно Artificial Analysis. При такой цене на DeepSeek V4 Flash его можно наверное покупать на вес, как бэкап, когда подписка кончается. Сделал подписку на OpenRouter чтобы брать его там. В…
А для самостоятельного хостинга вот.
Gaperton's Tech Corner
#tomorrow
В Х массовая истерия по поводу 27B. Ждут чего-то не слабее чем Opus. От херни которая работает в 24GB VRAM.
👍4
Я устал целовать в жопу молодых специалистов, и поэтому накатал специальные правила, как вести себя во время дискуссий группового проектирования. Ну и вообще – технических дискуссий. Они нарушают каждый пункт. Поэтому ничего лишнего здесь нет.
Может кому полезно окажется в общем. Это всё не так просто перевести в слова.
Design Discussion Rules
I’d like to establish a few communication rules for our design discussions to make them more effective and reduce unnecessary back-and-forth:
Uncertainty and misunderstanding:
✔️ Be explicit about uncertainty. If you don’t know, acknowledge that directly. Ask questions when the missing information could materially change the outcome.
✔️ Be explicit about misunderstanding. If something is unclear or underspecified, say so directly rather than guessing. When a reasonable assumption is sufficient, state the assumption explicitly and proceed.
✔️ Change the explanation when something isn’t understood. If someone says they didn’t understand or repeats the same question, explain it differently rather than repeating the same explanation or pointing out that it was already given.
Questions and answers:
✔️ Answer the question actually asked. Don’t substitute a different or adjacent question because it seems more useful, more important, or easier to answer. If the premise is incorrect, say so directly.
✔️ Match the form of the answer to the question. For a yes/no question, lead with “yes,” “no,” or “not sure.” Add an explanation afterward if needed.
Precise speech:
✔️ Maintain terminological stability. Use the same term for the same concept unless a distinction is intentional. Choose the clearest and most specific wording. Avoid unnecessary synonyms, decorative language, and rhetorical devices used mainly to make the language sound polished.
✔️ Use explicit references. Prefer specific names, objects, components, or concepts over pronouns when a pronoun could make the meaning ambiguous or require the reader to infer the reference.
✔️ Use active voice when possible. Make the actor and action explicit unless passive voice is necessary for clarity or precision.
These rules are intended to keep design discussions focused, clear, and efficient. Please follow them going forward.
Может кому полезно окажется в общем. Это всё не так просто перевести в слова.
Design Discussion Rules
I’d like to establish a few communication rules for our design discussions to make them more effective and reduce unnecessary back-and-forth:
Uncertainty and misunderstanding:
✔️ Be explicit about uncertainty. If you don’t know, acknowledge that directly. Ask questions when the missing information could materially change the outcome.
✔️ Be explicit about misunderstanding. If something is unclear or underspecified, say so directly rather than guessing. When a reasonable assumption is sufficient, state the assumption explicitly and proceed.
✔️ Change the explanation when something isn’t understood. If someone says they didn’t understand or repeats the same question, explain it differently rather than repeating the same explanation or pointing out that it was already given.
Questions and answers:
✔️ Answer the question actually asked. Don’t substitute a different or adjacent question because it seems more useful, more important, or easier to answer. If the premise is incorrect, say so directly.
✔️ Match the form of the answer to the question. For a yes/no question, lead with “yes,” “no,” or “not sure.” Add an explanation afterward if needed.
Precise speech:
✔️ Maintain terminological stability. Use the same term for the same concept unless a distinction is intentional. Choose the clearest and most specific wording. Avoid unnecessary synonyms, decorative language, and rhetorical devices used mainly to make the language sound polished.
✔️ Use explicit references. Prefer specific names, objects, components, or concepts over pronouns when a pronoun could make the meaning ambiguous or require the reader to infer the reference.
✔️ Use active voice when possible. Make the actor and action explicit unless passive voice is necessary for clarity or precision.
These rules are intended to keep design discussions focused, clear, and efficient. Please follow them going forward.
👍19❤7🔥6
Кстати, AtomicChat никто не пробовал? У них тоже неплохая квантизация как у unsloth.
На тему того какую выбирать — напоминаем. Минимум это Q4, рабочий выбор Q5, если есть память и нужно больше качества то Q6. Дальше народ перестает на глаз замечать разницу, особенно с динамическими квантами как у unsloth.
Это для малых моделей. А для 200B+ параметров тесты показывают что даже Q3 и Q2 в динамических квантах не так плохо.
Для k/v cache квантизация должна быть Q8 или F16. То есть, малую модель надо трамбовать в VRAM в кванте Q4 с kv-cache Q8.
На тему того какую выбирать — напоминаем. Минимум это Q4, рабочий выбор Q5, если есть память и нужно больше качества то Q6. Дальше народ перестает на глаз замечать разницу, особенно с динамическими квантами как у unsloth.
Это для малых моделей. А для 200B+ параметров тесты показывают что даже Q3 и Q2 в динамических квантах не так плохо.
Для k/v cache квантизация должна быть Q8 или F16. То есть, малую модель надо трамбовать в VRAM в кванте Q4 с kv-cache Q8.
👌2🤔1
Gaperton's Tech Corner
Кстати, AtomicChat никто не пробовал? У них тоже неплохая квантизация как у unsloth. На тему того какую выбирать — напоминаем. Минимум это Q4, рабочий выбор Q5, если есть память и нужно больше качества то Q6. Дальше народ перестает на глаз замечать разницу…
Qwen3.8-27B — только что жене отдал тестировать.
У меня AMD R9700 32GB.
Модель unsloth Q6_K_XL
Это дает примерно 170К токенов контекста в Q8.
Скорость генерации 41 t/s (c OTP). Живенько.
В 24GB VRAM тоже можно запустить. Но придется жить поскромнее. Никакого Q6.
R9700 по скорости почти один в один как Apple M5 Max. Это практический минимум что можно терпеть. "Удовлетворительно", то есть тройка.
У меня AMD R9700 32GB.
Модель unsloth Q6_K_XL
Это дает примерно 170К токенов контекста в Q8.
Скорость генерации 41 t/s (c OTP). Живенько.
В 24GB VRAM тоже можно запустить. Но придется жить поскромнее. Никакого Q6.
R9700 по скорости почти один в один как Apple M5 Max. Это практический минимум что можно терпеть. "Удовлетворительно", то есть тройка.
А это тест, который я провел на своем R9700. Он показывает, насколько скорость декодирования dense модели Qwen зависит от квантизации и MTP. Квантизация взята от unsloth.
Здесь я тестировал 3.6, но на новой модели 3.8 будет примерно то же самое.
Как видите, за Q5 вы в сравнении с Q4 почти ничего не платите.
Здесь я тестировал 3.6, но на новой модели 3.8 будет примерно то же самое.
Как видите, за Q5 вы в сравнении с Q4 почти ничего не платите.