Viktor (@vdmitriyev) header
Viktor (@vdmitriyev) profile picture

Research

Joined September 2009
Photo by Viktor (@vdmitriyev)Photo by Viktor (@vdmitriyev)Photo by Viktor (@vdmitriyev)Photo by Viktor (@vdmitriyev)Photo by Viktor (@vdmitriyev)Photo by Viktor (@vdmitriyev)Photo by Viktor (@vdmitriyev)Photo by Viktor (@vdmitriyev)Photo by Viktor (@vdmitriyev)Photo by Viktor (@vdmitriyev)
Are Agents soon going to have only 1 tool? We went from a handful of tools, to dynamic tool search, and now to collapsing everything into code mode. Wrote down how Code Mode works, why a typed JS/Python sandbox can beat raw bash, and why MCP is going to go back strong in 2027. With an a minimal example for Gemini 4 Argon. philschmid.de/code-mode If you plan to explore code mode i can recommend testing with pi! Easily hackable and comes with strong foundation.
81
24
11
399
29,253
Support of multiple LLM providers: llmexer could run the same experiment using different LLMs (supports: ollama, vLLM, LiteLLM, OpenAI, and OpenRouter).
1
25
For more detailed list of core features check the link - github.com/vdmitriyev/llmexe…
8
Эффективная работа с git worktree. Если вы уже дошли до точки, когда параллельные агентские сессии как не в себя делают фичи, то вы точно должны были столкнуться с новыми проблемами, среди которых одновременный запуск нескольких копий приложений, быстро забивающийся диск и оперативная память, плюс работа которая встает колом из-за одновременных запусков тестов и линтеров. В этом посте я расскажу про то, как поправить свой сетап, чтобы все стало снова летать. Сначала быстрый рекап. Worktree это фича гита, которая создает под ветки отдельные физические директории в которых можно вести работу. Раньше этой фичей почти не пользовались, так как просто переключались на ветку, сейчас же переключение на ветку будет сбивать параллельные сессии, поэтому все перешли на worktree. Даже если вы этого явно не просите, агенты нередко сами пользуются ими (но не всегда). И так поехали, проблемы и их решения. Отказ от веток Если вы пошли по этому пути, то лучше явно описать агенту, что ветки использовать нельзя, а вместо них нужно создавать worktree. Иначе регулярно будет возникать ситуация, когда один из агентов прыгнет на ветку и помешает другим. Начало и завершение работы По умолчанию создание worktee просто копирует данные, но в таком виде проект врядли заработает и на нем можно будет прогонять тесты. Скорее всего есть какие-то подготовительные шаги от установки зависимостей до создания .env. Вот эту часть нужно сначала автоматизировать, например, с помощью make-команд, а потом уже зафиксировать в доках с агентом, чтобы он вызывал их как при создании рабочего дерева, так и при завершении работы. У себя я считаю завершением это отправку pr, в это время происходит чистка. Независимые базы данных Помните проблему миграций в ветках? Вот здесь будет тоже самое, если не создавать отдельные базы данных под каждое дерево. Сделать это просто, достаточно объяснить агенту задачу и он сам предложит способ формирования динамического имени, связанного с названием worktree. Дальше снова автоматизируем и добавляем в команду создания worktree из предыдущего шага. При этом важно сделать так чтобы это были именно базы данных, а не субд, иначе если на каждое дерево будет подниматься свой postgresql, вы быстрее начнете упираться в производительность Одновременные запуск приложения Кроме баз, такой же трюк надо провернуть с портами (и если используется dns то доменами). Каждое дерево при старте тестов или приложения должно работать со своим набором портов. Опять же, эту задачу сделает сам агент, он без проблем напишет небольшие скрипты, которые находят свободные порты и подсовывают их при старте приложения Параллельный запуск проверок Но даже если сделать все шаги выше, все равно запуск тестов или линтеров из двух worktree, уже может поставить колом всю машину. Здесь есть красивый выход через блокировку. Нужно запускать проверки не напрямую, а через утилиту, которая ставит такие блокировки и упорядочивает запуск (с нужным уровнем параллельности). Пока я этим занимался написал такую утилитку github.com/mokevnin/heavy Шаринг данных Ну и последнее, установка зависимостей и кеши. Если вы не хотите чтобы место на диске улетало со скоростью ветра, то нужно использовать инструменты или настраивать существующие так, чтобы они шарили (безопасно) все свои артефакты во внешних директориях. Например лучше работать с pnpm, а не npm, потому что первый хранит зависимости во внешнем сторадже, что очень сокращает потребляемое место. Если все это сделать, то работать с worktree станет реально удобно и быстро. Пользуйтесь
18
7
1
254
16,515
Cool eval. Simply ask an LLM “Land or Water?” and give it a latitude and longitude coordinate as text. Ask 16,200 times, plot as image. The models know. From compressing the internet.
Replying to @celestepoasts
results for all claudes
724
1,092
180
19,513
1,601,688
Personal highlight from yesterday - learn how to play “doppelkopf” 🃏
2
34
‘simplify-next’ is a new simple theme for static Pelican blogs based on Bootstrap 5. Have found its ancestor Pelican template 2 years ago. Back then, I couldn’t change the ancestor template much, however now with help of LLMs it became possible. Check - github.com/vdmitriyev/simpli…
30
Migrating slowly from cmd to Powershell for my typical windows terminal tasks. For now works really great. Should have done it long time ago 😁
1
27
Should have done it years ago 😅
13
пока писал, ориентировался на решение Навье-Стокса, а тут и доклад Антропика про рынок труда подоспел. так что на всего горячие темы сразу
10
5
60
11,471
I noticed that overcomplicated systems do not appear out of blue. They grow from simple systems by applying "innocent" changes, where every such change increases the complexity of the system by a very small bit. Keep an eye on every change you apply to your system, and reject changes, which increase the complexity of the system even by a small bit. This rule applies to everything - software projects, organisations, processes, physical systems, etc.
8
9
78
2,719
Viktor retweeted
Друзья, спасибо большое, что откликнулись про приватный инференс! Я писал тот пост, чтобы поделиться тем, что нашёл, а вы мне показали, что мои знания категорически отстали и авангард уже давно убежал вперёд. Во-первых, кроме ZDR, который является юридической договорённостью, читай обещанием, есть ещё вариант с технической гарантией, что данные, которые мы отправляем, никуда не утекут. Называется это TEE — Trusted Execution Environment. Эта штука даёт криптографическую гарантию, что с сервера нам отвечает ровно та программа, которую нам обещали, без всяких дополнительных закладок и сохранения данных. Работает благодаря аппаратной поддержке на уровне процессоров Intel, AMD и NVIDIA. Исследователи регулярно находят в ней уязвимости, и я уверен, что крупную рыбу АНБ взломает в любом случае, но от массовой слежки это наверняка убережёт. Получается лучшее от двух миров: никаких капитальных затрат и при этом разумная гарантия безопасности данных, а не просто обещания. Таких провайдеров не очень много, и GLM-5.3 поддерживают ещё меньше, но есть Phala, Tinfoil и Privatemode, по цене они всего на 20–80% дороже OpenRouter ZDR. На этот вариант меня навели создатели Wisp, это как Claude Cowork, но для юристов, финансистов и всех, кто не хочет отправлять данные в публичные нейросети. Во-вторых, мы, кажется, недооценили варианты с квантизацией больших моделей и дообучением маленьких моделей на наших данных. Так, порой можно получить сравнимые результаты на радикально более слабом (и дешёвом) железе. Для своего проекта мы в результате предложили клиенту трёхэтапный план: 1. Сначала проверяем с помощью TEE/ZDR, что это вообще работает на самых мощных моделях, выясняем границу возможного и прогаем всю обвязку. 2. Арендуем тачку в облаке, разворачиваем там более простые модели и ищем оптимум по соотношению цены и качества. 3. Покупаем своё железо. Ещё раз спасибо большое! Мой папа любил повторять, что лучше чувствовать себя бараном среди мудрецов, чем наоборот. Вот именно так я чувствую себя сегодня и благодарен богу, что вы есть и откликнулись!
2
3
46
3,317