🔥 ИИ-выходные: Собери своего AI-агента за 2 дня
Хватит просто читать про ИИ, пора собирать автономные системы руками! 1–2 августа пройдет хардкорный онлайн-интенсив для junior-middle разработчиков.
Формат: теория ➡️ сразу практика. Вы будете управлять AI-инструментами.
🛠️ Как всё пройдет:
Для кого: Вы пишете на Python, работаете с Git и терминалом. (С нуля не подойдет, темп очень быстрый!)
Артефакт на выходе: Рабочий репозиторий с вашим агентом, который не стыдно показать команде.
👨💻 Спикер: Алексей Жиряков (Сбер, GenAI).
Места ограничены!
👉 Изучить программу и занять место
Хватит просто читать про ИИ, пора собирать автономные системы руками! 1–2 августа пройдет хардкорный онлайн-интенсив для junior-middle разработчиков.
Формат: теория ➡️ сразу практика. Вы будете управлять AI-инструментами.
🛠️ Как всё пройдет:
День 1 (Суббота): разбираем анатомию агента, подключаем инструменты (shell, GitHub, Postgres) и дебажим трейсы.
День 2 (Воскресенье): собираем собственного агента под вашу задачу, настраиваем Eval + Guardrails (чтобы бот не галлюцинировал) и проводим демо.
Для кого: Вы пишете на Python, работаете с Git и терминалом. (С нуля не подойдет, темп очень быстрый!)
Артефакт на выходе: Рабочий репозиторий с вашим агентом, который не стыдно показать команде.
👨💻 Спикер: Алексей Жиряков (Сбер, GenAI).
Места ограничены!
👉 Изучить программу и занять место
❤1
Dictionary<TKey, TValue> обеспечивает поиск в среднем за O(1) благодаря хешированию.
При росте словарь увеличивает внутренние массивы и перераспределяет элементы, поэтому при известном размере коллекции стоит заранее указать capacity.
#il_люминатор
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
🤨 Как заставить AI-агента не ломать архитектуру, а нормально писать код?
Мы привыкли общаться с ИИ промптами, но для автономных систем это путь к бесконечным циклам и сливу бюджета. Чтобы убрать хаос, инженеры переходят на Spec-Driven Development (SDD).
Вот как этот подход меняет работу агента на практике:
🔹Контракт вместо текста. Сначала пишется строгая спецификация (JSON-схема/OpenAPI) и автотесты. Агент зажат в рамки интерфейсов, за которые физически не может выйти.
🔹Контроль на шагах. Внутри петли Think-Act-Observe агент сверяет действия со спецификацией.
🔹Саморефлексия. Если ИИ нарушил типы или «додумал» лишнее, тест падает. Агент получает ошибку в контекст и сам правит код, не выходя за рамки ТЗ.
Это лишь база того, как укротить ИИ-разработку. Если вы хотите глубоко внедрить эту методологию, научиться проектировать архитектурные контракты и собирать отказоустойчивые системы — оставляйте заявку на наш новый курс по Spec-Driven Development. Стартуем совсем скоро🙂
Мы привыкли общаться с ИИ промптами, но для автономных систем это путь к бесконечным циклам и сливу бюджета. Чтобы убрать хаос, инженеры переходят на Spec-Driven Development (SDD).
Вот как этот подход меняет работу агента на практике:
🔹Контракт вместо текста. Сначала пишется строгая спецификация (JSON-схема/OpenAPI) и автотесты. Агент зажат в рамки интерфейсов, за которые физически не может выйти.
🔹Контроль на шагах. Внутри петли Think-Act-Observe агент сверяет действия со спецификацией.
🔹Саморефлексия. Если ИИ нарушил типы или «додумал» лишнее, тест падает. Агент получает ошибку в контекст и сам правит код, не выходя за рамки ТЗ.
Это лишь база того, как укротить ИИ-разработку. Если вы хотите глубоко внедрить эту методологию, научиться проектировать архитектурные контракты и собирать отказоустойчивые системы — оставляйте заявку на наш новый курс по Spec-Driven Development. Стартуем совсем скоро🙂
👍1
double a = 0.1 + 0.2;
Console.WriteLine(a == 0.3);
Console.WriteLine(a);
👇 Пишите свои варианты в комментариях.
#dotnet_challenge
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱8😁7❤2
Media is too big
VIEW IN TELEGRAM
🔥 Не называйте любого продвинутого чат-бота «ИИ-агентом»!
Дмитрий Юдин, руководитель AI/ML-направления в Сloud․ru, наглядно разбирает уровни абстракции ИИ-продуктов и убирает путаницу в понятиях.
Что внутри видео:
- Почему ассистент и агент принципиально разные сущности;
- Как ассистент может быть просто «обёрткой» над LLM, а может скрывать под капотом сложнейшую мультиагентную систему;
- Как понимать архитектуру глубже, чтобы проектировать сильные решения.
Начните создавать агентные системы с нашего бесплатного демо-урока. Всего за 2 часа разберем внутреннее устройство агента, научим его чинить свой собственный код и сохранять контекст после перезапуска.
🔗 Забрать бесплатный демо-урок
Дмитрий Юдин, руководитель AI/ML-направления в Сloud․ru, наглядно разбирает уровни абстракции ИИ-продуктов и убирает путаницу в понятиях.
Что внутри видео:
- Почему ассистент и агент принципиально разные сущности;
- Как ассистент может быть просто «обёрткой» над LLM, а может скрывать под капотом сложнейшую мультиагентную систему;
- Как понимать архитектуру глубже, чтобы проектировать сильные решения.
Начните создавать агентные системы с нашего бесплатного демо-урока. Всего за 2 часа разберем внутреннее устройство агента, научим его чинить свой собственный код и сохранять контекст после перезапуска.
🔗 Забрать бесплатный демо-урок
❤2
0.30000000000000004
Почему:
Тип double использует стандарт IEEE 754 и хранит числа в двоичном формате. Значения 0.1 и 0.2 нельзя представить в нём точно, поэтому после сложения получается число, немного отличающееся от 0.3.
Если нужна точная работа с десятичными дробями (например, денежные расчёты), используйте decimal.
А значения типа double сравнивайте с допуском:
Math.Abs(a - b) < epsilon
#dotnet_challenge
Please open Telegram to view this post
VIEW IN TELEGRAM
😁6🥰3🥱3❤2
🚀 Уже завтра стартует новый поток курса «ИИ-агенты»!
Мы собрали мощнейший состав преподавателей. Учить вас проектировать архитектуру и собирать продакшн-агентов будут инженеры и исследователи из топовых IT-компаний.
Старт уже завтра!
Сомневаетесь, подойдет ли вам программа и подача? Начните с бесплатного демо-урока!
Всего за 2 часа вы заглянете под капот ИИ-агента, поймете, чем мышление модели отличается от ее ответа, и научите систему чинить собственный код. Это идеальный способ протестировать нашу платформу перед покупкой.
🔗 Пройти демо-урок и занять место на курсе
Мы собрали мощнейший состав преподавателей. Учить вас проектировать архитектуру и собирать продакшн-агентов будут инженеры и исследователи из топовых IT-компаний.
Старт уже завтра!
Сомневаетесь, подойдет ли вам программа и подача? Начните с бесплатного демо-урока!
Всего за 2 часа вы заглянете под капот ИИ-агента, поймете, чем мышление модели отличается от ее ответа, и научите систему чинить собственный код. Это идеальный способ протестировать нашу платформу перед покупкой.
🔗 Пройти демо-урок и занять место на курсе
shema_di_lifetimes.png
108.6 KB
Если постоянно путаете AddSingleton, AddScoped и AddTransient — сохраните эту шпаргалку.
На одной схеме показано:
#схема
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤2
Microsoft напомнила, что 10 ноября 2026 года одновременно заканчивается поддержка .NET 8 и .NET 9. После этой даты эти версии больше не будут получать обновления безопасности, исправления ошибок и официальную поддержку.
☝️ При этом существующие приложения продолжат работать.
Почему обе версии завершаются одновременно:
🔵 .NET 8 — LTS с трёхлетним циклом поддержки.🔵 .NET 9 — STS. После изменения политики Microsoft срок поддержки STS увеличили до 24 месяцев, поэтому его конец совпал с окончанием поддержки .NET 8.
Перед обновлением стоит:
Осенью этим наверняка займутся многие команды одновременно, поэтому лучше не откладывать обновление на последний момент.
#async_news
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍4😢2
🔥 Стартуем СЕГОДНЯ! Новый поток курса «Разработка ИИ-агентов» открыт
По этому поводу мы решили выложить закрытую запись одного из уроков из программы. Найти её в поиске YouTube нельзя — она доступна только по ссылке и всем, кто будет на курсе.
Внутри глубокий разбор LLM от Алексея Яндутова (Senior ML-инженер, развивал ответы «Алисы» и «Нейро» в Яндексе). Учимся получать точный результат без галлюцинаций.
Что внутри урока:
После просмотра вы поймете, когда хватает промпт-инжиниринга, а когда нужен RAG или fine-tuning.
👉Смотреть закрытый урок на YouTube
Понравился урок? Переходите на новый уровень! Оставляйте заявку на курс, чтобы научиться проектировать надежные автономные системы. Обучение началось, но вы еще успеваете присоединиться.
🔗 Занять место на курсе
По этому поводу мы решили выложить закрытую запись одного из уроков из программы. Найти её в поиске YouTube нельзя — она доступна только по ссылке и всем, кто будет на курсе.
Внутри глубокий разбор LLM от Алексея Яндутова (Senior ML-инженер, развивал ответы «Алисы» и «Нейро» в Яндексе). Учимся получать точный результат без галлюцинаций.
Что внутри урока:
- Устройство LLM.
- Рабочие шаблоны промптов (Persona, Chain-of-Thought и др.).
- Разбор реального кейса Яндекса. Как автоматизировать разметку, обойти качество людей на 5% и срезать косты на 60%.
После просмотра вы поймете, когда хватает промпт-инжиниринга, а когда нужен RAG или fine-tuning.
👉Смотреть закрытый урок на YouTube
Понравился урок? Переходите на новый уровень! Оставляйте заявку на курс, чтобы научиться проектировать надежные автономные системы. Обучение началось, но вы еще успеваете присоединиться.
🔗 Занять место на курсе
Проверка коллекций часто превращается в цепочку условий: сначала Length, потом обращения по индексам, затем ещё несколько if.
В C# 11 появились списочные паттерны (List Patterns), которые позволяют описать форму коллекции прямо в switch.
static string Describe(int[] numbers) => numbers switch
{
[] => "пусто",
[var single] => $"один элемент: {single}",
[var first, var second] => $"два: {first} и {second}",
[var first, .., var last] => $"первый {first}, последний {last}",
};
Каждая ветка описывает форму данных, а не последовательность проверок. Не нужно вручную проверять Length и обращаться к элементам по индексам.
static string Route(string[] args) => args switch
{
["run", var file] => $"запускаем {file}",
["build", .. var rest] => $"сборка с флагами: {string.Join(", ", rest)}",
_ => "неизвестная команда",
};
Обратите внимание на .. var rest: оператор среза не только пропускает элементы, но и позволяет сразу получить их в отдельную коллекцию. Списочные паттерны работают с массивами, списками и другими типами, которые поддерживают индексатор и имеют Length или Count.
#sharp_view
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19
🔥 Курс «Разработка ИИ-агентов» стартовал, но вы еще успеваете присоединиться!
Мы только начали, а первый практический воркшоп пройдет только 23 июля. До этого времени вы спокойно успеете изучить материалы и нагнать группу.
💼 Главная фишка: финальный проект в портфолио:
🎁 Упомяните менеджеру специальное предложение «3 курса по цене 1»: Берете VIP-тариф — получаете курс «Разработка ИИ-агентов», хардкорный «AgentOps» и ещё один курс на выбор. Выгода 129.000 ₽!
Двери потока вот-вот закроются окончательно. Успейте забрать стек курсов и начать работу над реальным проектом
🔗 Занять место и забрать 3 курса
Мы только начали, а первый практический воркшоп пройдет только 23 июля. До этого времени вы спокойно успеете изучить материалы и нагнать группу.
💼 Главная фишка: финальный проект в портфолио:
В финальном проекте вы сможете выбрать один из двух вариантов: реализовать свою идею или решить задачу от партнера курса — крупной российской финтех-компании. Вы будете работать с датасетом, построенным по реальным сценариям, получите бизнес-контекст и продовые ограничения. В результате соберете AI-агента, который станет сильным проектом для портфолио.
🎁 Упомяните менеджеру специальное предложение «3 курса по цене 1»: Берете VIP-тариф — получаете курс «Разработка ИИ-агентов», хардкорный «AgentOps» и ещё один курс на выбор. Выгода 129.000 ₽!
Двери потока вот-вот закроются окончательно. Успейте забрать стек курсов и начать работу над реальным проектом
🔗 Занять место и забрать 3 курса
❤3
Forwarded from Библиотека задач по C# | тесты, код, задания
Что гарантирует readonly struct?
👾 — Что структура хранится только на стеке
👍 — Все поля readonly; методы не могут изменять this, компилятор предотвращает записи и избегает лишних defensive copies для in
🥰 — Автоматическую реализацию IEquatable<T>
⚡️ — Что экземпляры нельзя боксить
Библиотека задач по C#
👾 — Что структура хранится только на стеке
👍 — Все поля readonly; методы не могут изменять this, компилятор предотвращает записи и избегает лишних defensive copies для in
🥰 — Автоматическую реализацию IEquatable<T>
⚡️ — Что экземпляры нельзя боксить
Библиотека задач по C#
👍65👾3⚡2🤔2🥰1
Forwarded from Proglib.academy | IT-курсы
Самое интересное, что разница здесь не столько в модели
На живом демо покажем, как один и тот же запрос работает без агентной системы и с ней
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Please open Telegram to view this post
VIEW IN TELEGRAM
😁17❤3
Во многом его ценность определяет опыт тех, кто его разрабатывает и ведёт.
Об этом как раз новый пост Proglib Academy
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Proglib.academy | IT-курсы
Курс «ИИ для разработчиков» ведут практики из ведущих российских IT-компаний
В ближайшее время познакомим вас с каждым преподавателем. Программа курса — по ссылке
Please open Telegram to view this post
VIEW IN TELEGRAM
Невалидный пользовательский ввод — ожидаемый сценарий, а не авария. Такой код работает, но использует исключения для обычной проверки:
try
{
var age = int.Parse(input);
SaveAge(age);
}
catch
{
ShowError();
}
if (int.TryParse(input, out var age))
{
SaveAge(age);
}
else
{
ShowError();
}
TryParse() сразу показывает: преобразование может не удаться, и этот результат предусмотрен логикой программы. Используйте его для форм, query-параметров, настроек, файлов и других внешних данных.
📌 Ожидаемая ошибка — явная проверка. Исключение — действительно исключительная ситуация.
#sharp_view
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱8❤3
В C# каждое обращение к элементу массива проверяется на выход за границы. Это безопасно, но медленно. Разработчики часто решают проблему через unsafe-код с указателями — быстро, но опасно: один неверный индекс, и приложение крашится или получает дыру в безопасности.
Есть третий путь — Span<T>
Span — это структура, которая хранит указатель на данные и их длину. Фишка в том, что это ref struct — она живёт только в стеке и не может попасть в кучу. Благодаря этому компилятор гарантирует: данные переживут span, а значит проверки границ можно убрать.
Например, в быстрой сортровке вместо передачи массива с индексами low/high передаёте span. Код короче, переполнение невозможно, а рекурсивные вызовы работают через срезы:
// Было: опасно, (low + high) может переполниться
void Quicksort(int[] array, int low, int high) {
int mid = (low + high) / 2; // 💥 overflow!
// ...
Quicksort(array, low, pivot - 1);
Quicksort(array, pivot + 1, high);
}
// Стало: безопасно и выразительно
void Quicksort(Span<int> span) {
if (span.Length <= 1) return;
int pivot = Partition(span);
Quicksort(span[..pivot]); // левая часть
Quicksort(span[(pivot + 1)..]); // правая часть
}
Раньше для передачи части массива в функцию приходилось либо копировать данные, либо таскать массив + offset + length. Span решает это элегантно: создаёте срез array[10..20], передаёте дальше — никакого копирования, полная безопасность типов.
#il_люминатор
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤6🥱1
Разберут, как превратить AI из инструмента для отдельных задач в часть инженерного процесса
Please open Telegram to view this post
VIEW IN TELEGRAM