Техническое задание для курсовой работы
Тема:
Разработка автономного офлайн-ассистента-программиста
на базе ZIM-архивов с гибридным RAG-механизмом
(Google Gemini+VPN + OpenAI), системой наблюдения
и механизмом самопрограммирования.
Цель проекта:
Создать Windows-ориентированное консольное приложение на Python,
способное:
1. Скачивать и обновлять ZIM-архивы (библиотеки статей).
2. Индексировать содержимое архивов в векторное хранилище.
3. Отвечать на технические вопросы через Retrieval-Augmented Generation.
4. Запускать фоновый наблюдатель за обновлениями и ресурсами.
5. Самостоятельно анализировать, генерировать, рефакторить и тестировать код.
6. Оркестровать пул дочерних AI-агентов, обеспечивать их обучение и обмен опытом.
7. Предоставлять текстовый REPL-интерфейс и agent-CLI для управления сетью агентов.
Структура проекта:
project_root/
├── engine/
│ ├── __init__.py
│ ├── config.py
│ ├── zim_manager.py
│ ├── index_manager.py
│ ├── rag_manager.py
│ ├── resource_monitor.py
│ ├── observer.py
│ ├── notifications.py
│ ├── self_development.py # метрики + адаптация параметров
│ ├── meta_learning.py # KnowledgeDistiller + Multi-Armed Bandit
│ ├── agent_manager.py # MasterAgent + ChildAgent
│ ├── plugin_manager.py
│ ├── security_manager.py
│ ├── self_coding_manager.py # CodeSynthesizer, PatchApplier
│ └── code_review_manager.py # CodeQualityAnalyzer, RefactoringRecommender
├── scripts/
│ ├── download_zim_all.py
│ ├── cli.py
│ ├── agent_control.py
│ └── automate_kiwix.py
├── templates/
├── data/
├── requirements.txt
└── README.md
Новые модули и функции:
16) engine/self_coding_manager.py
• CodeSynthesizer.generate_feature(spec: dict) → код функции/класса.
• UnitTestGenerator.create_tests(module_path) → набор pytest-тестов.
• PatchApplier.apply_patch(target_file, diff) → интеграция изменений.
• SelfDebugLoop.run_cycle(): генерировать код → запуск тестов → фикс багов.
17) engine/code_review_manager.py
• CodeQualityAnalyzer.analyze(code_path) → метрики сложности, дубли.
• RefactoringRecommender.suggest_improvements(report) → Jinja2-шаблон рекомендаций.
• AutomatedRefactorer.execute(refactor_plan) → применение автозамен в AST.
Self-Improvement и Meta-Learning:
- SelfDevelopmentManager (engine/self_development.py):
• Сбор метрик: время отклика RAG, процент успешных тестов, качество кода.
• Ежедневный анализ: выявлять «узкие места» в функциях и агентах.
• Автоматический апгрейд: менять EMBED_MODEL, CHAT_MODEL, TOP_K.
- MetaLearner (engine/meta_learning.py):
• KnowledgeDistiller: агрегация эмбеддингов магистральных кусков кода.
• Multi-Armed Bandit для выбора лучшего агента-кодогенератора.
• Переобучение моделей эмбеддингов на новых паттернах кода.
Оркестрация агентов:
- MasterAgent (engine/agent_manager.py):
• register_agent(), dispatch_task(), monitor_agents().
• Иерархические очереди задач с Redis/Celery.
• Автоперезапуск упавших ChildAgent.
• Канал обратной связи через notifications.
Безопасность и плагинная система:
- PluginManager: песочница для сторонних агентов через subprocess/gRPC.
- SecurityManager:
• Ролевой доступ, аутентификация JWT.
• Шифрование ключей и логов (Fernet/AES).
• Аудит всех вызовов агентов.
Системные требования (дополненные):
• CPU: 8-ядерный Xeon/Threadripper
• RAM: ≥ 32 ГБ
• NVMe SSD ≥ 1 ТБ (RAID опционально)
• GPU-кластер CUDA (для ускорения кода и обучения)
• Выделенный VPN + балансировщик нагрузки
Первые тесты и бенчмаркинг:
1. Развёртывание MasterAgent + 3 ChildAgent, проверка failover.
2. SelfCodingLoop: генерация и прохождение тестов для 5 простых функций.
3. Рефакторинг large_module.py: снижение средней сложностной метрики Cyclomatic Complexity на 20 %.
4. MetaLearner: сравнить точность ответов до/после переобучения на 500 задачах.
5. Безопасность: попытка загрузки недоверенного плагина → откат и аудит.
Сроки и этапы (расширенные):
1. Проектирование и конфигурация (1 неделя)
2. ZIM-загрузчик + REPL + базовый RAG (2 недели)
3. Observer + notifications + security (2 недели)
4. Multi-Agent Orchestration + plugin (2 недели)
5. Self-Coding + Code-Review + Meta-Learning (3 недели)
6. Тестирование, оптимизация, документация (2 недели)
Преподаватель: ____________________ Дата выдачи: __.__.20__
Студент: ____________________ Дата сдачи: __.__.20__
Разделы:
Опубликован:
30.07.2025 | 17:50 [поднят: 30.07.2025 | 17:50] [последние изменения: 29.07.2025 | 17:46]
Заказ находится в архиве