TGViewer
Channel Public Channel
Недетерминированная разработка

Недетерминированная разработка

@nondet_lab

Канал о разработке программных продуктов с нейросетями: недетерминизм, архитектура, оценки качества, агентные связки и инженерная практика без хайпа и магии. Пишу книгу, делюсь черновиками, наблюдениями и рабочими подходами.

Еще веду @madteacher_channel
Subscribers
203
Photos
25
Videos
0
Links
22
Recent Posts 16 shown
Post #48 520
Jev - хайп из ничего? 👀

Последнюю неделю в сети только и слышно о новой LLM - Jev
. При этом, многие инфлюенсеры как с цепи сорвались и кричат о ее детерминизме и здесь как бы и да - он «есть», как и огромное НО...

В целом, детерминизм можно разделить на 2 типа: по форме и по содержанию. Язык программирования удовлетворяем обоим, а чистая LLM, без какой-либо обвязки, где предусмотрена валидация и цикл исправления ошибок – ни одному из них. Jev же гарантирует только один тип детерминизма – по форме.

Другими словами, модель всегда будет возвращать валидный ответ (JSON, 1/0 и т.д.), который спокойно распарсится, но вот к содержимое этого ответа все равно остается недетерминированным. Да, не настолько, как у классической LLM, но все же недетерминированным 🤣

Если же говорить о идеальной области применения самой модели, то это та, где не требуется размышлений: классификация, систематизация, ранжирование, принятие быстрых решений и т.д., а нужна лишь реакция на входные данные/событие 😏

В теории мультиагентных систем такие агенты, которые просто реагируют на что-то в окружающей среде, считаются реактивными. Те же, которые планируют что-то наперед – проактивными. И вот Jev как раз хорош в первом типе задач, где нужно быстро принять решение (да и ни на что другое он в принципе не способен) 😄
  • 👍 2
  • 👎 1
Post #46 861
🚨 Обновление книги "Основы harness-инженерии" 👀

Завершил работу над 3-й главой, добавив к ней сквозной проект и обновил материал на boosty и степике 😎

В связи с добавленным объемом материалов, цена увеличивается на 200 рублей. Если вы хотели приобрести курс, но на это все никак не было "времени", по 6 сентября его можно будет купить по старой цене, воспользовавшись скидкой 🫣 (просьба покупать именно по этой ссылке, иначе платформа забирает себе практически половину от стоимости 🥲)

p.s. О том, как поддержать меня в этом нелегком процессе написании книги и приобрести к ней ранний доступ писал в этом посте
  • 👍 2
  • 🔥 1
  • 🤩 1
Post #45 149
А статья "Использование больших языковых моделей для генерации программного кода: подходы к снижению недетерминизма", как оказалось - быстро еще вышла. Подал в прошлом году, внес изменения в июне и уже опубликовали. Изначально думал, что затянется до декабря или следующего года. Такая вот реальность при подаче в журналы ВАК.

Теперь смогу в четверной версии черновика "Основы harness-инжерении" закрыть брешь в предисловии =)

А пока готовлю релиз версии 3.3 - сегодня полностью добил 3-ю главу и сейчас начну перенос на степик и бусти.

Как завершу - сделаю пост =)
  • 👍 2
Post #44 244
Обновление книги "Основы harness-инженерии" 👀

Завершил работу над основной частью 3-й главы и обновил материал на boosty и степике 😎

Осталось описать сквозной проект, резюме по главе и вопросы. 🍿

p.s. О том, как поддержать меня в этом нелегком процессе написании книги и приобрести к ней ранний доступ писал в этом посте
  • 🔥 4
  • 🤩 1
Post #43 1.55K
Масштабное обновление Model Context Protocol (MCP) 👀

На днях вышло обновление спецификации MCP и оно уже признано самом значительным изменением протокола со времен его запуска 🍿

Раньше MCP был stateful, то есть серверу приходилось держать активную сессию, а процесс подключения состоял из 2-х шагов: сначала POST с инициализацией, потом получение Mcp-Session-Id, и только после этого отправляется второй POST с реальным вызовом инструмента. При такой архитектуре, если у вас за балансировщиком был с десяток инстансов, всегда вставал вопрос: «какому из них отправлять второй запрос?» Из-за чего приходилось городить разделяемое хранилище сессий, что для кровавого энтерпрайза – трешь, боль, угар и содомия, так как состояние «прилипает» к конкретному серверу 🫠

Новый Stateless MCP (по сути – MCP 2.0) делает все куда проще и реально позволяет масштабировать набор MCP-серверов без той боли, которую приходилось испытывать при использовании первой версии протокола. По факту, у нас больше нет сессий и каждый запрос сам несет версию протокола, идентичность клиента и его capabilities. Все это прокидывается в HTTP-заголовках, а данные клиента живут внутри JSON в поле _meta. То есть от танцев с бубном мы переходим к формату «один POST и все на мази» (вот насколько – это еще предстоит проверить).
Другими словами, теперь запрос может обработать любой инстанс за балансировщиком, так как состояние теперь не привязано к конкретному инстансу MCP-сервера 😎


Дополнительно к этому в спецификацию довили еще несколько обновлений:

1️⃣ вместо постоянно открытых потоков для взаимодействия «сервер → клиент» появился Multi Round-Trip Requests (MRTR). Сервер сам может приостановить вызов и дозапросить данные у пользователя, прежде чем продолжить свою работу;

2️⃣ списки возможностей MCP-серверов (tools, resources и prompts) теперь возвращаются в строго заданном порядке и доп. подсказками, позволяющие клиенту эффективно кэшировать каталог инструментов;

3️⃣ устаревший и небезопасный способ авторизации с помощью Dynamic Client Registration заменен на Client ID Metadata Documents (CIMD) с более усиленной защитой от подмены сервера авторизации.

Выпиливанию подверглись Roots, Sampling и старый транспорт HTTP+SSE. У разработчиков есть 12 месяцев, чтобы от них избавиться в своем коде 🥸

Почему это вообще важно? Давать агенту свободный доступ к shell/bash – не всегда безопасно. В тоже время, работу MCP-инструментов гораздо проще анализировать с точки зрения «что здесь может пойти не так». То есть протокол –  более безопасная альтернатива открытому выполнению команд. А вот насколько хорошо эти инструменты будут вызываться самим агентом через MCP – все еще вопрос. У него и так уже история с «душком» из-за чего большинство разработчиков перешли на связку «агентский навык + cli-инструмент» 😇

А вы что думаете о переходе с дуплексного протокола с поддержкой состояния к простому формату «запрос/ответ», без его сохранения? Дадите MCP еще одну возможность или окончательно и бесповоротно останетесь на связке  «агентский навык + cli-инструмент»?
Model Context Protocol Blog The 2026-07-28 Specification The 2026-07-28 Model Context Protocol specification is out, bringing a stateless protocol core, Multi Round-Trip Requests, header-based routing, cacheable list results, authorization hardening, a formal extensions framework, and updated Tier 1 SDKs.
  • 👍 2
Post #42 140

Forwarded from MADTeacher | Станислав Чернышев

Обновление книги "Основы harness-инженерии" 👀

Добавлена первая часть третьей главы, которая посвященная агентским навыкам. Так же обновил материал на boosty и степике 😎

Остается разобрать еще несколько моментов, научные статьи и добавить часть со сквозным проектом 🍿

p.s. О том, как поддержать меня в этом нелегком процессе написании книги и приобрести к ней ранний доступ писал в этом посте
  • 👍 4
Post #37 155

Forwarded from MADTeacher | Станислав Чернышев

"Основы harness-инженерии" 🍿

Последний месяц вкалывал над второй главой для книги "Основы harness-инженерии" и теперь, с чувством выполненного долга, делаю небольшой анонс 😎

В этой книге вы не найдете разбор библиотек для написания своего агента или легких путей как разбогатеть ничего не делая 😂 Она предназначена для тех, кто хочет понять, что делает модель агентом и как "под капотом" работают такие обвязки (харнесс). Будет очень много теории, выдержек из научных статей с разбором некоторых подходов к проектированию harness, а также сквозной проект - собственный, минималистичный coding-агент на чистом Python (язык выбрал из-за большей массовости) 👀

Как и при работе над предыдущими книгами, мной выбран подход с ранним доступом к материалу. Есть несколько вариантов дать мне мотивационного пендаля для более оперативной работы над книгой:

1️⃣ PDF + доступ в закрытый тг-чат + отдельная благодарность в книге - 5 000 рублей. Покупается пост на boosty, который будет обновляться по мере написания книги. В сюда будет добавляться тот же видеоматериал, который пойдет на степик. Максимальный респект всем, кто захочет поддержать таким образом 😎

2️⃣ Текстовый курс на степике, куда будут добавляться новые главы + PDF книги + доступ в закрытый тг-чат - 2 500 (постепенно цена будет расти). Он обрастет тестами (вопросы) и к сквозному проекту будут записаны видео (чтобы не нужно было только читать). До 01.08 его можно приобрести со скидкой в 500 рублей. Для этого, пожалуйста, приобретайте курс по следующей ссылке (в противном случае степик забирает себе львиную часть)

3️⃣ Доступ к PDF-книги. Для этого необходимо приобрести пост на boosty, куда я буду заливать обновленный PDF, как только допишу новую главу. Этот пост также доступен подписчикам уровня мидл.

С текущим оглавлением можно ознакомиться тут: https://disk.yandex.ru/i/ypRXY7Z6UvJBXg

p.s. Очень долго думал над названием. Давать что-то хайповое - не охота, а так как в книге идет очень глубокое погружение в то, как устроены харнесс изнутри, какие есть их паттерны проектирования, дофига описывал контекстный слой и т.д., то название пришло как-то само 🫠 А может это тупо проклятье... Основы Dart, Основы Go, Основы Flutter... 😂
Post #36 211
Пссс... канал не заброшен =) Последний месяц вкалывал над очень сложной главой для книги и теперь готовлюсь к небольшому анонсу

Очень долго думал над названием. Давать что-то хайповое - не охота, а так как в книге идет очень глубокое погружение в то, как устроены харнесс изнутри, какие есть их паттерны проектирования, дофига описывал контекстный слой и т.д., то название пришло как-то само 🫠

А может это тупо проклятье... Основы Dart, Основы Go, Основы Flutter... 😂
  • 🔥 5
  • ❤ 1
  • 😁 1
Post #35 285
Loop engineering - черная дыра в твоем бюджете 😏

Последние пару дней в сети очень много обсуждений, что единственное, что нужно агенту для выполнения задачи - хорошо поставленная цель и обратная связь, котороая будет гонять его по циклу, пока цель не будет достигнута... Например, формируемый разработчиков цикл агентского кодирования может выглядеть следующим образом: цель → контекст → действие → проверка → исправление → повтор 😘

С одной стороны тут хрен поспоришь... Агент, он как тот осел, которому перед мордой повесили морковку и ведут на убой... то есть он с упорством осла будет стучаться в стену головой пока ее не прошибет (конечно, по его, а не вашему мнению 😏)

С другой стороны - субагенты, оркестрация, цикл, выполняющийся хрен знает сколько раз - это, млять, черная дыра, пожирающая шекели компании и при оплате токенов по API, такая организация агентского кодирования может за пару дней сожирать столько денег, сколько обычно закладывается в месячный фонд оплаты труда отдела из, почти, десятка человек 👀

В итоге получается, что хреначить такие циклы агентского кодирования можно только при наличии бесконечного количества бесплатных токенов, так как 5-ти часовые лимиты при наличии подписки на планы по кодированию сгорают за считанные минуты и приходится курить бамбук в ожидании их сброса, либо заводить несколько учеток 🫠

Про это мало кто говорит, но уже дохрена компаний, которые рьяно внедряли ИИ, взвыли и начинают переосмысливать, что же они натворили... один пример Uber чего стоит, когда за первые 4 месяца они спустили годовой бюджет, что выделялся на использованиее LLM-ок 😏

p.s. А какой у вас в компании дневной лимит на LLM и реально ли его хватает?
  • 👍 2
Post #34 278
Харнесс-инженерия не для нищебродов 🫠

Давайте представим, что вы хотите показать и рассказать всем насколько круты в харенсс-инженерии и что реализованный вами агент кладет на лопатки всех и вся? 😄

Представили?

А теперь присядьте и доставайте из тумбочки губозакатывательную машинку... ведь самый простой вариант что-либо доказать этим ии-абьюзерам - прогнать агента на всех признанных сообществом бенчмарках (то, насколько они кривые и что показывают далеко не то, как есть на самом деле - оставим в стороне) 😏

При этом, желательно не один раз, а несколько и с разными LLM 😘

Так, вот, в минимальном приближении, такое бахвальство встанет в ~$10,000 🤩

Мне теперь понятно почему все научные статьи, обмазаные результатами бенчмарков написаны сотрудниками биг-биг-теха или спонсируются ими... для обычного ученого проход в этот "элитарный" клуб тупо закрыт из-за отсутствия таких денжищь на проведение исследований 🥲

p.s. И это озвучена только стоимость одного прогона бенчмарка в полной комплектации, а уж сколько требуется на всякие эксперименты, которые проводятся в процессе исследования - представить страшно🫠
  • 👍 5
Post #33 1.99K
Паттерн «Роль» и его нюансы

Очень часто можно наткнуться на пример того, как агенту перед началом текста самой задачи, в команде или AGENTS.md задают роль по типу:
Ты - супер пупер разработчик/токсик/тестировщик с огромным количеством лет опыта и т.д. и т.п


По своей сути, роль задает агенту профессиональную, жанровую или коммуникативную позицию, из которой он должен выполнять задачу. Но насколько хорошо и для каких задач подходит этот контекстный паттерн проектирования агентных систем?

За последние пару лет ученые провели порядка 9 исследований, из которых можно сделать следующий вывод:
Роль не делает агента умнее и не гарантирует правильность ответа. Ее основная функция - настроить поведение модели: стиль, уровень объяснения, фокус внимания, критерии проверки и способ подачи материала.


Что это значит для нас, рядовых разработчиков?

1️⃣ Данный паттерн стоит использовать только тогда, когда необходимо задать стиль или тон ответа, либо уровень объяснения (например, «Ты — редактор научно-популярного текста. Сделай фрагмент яснее, но не упрощай термины» или «Объясни как преподаватель додикам студентам первого курса. Без сложной терминологии, но с точными определениями»)

2️⃣ Когда нужно проверить решение, код или текст, то нужно использовать не только роль, но и явно задавать ограничения (например, «Ты — Go-разработчик. Проверь код на ошибки компиляции, гонки данных, edge cases и читаемость»)

3️⃣ При решении сложной задачи задаваемая агенту роль с большей долей вероятности ухудшит итоговый результат работы агента. Но тут 50/50 и нужно проводить различные запуски, смотря как в целом реагирует система. К тому же, помимо заданной роли необходимо явно прописывать порядок рассуждения (например, «Реши как внимательный аналитик: сначала выпиши условия, затем проверь ограничения, потом дай ответ»)

4️⃣ Нужен точный факт? Роль - ваш самый главный враг в этом вопросе! Не надейтесь на нее и явно требуйте от агента, чтобы существовал источник данных и дополнительную проверку

5️⃣ В очень специфических областях, например медицине, юриспруденции или финансовых вопросах опасно полагаться на роль. Лучше требуйте обязательное наличие источника, даты и задавайте ограничения

Если вы считаете, что данный паттерн проектирования идеально подходит под вашу задачу, не ограничивайтесь обычным указанием роли. Хороший запрос/промпт/часть команды и т.д. должен включать в себя 4 части:
Ты — [роль].
Твоя задача — [что нужно сделать].
Учитывай [критерии, ограничения, адресата].
Выведи результат в формате [формат ответа].


p.s. Поделитесь в комментариях, как часто используете этот контекстный паттерн проектирования и насколько он крут (или не очень) по вашему мнению 😇
  • 🔥 3
Post #32 1.78K
Паттерн «Горячий контекст» / «Горячая память»

Каждая сессия агента - это день сурка, только с тем отличием, что агент, в отличие от Билла Мюрея, не помнит о том, что он делал вчера 🫠

Чтобы хоть как-то сгладить такую потерю памяти перед нами стоит задача создать адекватный слой "горячего контекста", который загружается харнесс в начале каждой агентской сессии и будет ему помогать, а не сводить с ума 👀

Это могут быть базовые соглашения проекта, архитектурные ограничения, команды проверки, критичные запреты, требования безопасности и ссылки на ключевые спецификации.

Таким образом, AGENTS.md на самом деле не просто файл с ролью, различными правилами проекта или пояснением, где в какой папочке что лежит - это один из фрагментов «горячего контекста» 😘 Другими же фрагментами выступает системный промт и сам пользовательский запрос 🤩

Поэтому перед тем, как начинать новый проект или подключать агента к разработке уже существующего - задумайтесь о том, чтобы выделить для используемого кодингового агента минимальный слой контекста, который будет подключаться к его каждой рабочей сессии и задавать устойчивую рамку поведения агента😄

В идеале, такой контекст не должен описывать весь проект. Он должен содержать только то, что агент обязан всегда учитывать во время своей работы 🫡

p.s. Нужно ли и погружение в другие контекстные паттерны проектирования агентных и мультиагентных систем или ну его?))
  • 👍 5
Post #31 1.87K
Наконец-то пришло мое время сиять 🥳 А то эти сверх продуктивные 10х сыны маминых подруг уже достали 😄

А как вы считаете, что лучше - медленная модель и 10 открытых терминалов с запущенными агентскими harness, или 1 терминал с 1 моделью, которая очень быстро по вашему запросу реализует фичу и остается время на подумать, а не держать в голове 10 разных контекстов? 🤔

Ссылка на видео с докладом:https://www.youtube.com/watch?v=TeGsFFNqRLA
  • 👍 2
Post #29 292
zerolang - жидкий пук эпохи ИИ🫠

Компания vercel на днях представила язык программирования, который заточен под его использование агентами... С/Go/Rust на минималках 🤣

Изобретать новый язык, на котором еще не обучалась ни одна модель и заявлять, что он со временем будет подходить для использования агентами, чтобы реализовывать проекты различной сложности - очень, мягко говоря, сильное заявление 🫠 Особенно, когда подразумевается, что экосистема вокруг языка будет строиться с нуля, а не использоваться существующая (например, как было у Kotlin или TS) 😘

Кто-то уже кинулся расхваливать такое решение и в ходе работы правой рукой натыкал проекту 4к звезд, некоторые разочаровано заметили, мол думали, что новый язык программирования в этоху ИИ - английский 😄

Самая же хардкорная часть участников полемики полезла не в маркетинговые лозунги, а в кишки репозитория. А там такое началось... все попытки заставить агентов написать что-то на этом языке с помощью предоставляемых агентских навыков смотрелись так, как буд-то мидлу, привыкшему писать на Rust/Go сделали лоботомию 🤡

В принципе, идея zerolang о структурированных контрактах между агентом и языком с его библиотеками и инструментами - очень здравая. Но вот оборачивать ее в новый язык программирования - такое себе решение 😦
  • 😁 2
Post #28 1.52K
Побывав на Mobius 2026 Spring осознал одну интересную вещь - очень мало людей в отечественном IT знают что такое harness, хотя пользуются им каждый рабочий день 🫠

По своей сути LLM - тупой генератор текста, не имеющий доступ ни к чему (даже файл создать сам не может) и роль harness - связать LLM с инструментами (чтение, запись, bash и т.д.), предоставить слой памяти, оркерстрацию и, наконец, агентский цикл...

Другими словами, если LLM - мозг, то harness - слой, соединяющий мозг с инструментами и окружением... отсюда и название - "сбруя/упряжь"

Так что Claude Code, Codex, Cursor, OpenCode, Pi и многие другие инструменты для агентского кодирования представляют собой harness в том или ином виде. Хорошая упряжь способна вывести возможности используемой LLM на совершенно новый уровень, когда даже самая слабая модель будет сиять 😘

В противном случае, harness можно спроектировать так, что даже самая крутая модель будет ни чем не лучше капризного младенца (вспоминаем недавнюю историю с Opus 4.7, когда Anthropic последовательно добавили 3 фикса, которые привели к деградации модели) 😄

В этот четверг (21.05.2026) в 19:00 проведу стрим посвященный тому, что же такое harness, из каких частей состоит, на кой он вообще нам нужен и на учебном примере покажу, как можно запилить аналог Claude Code на минималках за ~ 500 строк кода 👀

https://youtube.com/live/BCp1m4MKV6s?feature=share

p.s. Запись стрима будет доступна только подписчикам на Boosty
  • 👍 7
Post #27 257
Недетерминированная разработка 🍿 Стрим - пятница (08.05) в 19:00 Вот и пришло время поговорить про агентские навыки (agents skills). В ходе стрима разберемся с их структурой, как работает прогрессивное раскрытие, какие нюансы вас поджидают на каждом шаге создания своего агентского навыка…
Начинаем;)
https://youtube.com/live/At4WPTKs1Cs?feature=share
Youtube - YouTube Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.
Older posts →

About this channel

How can I read @nondet_lab without a Telegram account?
TGViewer shows the public web preview Telegram publishes for Недетерминированная разработка: recent posts, photos, videos and the subscriber count, with no app, login or account.
How many subscribers does Недетерминированная разработка have?
Недетерминированная разработка (@nondet_lab) has 203 subscribers on Telegram, refreshed roughly every 30 minutes.
Does Недетерминированная разработка know I viewed it here?
No. Public channel previews carry no viewer identity, and TGViewer has no accounts or tracking of what you look up.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →