# Черновик журнала практики ## Данные обучающегося ФИО: `<указать ФИО>` Учебная группа: `<указать группу>` Направление подготовки: `<указать направление>` Вид практики: ознакомительная Сроки практики: 09.02.2026 - 07.06.2026 Место прохождения практики: `<указать место из приказа>` Индивидуальное задание: разработка и сопровождение проекта `media-skill`, предназначенного для генерации и обработки медиа-контента с использованием инструментов искусственного интеллекта. ## 1. План выполнения индивидуального задания | № | Место проведения | Тема / этап | Период выполнения | |---|---|---|---| | 1 | `<указать место из приказа>` | Инструктаж по технике безопасности, знакомство с целями практики и структурой проекта | 09.02.2026 | | 2 | `<указать место из приказа>` | Изучение репозитория `media-skill`, анализ структуры модулей и сценариев запуска | 10.02.2026 - 23.02.2026 | | 3 | `<указать место из приказа>` | Анализ функциональности проекта: генерация изображений, мемов, видео, озвучки, удаление фона, анализ изображений | 24.02.2026 - 16.03.2026 | | 4 | `<указать место из приказа>` | Работа с Git-репозиторием: проверка веток, синхронизация с удалённым репозиторием, разрешение конфликтов | 17.03.2026 - 06.04.2026 | | 5 | `<указать место из приказа>` | Приведение проекта к аккуратному состоянию: очистка временных файлов, настройка `.gitignore`, удаление неактуальных веток | 07.04.2026 - 27.04.2026 | | 6 | `<указать место из приказа>` | Изучение subagent-интеграции, файлов `SKILL.md`, `SUBAGENT.md`, `ACP.md` и сценариев локального запуска | 28.04.2026 - 18.05.2026 | | 7 | `<указать место из приказа>` | Подготовка материалов отчёта, описание выполненных работ и полученных результатов | 19.05.2026 - 06.06.2026 | | 8 | `<указать место из приказа>` | Оформление отчёта. Подведение итогов | 07.06.2026 | ## 2. Отзыв руководителя практики Обучающийся группы `<указать группу>` `<указать ФИО>` проходил практику в `<указать место из приказа>`. В ходе практики обучающийся изучил структуру проекта `media-skill`, предназначенного для генерации и обработки медиа-контента. Были рассмотрены основные части проекта: сценарии генерации изображений и видео, модуль создания мемов, инструменты для работы с озвучкой, модуль удаления фона, анализ изображений, а также файлы, отвечающие за интеграцию проекта как локального subagent-инструмента. Практикант выполнил работы по анализу состояния Git-репозитория, синхронизации локальной версии с удалённым репозиторием, разрешению конфликта при обновлении ветки `master`, очистке временных и сгенерированных файлов, настройке правил `.gitignore`, удалению неактуальных локальных и удалённых веток. По итогам работы основная ветка проекта была приведена к чистому и синхронизированному состоянию. За время прохождения практики обучающийся показал навыки работы с системами контроля версий, умение анализировать структуру существующего программного проекта, аккуратно разрешать конфликты, поддерживать порядок в репозитории и документировать выполненные действия. Материалы, изложенные в отчёте обучающегося, полностью соответствуют индивидуальному заданию, рекомендуемая оценка «отлично». ## 3. Отчёт обучающегося по практике ### 3.1. Цель и задачи практики Целью практики являлось знакомство с реальным программным проектом, изучение его структуры, инструментов разработки и сопровождения, а также выполнение практических задач по приведению репозитория к рабочему и аккуратному состоянию. В рамках практики были поставлены следующие задачи: - изучить назначение проекта `media-skill`; - проанализировать структуру репозитория и основные модули; - разобраться с принципами запуска проекта и интеграции в виде локального subagent-инструмента; - проверить состояние веток и удалённого репозитория; - выполнить синхронизацию локальной и удалённой версий; - устранить временные и сгенерированные файлы, мешающие работе с репозиторием; - настроить правила игнорирования служебных файлов; - удалить неактуальные ветки после проверки их состояния; - подготовить материалы для отчёта. ### 3.2. Общая характеристика проекта Проект `media-skill` представляет собой набор инструментов для генерации и обработки медиа-контента. Он объединяет несколько направлений работы с изображениями, видео и аудио. В проекте присутствуют модули для генерации изображений, создания мемов, подготовки коротких видео, работы с озвучкой, удаления фона с изображений, анализа фото и обработки клипов. В корне проекта расположены основные управляющие файлы: - `entry.py` - основной входной сценарий для запуска пользовательских запросов; - `SKILL.md` - описание возможностей проекта как навыка; - `SUBAGENT.md` - инструкция для использования проекта в режиме локального субагента; - `ACP.md` и `acp_server.py` - материалы и код, связанные с Agent Communication Protocol; - `.gitignore` - правила исключения локальных и сгенерированных файлов из Git. Также проект содержит отдельные директории по направлениям: - `image-generation` - генерация и редактирование изображений; - `meme-gen` - создание мемов; - `story-gen` - генерация сценариев и трендовых идей; - `video-generation` - генерация видео; - `voice` - озвучка и работа с аудио; - `ffmpeg-editing` - обработка видео через FFmpeg; - `remove-background` - удаление фона; - `face-analyzer` - анализ изображений; - `clip-extractor` - извлечение клипов из видео. ### 3.3. Анализ состояния репозитория На первом этапе было проверено локальное состояние репозитория. Проект находился в каталоге `C:\Users\HONOR\media-skill`. Удалённый репозиторий был настроен на адрес: ```text https://git.lambda.coredump.ru/media-skill/media-skill.git ``` Изначально локальная рабочая ветка отличалась от удалённой. Также в рабочем дереве находились временные файлы, появившиеся после запуска сборщика трендов: лог `trend_collector.log`, временные файлы в каталоге `story-gen/scripts/trends`, а также изменённый файл `trends_cache.json`. Перед синхронизацией были проверены: - текущая ветка; - локальные ветки; - удалённые ветки; - последние коммиты; - незакоммиченные изменения; - содержимое временных файлов. ### 3.4. Очистка временных файлов После анализа было установлено, что часть изменений относится не к исходному коду проекта, а к результатам локального запуска скриптов. Такие файлы не должны попадать в основной репозиторий, так как они усложняют проверку изменений и создают лишний шум в истории Git. Были удалены сгенерированные файлы трендов, временный лог `trend_collector.log`, директории `__pycache__`, а также временный swap-файл Git-редактора. Изменение файла `trends_cache.json` было возвращено к состоянию из репозитория. Это позволило получить чистое рабочее дерево и подготовить проект к безопасной синхронизации с удалённым репозиторием. ### 3.5. Настройка `.gitignore` В процессе работы был улучшен файл `.gitignore`. В него было добавлено правило: ```gitignore *.log ``` Это правило исключает локальные лог-файлы из отслеживания Git. Также была исправлена некорректная строка: ```gitignore tests/` ``` Она была заменена на корректное правило: ```gitignore tests/ ``` В результате файл `.gitignore` стал аккуратнее, а риск случайного добавления временных файлов в репозиторий уменьшился. ### 3.6. Синхронизация с удалённым репозиторием После восстановления доступа к удалённому репозиторию была выполнена синхронизация с сервером. Удалённая ветка `master` содержала новые коммиты, поэтому локальная ветка была приведена к актуальному состоянию через `fetch` и `rebase`. Во время rebase возник конфликт в файле `SUBAGENT.md`. Конфликт произошёл из-за того, что локальная ветка и серверная ветка содержали разные версии инструкции для subagent-режима. После анализа было принято решение оставить более актуальную серверную версию, так как она уже отражала новую структуру локального subagent-запуска. Старый конфликтующий коммит был пропущен, а чистящие коммиты были применены поверх свежей версии `master`. После этого изменения были отправлены в удалённый репозиторий. ### 3.7. Работа с ветками В ходе работы были проверены локальные и удалённые ветки. Локальные ветки, которые уже были слиты в `master`, были удалены. После синхронизации также были удалены неактуальные удалённые ветки: - `feature/deepagents-media-agent`; - `feature/tts-generator`; - `wip/story-gen`; - `feat/subagent-support`. После удаления веток на сервере осталась актуальная основная ветка `master`, указывающая на последний коммит: ```text 8acf419 chore: tidy gitignore patterns ``` Финальное состояние репозитория: ```text master...origin/master working tree clean ``` ### 3.8. Полученные результаты По итогам практической работы были достигнуты следующие результаты: - найден локальный каталог проекта `media-skill`; - подтверждена связь с удалённым репозиторием; - проверено состояние локальных и удалённых веток; - очищены временные и сгенерированные файлы; - настроены правила игнорирования логов и тестовых артефактов; - разрешён конфликт при синхронизации с удалённой веткой; - локальный `master` синхронизирован с `origin/master`; - удалены неактуальные ветки; - репозиторий приведён к чистому и удобному для дальнейшей работы состоянию. ### 3.9. Вывод В ходе практики были получены и закреплены навыки работы с реальным Git-репозиторием, анализа структуры программного проекта, сопровождения существующего кода и аккуратного разрешения конфликтов. Также была изучена организация проекта, связанного с генерацией и обработкой медиа-контента, и рассмотрены особенности подготовки такого проекта к запуску в режиме локального subagent-инструмента. Выполненная работа позволила привести репозиторий `media-skill` к стабильному состоянию, упростить дальнейшую разработку и подготовить основу для оформления итогового отчёта по практике.