Последние 2-3 дня занимался составлением кода для агента в PAC1-DEV Рината Абдуллина (https://t.iss.one/llm_under_hood/779) Первоначальная версия на опенсорсных моделях решала от 15 до 19 задач из 22, модели использовал qwen3-30b-a3b, qwen3-next-80b-a3b, qwen3-4b и gpt-oss-20b (спасибо Паше!), qwen3.5-35b-a3b и gpt-oss-120b (спасибо Валере!). Сегодня переделал немного архитектуру агента и на qwen3-next80b смог достичь 100% успеха - 22/22, осталось на других моделях протестировать и поправить промпты, чтобы не было моделезависимого решения. Также занимаюсь подготовкой к внутреннему митапу AI для разработчиков, буду выступать там с темой небольших llm, готовлю презентацию.
Telegram
LLM под капотом
Псст, я выложил первые задачи на PAC1-DEV
Sample agent находится тут - https://github.com/bitgn/sample-agents/tree/main/pac1-py
В этот дроп задач встроена история Джона - начинающего AI инженера, который завел себе Obsidian Vault по мотивам OpenAI Engineering…
Sample agent находится тут - https://github.com/bitgn/sample-agents/tree/main/pac1-py
В этот дроп задач встроена история Джона - начинающего AI инженера, который завел себе Obsidian Vault по мотивам OpenAI Engineering…
👍3
Черновик презентации сделал, как и доклад с заметками. Занимался дальше адаптацией агента для новых задач. Смог на двух моделях qwen3-next-80b-a3b и qwen3.5-35b-a3b сделать выполнение 30 из 30 задач. Возможно получившийся вариант выложу на гитхабе после окончания активной фазы контеста. Хочу заметить, что выбранные модели как раз из тех, что могут выполняться на gpu 8Гб (активных 3 млрд. параметров, при fp8 - это 3ГБ памяти, на q4 - 1,5 Гб. И часть памяти можно использовать под MoE (эти модели как раз такого класса) и контекст.
❤2
Взялся поисследовать небольшую модель на 350 млн. параметров, она не поддерживает so, но вместо этого есть возможность использовать GBNF грамматику - это специальная форма Бэкуса-Наура. Мне она известна еще со времен учебы, когда изучал теорию языков программирования. Любой ЯП можно описать в этой форме.
Пример такой грамматики:
кроме этого модель также поддерживает и tool calls, а это значит, что она отличный кандидат для написания небольших агентов (такое количество параметров дает возможность запускать на cpu и на vps/vds без доступа к gpu на вполне приемлемой скорости)
не дорабатывал (и не проверял) еще на всех 40 задачах в PAC1-DEV, но 31 из 31 решала успешно с агентской обвязкой по моему алгоритму. Обязательно попробую позапускать эту модель на агентских бенчмарках, расскажу в следующий раз об этом
Пример такой грамматики:
grammar_string = r"""
root ::= "{" pair ("," pair)* "}"
pair ::= string ":" list
list ::= "[" value ("," value)* "]"
value ::= string | number
string ::= "\"" [a-zA-Z0-9_]+ "\""
number ::= [0-9]+
"""
кроме этого модель также поддерживает и tool calls, а это значит, что она отличный кандидат для написания небольших агентов (такое количество параметров дает возможность запускать на cpu и на vps/vds без доступа к gpu на вполне приемлемой скорости)
не дорабатывал (и не проверял) еще на всех 40 задачах в PAC1-DEV, но 31 из 31 решала успешно с агентской обвязкой по моему алгоритму. Обязательно попробую позапускать эту модель на агентских бенчмарках, расскажу в следующий раз об этом
👍3
Выложил сегодня правки по агенту для PAC1-dev на моделях LFM2.5-350M и LFM2.5-1.2B-Instruct набирают 40 из 40 задач. С кодом можно ознакомиться тут - https://github.com/snow-ghost/sample-agent
Часть задач покрыты эвристикой и не требуют использования LLM для их решения, впрочем, в коде можно все посмотреть
Часть задач покрыты эвристикой и не требуют использования LLM для их решения, впрочем, в коде можно все посмотреть
👍5
сегодня с первой попытки на 3-х новых задачах вышел в топ-1, продолжаю заниматься доработками агента, на данный момент уже 352 тестовых сценария для проверки работы связки агента + ллм. На локальных моделях типа 350M/1.2B также выполняются все задачи успешно. Не знаю, что будет на соревновании в субботу, но готовлюсь встретить, текущий код обновил в репе, мне нежалко ) также продолжаю работать над mcp сервером для памяти, нашел бенчмарк в сети LongMemEval, пока 47.8% буду продолжать его вечерами дорабатывать, идей по улучшению хватает.
🔥9👍3
Сегодня еще довел данное решение до более стабильного, на тестах вместо 16 уже 22 вызова llm (такое малое количество вызовов говорит лишь о том, что выполняемые сначала проверки на безопасность отсеивают задачи до вызова, но если задача не будет поддаваться эвристике, то дойдет до этапа вызова llm и не одного, если потребуется, и решение будет уже с ее помощью)
Кроме этого начал реализацию новой версии агента с помощью роевого интеллекта. Завтра буду подбивать итоги на чем именно остановиться и какой из вариантов стоит использовать уже на реальном прод прогоне. Самое успешное решение (даже если это будет не текущий вариант), выложу на гх в субботу.
Кроме этого начал реализацию новой версии агента с помощью роевого интеллекта. Завтра буду подбивать итоги на чем именно остановиться и какой из вариантов стоит использовать уже на реальном прод прогоне. Самое успешное решение (даже если это будет не текущий вариант), выложу на гх в субботу.
🔥5👍1
Поисследовал в разных llm + в своих рисерч тимах проблематику написания персонального агента (для участия в PAC1) в итоге сформировался неплохой вариант комбо из MRKL-роутера, ReAct, Plan-and-Solve и RAG. Роутер маршрутизирует запросы к подмодулям - RAG/файловая навигация/планировщик/валидатор. И наворот в виде роевого ансамбля - судьи-классификаторы на этапе самоулучшения, когда малая LLM читает отчет анализатора и решает - это инъекция и нарушение политики или цикл вызова тулов и дегенерация или протокольная ошибка, что позволяет отбрасывать кандидатов, второй вариант - роевое оценивание, когда не один судья, а набор 5-9 дешевых судей с разными инструкциями (строгий безопасник, минимизатор вызовов инструментов, планировщик-критик и т.д.), далее голосование или агрегация. Тема интересная и возможно с ней что-то можно было бы сделать, но это если успею за завтра провести обучение и успею с ним до начала соревнования. Ну а если не успею, то попробую другой вариант. Как я уже говорил, на победу не рассчитываю, так как мой выбор в пользу OSS LLM, причем не самой лучшей. Просто поучаствую, чтобы набрать опыта работы с такими агентами. Ну и доступ к бесплатному бенчмарку для обкатки идей и теорий. =)
🔥1
с мем-агентом сегодня вышло уже так, в клодкоде разочарование, составил план через speckit, анализировал, создавал таски, имплементация была разбита на 5 фаз, по 20+ задач в каждой фазе, в итоге собрал решение сегодня утром, натравил его на pac1-dev - 0, пытался запускать через клодкод эволюцию решения, молотил несколько часов, ввел меня в заблуждение, что все сломалось у провайдера моделей, по-прежнему 0. Ну и с той версией, что выкладывал на гитхаб на qwen3-next-80b-a3b от 21 до 30 на pac1-prod. Больше доверять кодовому агенту проектировать не буду. Потратил совсем немного времени, по сути только промптил несколько десятков раз, но на этом все. Сам же умею нормально все проектировать, а тут понадеялся на бездушную программу. Даже в такой мелочи не стоит перекладывать решение. А я запросил исследование от llm, потом эту же llm попросил спроектировать и реализовать и получилось то, что получилось. Спасибо Ринату за возможность погонять бенчмарк, придумаю в следующий раз нормальный вариант )
❤2
наработки по мем агенту, продолжаю его улучшать. Попробовал еще пару идей по PAC1 - одна идея на DAG, другая на Swarm, клодкод отчаянно говорит, что на активных 3 млрд далеко не уехать, нужно от 7 до 14 млрд, поэтому или попробую что-то запустить через dflash чтобы быстрее работало, либо продолжать мучиться с активными 3b, либо вообще пойти на lfm 1.2b которая на моем цпу выдает 50 токенов/с что в принципе неплохо, да и lfm2.5 выпущена позже... Думаю, как будет время, попробую все эти варианты. Стабильно стараюсь выделять 1-2 часа времени по будням на активный промптинг с перерывами на домашние дела
❤2👍2
Сегодня еще больше улучшил мем агента, релиз пока не выпускал, завтра вечером прогоню бенчмарки, посмотрю на результаты. Кажется, нашел вариант решения большинства задач pac1-dev без эвристики и хардкода (тренируюсь пока на дев-задачах, чтобы попробовать вслепую сделать прогон на прод и посмотреть результаты). Также читаю понемногу книгу про мультиагентные системы. Запомнилась сегодня одна идея оттуда, поделюсь со всеми. Само построение МАС можно представить как процесс самоорганизации и поиска баланса противоположных интересов базовых агентов на основе рыночных механизмов. То есть, система должна состоять из агентов заказов и агентов ресурсов, и на основе спросов и предложений устанавливать баланс. И минимальный набор характеристик агента - активность, реактивность, автономность, общительность и целенаправленность. Ну и помимо теории нужно будет все проверить на практике. Сделаю обязательно проект, выложу на гх, потом буду соединять с фабрикой агентов (и обновлять ее под будущую МАС).
❤1
Взял mempalace и решил проверить, каким образом они на longmemeval получили 96.6% секрет оказался простым, они подготовили специальным образом 500 вопросов к бенчмарку, на общих вопросах тест R@5 показал в районе 65%. Также продолжал доработку своего агента. Помучил немного PAC1-dev, потом решил посмотреть на получившийся код. Как оказалось, "для совместимости" старые куски кода также остаются в решении. Потребовал от агента очистки кода от ненужного мусора, а итоге после работы все осталось на своих местах. Придется делать жестче, откатиться в гите на версию Рината и начинать заново, агенту верить нельзя. Еще из интересного, прочитал пост Паши про роевых агентов и оркестратора скиллов. У меня немного иное представление работы МАС. Каждый агент в ней (упрощенно) - это система из трех основных элементов: База знаний (БЗ), Планировщик и Ресурсы. Или в современных реалиях, Планировщик - составленный промпт + guard rails, Ресурсы - это набор скиллов или инструментов. База знаний - некая память, которая позволяет не только сохранять какие-то промежуточные результаты, но и служить основой для эволюций агента.
👍1
Использование ИИ снижает настойчивость и ухудшает самостоятельность! Пользоваться с осторожностью и осознавать риски! Дней 10 назад вышло исследование ученых на эту тему, смотрели на группы людей, изучали реакции и способность решать задачи с ИИ и без него. Также заметили, что самый сильный негативный эффект у тех пользователей, которые спрашивают ИИ напрямую, а не пользуются для подсказок и уточнений. https://ai-project-website.github.io/AI-assistance-reduces-persistence/
Сама статья тут - https://arxiv.org/pdf/2604.04721
А сегодня релизы шли за релизами, обновилось несколько продуктов разных компаний, появился Claude Opus 4.7 который стал лучше, чем предыдущий и чуть лучше прямого конкурента.
Проектами почти не занимался, погряз в новостном хаосе и почитал еще книгу про МАС, выводы из прочитанного записываю себе на бумагу, буду потом использовать в разработках некоторые идеи.
Сама статья тут - https://arxiv.org/pdf/2604.04721
А сегодня релизы шли за релизами, обновилось несколько продуктов разных компаний, появился Claude Opus 4.7 который стал лучше, чем предыдущий и чуть лучше прямого конкурента.
Проектами почти не занимался, погряз в новостном хаосе и почитал еще книгу про МАС, выводы из прочитанного записываю себе на бумагу, буду потом использовать в разработках некоторые идеи.
Сегодня занимался доработками в мем агенте, отрефакторен код, убраны дубли в логике, релакс content_hash, production scoping, L# cache в ядре, осталось multi-hop декомпозиция, стэк Q2D+L#+scoped, FTS4, GrapRAG, A-MEM и Matryoshka - для прохождения слабых категорий на LongMemEval бенчмарке. Рисерч тима от кодекса (она первая, вторая от клода уже имеет графический интерфейс, показывал ранее) готова к прохождению бенчмарков + добавить туда слой памяти в виде мем агента + ввести счетные карточки (scorecard) + петля автоматической оптимизации промптов/политик. Для PAC1 готовлю также новую схему агента, сегодня добавил туда поддержку workflow для inbox/Communication/Exception, вчера добавил поддержку памяти, а общая архитектура строится на: Policy‑First ReAct + Relational/Program Executor + Memory OS + Structured Output Guard
🔥5❤1
Встретил сегодня рассуждения Андрея Карпаты про то, что нужно сделать когнитивное ядро, которое в себе будет аккумулировать решения задач, рассуждения. А знания должны находиться во внешней памяти. Моя фабрика агентов - это нечто похожее, также есть память в виде базы знаний, есть воркеры, которые выполняют алгоритмы из БЗ. Сейчас я по кусочкам делаю решение, похожее на то, что предложил Андрей, а именно мем агент в формате mcp-сервера. Сами агенты, в виде harness над llm, а именно рисерч тима, главной особенностью которой будет генерация гипотез + проверка + фиксация как факт/неудача/требует уточнения, далее добавятся еще части. По сути это будет фабрика 2.0 с переосмыслением на использование llm более продвинутым способом с harness обвязкой, а не только промпты, как было в 1-ой версии. И проверяю гипотозу для PAC1 с учетом открытых моделей, тестирую на Валерином сервисе пока на dev-стенде. Полностью ушел от workflow и эвристик, вычистил код, запустил эволюцию, на первом проходе вышло 34.88%, продолжаю дальше.
👍3
Сегодня думал про роевой интеллект, тыкал исследования палочкой, всякие AgentVerse, Model Swarms, G-Designer и до более свежих Zero-Shot Scalable Resilience in UAV Swarms и LLM-Guided Decentralized Exploration with Self-Organizing Robot Teams. Гипотеза для PAC1 уже доросла до 4-х слоев LLM - preflight, planner, step loop и report completion без эвристик и хардкода на чистых llm вызовах. На данный момент такая система решает порядка 30 задач из 43 на деве, более точно не смог составить статистику решения из-за немного болеющего провайдера (были 500 и 429) и тем более проверить на проде. На основе роевого интеллекта решение буду готовить на следующей неделе, пока хватит текущей гипотезы, там еще есть что улучшить. Фабрикой и ее частями пока не занимался, мысли записаны на листах вручную, буду продолжать проектировать.
👍2
Из просмотренных статей, у которых есть репы на гитхабе, пока остановился на Hebbian Swarm, только с добавлением эволюции. Самообучение агентов приведет к самоорганизации МАС в том случае, если продукция управляет взаимодействием агентов. Типа: "если агент ... является соседом по критериям ... и если полученная от него информация в течение периода... После реализации по плану можно будет затестить решение на бенчмарках, и даже написать статью на arxiv, если, конечно, результаты будут лучше, чем в оригинале. =) Но до этого еще далеко. Перехожу к другим новостям. На данный момент прогон в PAC1-dev на gpt-oss-120b выдает 26/43 - чуть больше 60%, по сравнению с первоначальным вариантом сильное продвижение. Никаких эвристик и хардкода, чисто на llm вызовах. Научился работать с регулярной очисткой контекста, не прошу и не жду автоматической компактизации, готовлю саммари через команды и вызываю /clear. По примеру Паши нужно будет подготовить несколько самых обиходных команд и хуков для регулярного использования.
🔥3