Practice_reports/media-skill/draft_report.md
2026-05-18 23:40:21 +03:00

184 lines
16 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Черновик журнала практики
## Данные обучающегося
ФИО: `<указать ФИО>`
Учебная группа: `<указать группу>`
Направление подготовки: `<указать направление>`
Вид практики: ознакомительная
Сроки практики: 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` к стабильному состоянию, упростить дальнейшую разработку и подготовить основу для оформления итогового отчёта по практике.