🎯 О чём этот конспект: Разбор процесса создания образовательной платформы с интегрированным AI-ассистентом на базе GitHub Copilot SDK. Автор демонстрирует, как превратить обычный редактор кода в интерактивную обучающую среду, где нейросеть не просто пишет код за ученика, а направляет его через наводящие вопросы и подсказки.
👤 Кому будет полезно: Разработчикам образовательных платформ, вайбкодерам, создающим SaaS-решения, и преподавателям программирования, которые хотят автоматизировать поддержку студентов.
✨ Что получите: Пошаговый алгоритм интеграции GitHub Copilot SDK в Python-приложение, примеры системных промптов для изменения поведения AI (от «кодинг-машины» к «наставнику») и методику использования Cursor/Copilot для рефакторинга UI.
1. Изоляция логики агента и настройка поведения
Контекст: Прежде чем внедрять AI в сложное приложение, необходимо протестировать его "личность" и логику в отдельном скрипте. Ключевая проблема стандартных LLM — они сразу выдают готовое решение, что вредно для обучения. Настройка через системный промпт позволяет ограничить ассистента, заставляя его работать в режиме сократического диалога (обучение через вопросы).
Выгода: Вы получаете предсказуемое поведение AI, который мотивирует пользователя думать самостоятельно, а не просто копировать код.
Как применить:
Шаг 1: Инициализация клиента — [GitHub Copilot SDK] — Создайте базовый скрипт main.py, подключите клиент и выберите модель (например, Claude 3.5 Sonnet или GPT-4o).
Шаг 2: Настройка системного промпта — [Python] — Определите строгие правила игры для AI.
# Пример настройки системного сообщения в main.pysystem_message = """You are a Python tutor helping beginner Python developers practice coding. Guide them with hints and questions rather than providing direct solutions. Use a friendly, encouraging tone. Never give the full code solution immediately."""# Тестовый запрос для проверки поведенияuser_prompt = "How do I write a function to find the maximum number in a list in Python?"
Результат: Изолированный прототип агента, который вместо return max(list) объясняет логику итерации или предлагает использовать встроенные функции.
2. Интеграция агента в существующее приложение через Copilot Agent Mode
Контекст: Когда логика агента отлажена, её нужно перенести в основной файл приложения (например, на Streamlit или Flask). Вместо ручного копирования функций и настройки стилей, используется "Agent Mode" в GitHub Copilot или Cursor. Это позволяет передать AI контекст всей кодовой базы и поставить комплексную задачу по обновлению UI и логики одновременно.
Выгода: Сокращение времени на рутинную верстку и связку бэкенда с фронтендом на 70-80%.
Как применить:
Шаг 1: Подготовка контекста — [VS Code / Cursor] — Откройте файл с логикой приложения (learn_app.py) и файл с прототипом агента (main.py).
Шаг 2: Формирование комплексного промпта — [Copilot Chat] — Используйте режим агента для выполнения 5 задач одновременно:
1. Интегрируй логику из main.py в learn_app.py.2. Замени плейсхолдер в 'column 2' на функциональный чат-интерфейс.3. Обнови UI/UX чата, чтобы он соответствовал существующему дизайну (используй те же hex-цвета).4. Следуй лучшим практикам AI Chat UI (индикаторы печати, скролл).5. Настрой передачу контекста: агент должен видеть текущий код в редакторе и вывод консоли (ошибки), чтобы давать релевантные советы.
Результат: Полностью рабочая правая панель приложения с кнопками "Explain my code", "Help debug" и полем ввода, которая "видит" ошибки ученика в реальном времени.
3. Передача контекста выполнения (Code + Output) для глубокого дебаггинга
Контекст: Обычный чат-бот не знает, что происходит в редакторе пользователя. Чтобы AI стал настоящим тьютором, ему нужно передавать два потока данных: текущий текст кода и результат его выполнения (stdout/stderr). Если ученик инициализировал max_num = 0 и запустил тест с отрицательными числами, AI должен увидеть ошибку в консоли и указать на логическую нестыковку.
Выгода: AI дает советы не "вообще по теме", а по конкретной ошибке, которую совершил пользователь прямо сейчас.
Как применить:
Шаг 1: Сбор данных — [Python/SDK] — Настройте функцию отправки сообщения так, чтобы она упаковывала текущее состояние редактора.
Шаг 2: Реализация подсказок — [LLM] — Настройте агента так, чтобы он анализировал разницу между "Expected" и "Actual" результатом.
Пример ответа AI-тьютора при ошибке:
"Я вижу, что твой код вернул 0 вместо -1. Давай подумаем: что произойдет, если все числа в списке будут отрицательными, а ты начинаешь отсчет с нуля? Какой начальный элемент списка был бы более безопасным для сравнения?"
Результат: Интерактивный процесс отладки, максимально приближенный к парному программированию с живым ментором.
FAQ
В: Какие модели поддерживает GitHub Copilot SDK? О: SDK поддерживает широкий спектр моделей, включая семейство GPT (от OpenAI) и Claude (от Anthropic, например, Claude 3.5 Sonnet). Выбор модели осуществляется при инициализации сессии клиента в коде.
В: Можно ли заставить AI вообще не писать код, а только давать советы? О: Да, это регулируется через system_message. Нужно четко прописать инструкцию: "Do not provide code snippets unless the user is completely stuck after 3 attempts". LLM отлично соблюдают такие ролевые ограничения.
В: Как AI узнает, что код пользователя выдал ошибку? О: При отправке запроса к API Copilot SDK, в контекст сообщения (payload) программно добавляется содержимое окна вывода (output console). Таким образом, промпт для AI выглядит как: "Код пользователя: [код], Ошибка: [текст ошибки], Вопрос: Что не так?".
В: Нужно ли платить за каждый запрос через SDK? О: Использование GitHub Copilot SDK обычно привязано к корпоративным или индивидуальным лицензиям Copilot. Тарификация зависит от условий использования API GitHub для разработчиков.
В: Сложно ли стилизовать чат под дизайн моего сайта? О: Если использовать Agent Mode (как показано в видео), AI сам анализирует CSS или переменные темы (hex-коды) вашего приложения и создает новые компоненты (кнопки, окна чата) в том же стиле, сохраняя визуальную целостность.
Конспект создан на основе видео «How I'm building an AI Python Tutor with GitHub Copilot SDK» канала April Speight. Все права на оригинальный материал принадлежат авторам.Источник: https://www.youtube.com/watch?v=N3my6W_Rdwg