Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Moscow Python Meetup №105. Кирилл Гладких (ООО ...

Moscow Python Meetup №105. Кирилл Гладких (ООО Штаб, Python разработчик). Как вайбкодить по-сениорски

Кто-то его отрицает, кто-то смотрит на него косо и надменно, но нам не убежать от вайбкодинга. В докладе я расскажу о подходах и настройках, которые позволят вашему Copilot (или любой другой LLM интеграции) писать более качественный Python код из коробки.

Видео: https://moscowpython.ru/meetup/105/senior-vibe-code/

Moscow Python: http://moscowpython.ru
Курсы Learn Python: http://learn.python.ru
Moscow Python Podcast: http://podcast.python.ru
Заявки на доклады: https://bit.ly/mp-speaker

Avatar for Moscow Python Meetup

Moscow Python Meetup PRO

October 06, 2025
Tweet

More Decks by Moscow Python Meetup

Other Decks in Programming

Transcript

  1. Гладких Кирилл 1 6 лет разработки на Python 🐍 2

    Работаю в «Shtab.tech» 👨🏼💻 3 Помогаю оцифровывать стройку 👷♂️ 4 Счастливый обладатель жигулей 🥰 2
  2. 1. Ещё не начали использовать ИИ в своей работе 2.

    Разочаровались в том, что ИИ не работает из коробки так хорошо, как хотелось бы. 3. Активно используют языковые модели для написания кода и хотели бы улучшить его качество Кому может быть интересен доклад? Н а й т и в и н т е р н е т е | Python разработчики любого уровня, которые: 3
  3. За рамками доклада Метрики количества решенных задач Они про «голую

    корректность» и межъязыковость. Например, SWEBench, LiveCodeBench MCP серверы Для VSCode Copilot и Claude Code легко подключаются по инструкции Локальные языковые модели Рассматриваем проприетарные инструменты, но озвученные далее подходы можно применять и к self-hosted решениям. Встраивание дополнительного знания Не рассматриваем методы RAG и Fine- tuning 4 Галлюцинации Редко встречал на практике Решение сложных задач Проще реализовать самому используя лишь механизм автодополнения (Tab, tab)
  4. Использование кастомных python инструкций Неправильная аннотация типов Вместо List, Tuple,

    Dict использовать list, tuple, dict Названия переменных Вместо exc, i, value Называть exception, index, business_value Использование for Где возможно, использовать list comprehension вместо простого for Наиболее частые проблемы: Злоупотребление if Следовать fail-fast. Проверять условие и прекращать цикл. Пренебрежение with Использовать with для любых операций с ресурсами и файлами Использование промптов • Общие инструкции, вдохновлено: https://github.com/DenisSergeevitch/chat gpt-custom-instructions • Саморефлексия • Правила ответа • Инструкции специфичные для типизированного питона 7
  5. Эксперимент 1 Дано: Шаблон фуллстэк FastAPI приложения Уже есть пользователи

    и аутентификация; Код имеет минимальное количество ошибок линтеров Линтеры с строгими правилами Mypy, ruff, wemake-python-styleguide, vulture, radon, bandit VSCode Copilot (с и без инструкции) Используемые модели: GPT 5, Claude Sonnet 4 Claude Code (с и без инструкции) Задача с бизнес логикой Реализация эндпоинтов для кошельков и переводов 8
  6. Эксперимент 2 Дано: Пустой проект Папка с данными и метаданные

    Линтеры с строгими правилами Mypy, ruff, wemake-python-styleguide, vulture, radon, bandit Задача на ML Реализация ML приложения для прогноза выживаемости на титанике (Kaggle) 10 VSCode Copilot (с и без инструкции) Используемые модели: GPT 5, Claude Sonnet 4 Claude Code (с и без инструкции)
  7. Решение: Subagents Формулировка задачи + ревью + тесты Разработчик Как

    настроить: https://docs.claude.com/en/docs/claude-code/sub- agents 14 Общее Main Тесты Subagent Код-ревью Subagent Фокус на задаче Контекстное окно у каждого сабагента своё и не заполнено процессом имплементации Делегирование Каждый сабагент может иметь свой набор инструкций под конкретные цели Метод перекрёстной проверки Одна модель судит другую, являясь экспертом в её области
  8. Сброс информации о проекте и контекста Изучение проекта Изучение структуры

    проекта при каждом запуске, что увеличивает время перед началом работы 1. Последние изменения Отсутствие информации об активно разрабатываемых частях приложения 2. Повторение плохих практик Повторение устаревшего стиля участков кода, и “мы вообще-то уже так не делаем” 3. Изобретение велосипеда Добавление (дублирование) функционала, который уже есть 4. 17
  9. Memory bank Сохраняет информацию о проекте для языковой модели. Полное

    описание проекта по нескольким пунктам: Пишем вручную краткое описание проекта Запускаем генерацию документации Описание продукта Контекст последних изменений Архитектура приложения Используемые технологии Взято с: https://kilocode.ai/docs/advanced-usage/memory-bank 18 Автоматизация рутинных задач
  10. Спасибо за внимание! Мой телеграм https://t.me/ dev_stvennica Репозиторий с python

    промптами github.com/ vodkar/ vscode-copilot-prompts 20 Kilo Code: Memory Bank