AlphaEvolve Writing

Полное объяснение вы можете найти здесь
Пример истории, отправленной на конкурс, можно найти здесь
Современная эволюционная система письма, использующая ИИ-модели для генерации, оценки и развития креативных историй или текстов общего назначения с помощью итерационных конкурсов. Создана на основе чистой, модульной архитектуры Python с использованием современных принципов проектирования.
✨ Особенности
- 🧬 Эволюционный алгоритм: Истории развиваются через турниры на базе ИИ
- 🎯 Два режима письма: Креативное повествование и оптимизация общего текста
- 🏆 Турнирная система ELO: Сложная система ранжирования через парные сравнения
- 🌐 Веб-интерфейс: Инструменты для валидации человеком и сравнения историй
- 🔧 Настраиваемость: Широкие возможности настройки через JSON-конфигурирование
🚀 Быстрый старт
Установка
# Clone the repository
git clone https://github.com/your-org/alphaevolve-writing
cd alphaevolve-writingInstall with uv (recommended)
uv syncOr install with pip
pip install -e .Configure your API keys (see Configuration section below)
Запуск эволюции
# Run 5 evolution iterations
python evolve.py 5Fresh start with 3 iterations
python evolve.py 3 --freshUse general writing mode
python evolve.py 5 --generalShow help
python evolve.py --help
🏗️ Архитектура
Система следует современным принципам проектирования на Python с четким разделением ответственностей:
├── src/
│ ├── core/ # Pipeline orchestration
│ │ └── pipeline.py # Main EvolutionPipeline class
│ ├── generators/ # Story generation logic
│ │ ├── story_generator.py # Initial & next batch generators
│ │ ├── generate_response.py # Creative writing generation
│ │ ├── generate_response_general.py # General writing generation
│ │ └── judge_response.py # AI judging system
│ ├── rankers/ # ELO ranking system
│ │ ├── elo_rank.py # Core ELO algorithm
│ │ └── tournament_runner.py # Tournament management
│ └── utils/ # Utility functions
│ └── inference.py # Multi-provider LLM interface
├── evolve.py # Clean CLI entry point
├── pyproject.toml # Modern Python packaging
├── config.json # Configuration
└── web_interface/ # Web UI for validation
Ключевые компоненты
EvolutionPipeline: Главный оркестратор, управляющий полным циклом эволюцииInitialStoryGenerator: Создает первое поколение историй по заданным промптамNextBatchGenerator: Эволюционирует лучших исполнителей в улучшенные вариантыTournamentRunner: Управляет турнирами ELO для ранжирования историйEloRankingSystem: Реализует сложный алгоритм ранжирования
📖 Как это работает
Система использует трехступенчатый эволюционный цикл:
1. Генерация начального набора
- Создает несколько историй по вашему промпту
- Использует настраиваемые AI-модели (GPT, Claude, Llama и др.)
- Присваивает начальные рейтинги ELO
2. Проведение ELO-турнира
- Истории соревнуются в попарных сравнениях
- AI-судьи оценивают по вашему рубрикатору
- Рейтинги ELO обновляются в зависимости от побед/поражений
3. Генерация следующего набора
- Отбираются лучшие истории
- Генерируются улучшенные варианты
- Процесс повторяется для нескольких поколений
⚙️ Конфигурация
Базовая настройка
Отредактируйте эти ключевые файлы:
prompt.txt- Ваш промпт/тема для написанияrubric.txt- Критерии оценки для судействаconfig.json- Конфигурация системы
Настройка API-ключей
Система поддерживает нескольких AI-провайдеров, настраиваемых через config.json. Конфигурация связывает модели с провайдерами и указывает, в каких переменных окружения содержатся API-ключи:
{
"llm_providers": {
"openai": {
"type": "openai",
"base_url": "https://api.openai.com/v1",
"api_key_env": "OPENAI_API_KEY"
},
"anthropic": {
"type": "anthropic",
"api_key_env": "ANTHROPIC_API_KEY"
},
"deepinfra": {
"type": "openai_compatible",
"base_url": "https://api.deepinfra.com/v1/openai",
"api_key_env": "DEEPINFRA_API_KEY"
},
"deepseek": {
"type": "openai_compatible",
"base_url": "https://api.deepseek.com/v1",
"api_key_env": "DEEPSEEK_API_KEY"
},
"gemini": {
"type": "openai_compatible",
"api_key_env": "GEMINI_API_KEY",
"base_url": "https://generativelanguage.googleapis.com/v1beta/openai/"
}
},
"model_provider_mapping": {
"gpt-4": "openai",
"gpt-3.5-turbo": "openai",
"claude-3-sonnet-20240229": "anthropic",
"meta-llama/Meta-Llama-3-70B-Instruct": "deepinfra",
"deepseek-chat": "deepseek",
"gemini-2.5-flash": "gemini"
}
}
Затем установите свои ключи API в качестве переменных окружения:export OPENAI_API_KEY="your-openai-key" # For GPT models
export ANTHROPIC_API_KEY="your-anthropic-key" # For Claude models
export DEEPINFRA_API_KEY="your-deepinfra-key" # For Llama models
export DEEPSEEK_API_KEY="your-deepseek-key" # For DeepSeek models
export GEMINI_API_KEY="your-gemini-key" # For Gemini models
Вам нужно указывать ключи только для тех провайдеров, которыми вы планируете пользоваться. Система автоматически направляет запросы к моделям нужному провайдеру в соответствии с конфигурацией.Параметры конфигурации
Файл config.json управляет всеми аспектами работы системы:
{
"batch_generation": {
"num_stories": 10,
"model": "gpt-4",
"initial_elo": 1500
},
"elo_ranking": {
"tournament_rounds": 50,
"judge_model": "claude-3-sonnet-20240229",
"k_factor": 32
},
"next_batch_generation": {
"top_stories_to_select": 3,
"variants_per_story": 2,
"include_original_stories": true
},
"evolution_pipeline": {
"max_iterations": 5,
"auto_continue_from_existing": true
}
}
🎭 Режимы написания
Режим креативного письма (по умолчанию)
- Сфокусирован на повествовании, проработке персонажей и нарративных техниках
- Использует генерацию на основе миссий
- Оптимизирован для креативности и вовлечённости
Общий режим письма (--general)
- Сфокусирован на академических статьях, эссе, отчётах и профессиональном письме
- Использует аналитические и структурированные подходы
- Оптимизирован для ясности и убедительности
🔧 Расширенная настройка
Настройка стратегий генерации
Для опытных пользователей доступна возможность настроить подсказки генерации, стили авторов и наборы миссий путём редактирования файлов в каталоге src/generators/:
#### Кастомизация креативного письма (src/generators/generate_response.py)
Наборы миссий — Определяют креативные подходы и цели:
mission_sets = {
"emotional_depth": [
"Focus on the psychological depth of characters",
"Explore complex emotional landscapes",
"Create moments of genuine human connection"
],
"narrative_craft": [
"Experiment with unique narrative structures",
"Use vivid, sensory descriptions",
"Create compelling story arcs"
],
"dialogue_mastery": [
"Write authentic, character-specific dialogue",
"Use subtext and implied meaning",
"Balance dialogue with action and description"
]
}
Стили авторов — Имитация различных подходов к написанию:author_styles = [
"Write with the psychological insight of Virginia Woolf",
"Adopt the sparse, powerful prose of Ernest Hemingway",
"Use the magical realism style of Gabriel García Márquez",
"Employ the detailed world-building of Tolkien"
]
#### Общая настройка написания (src/generators/generate_response_general.py)Академические области - Ориентация на определённые направления письма:
academic_focuses = [
"Rigorous analytical argument development",
"Clear thesis statement and supporting evidence",
"Proper academic citation and source integration",
"Logical flow and coherent structure"
]
Подходы к написанию - Определите аналитические стратегии:writing_approaches = [
"Comparative analysis with multiple perspectives",
"Problem-solution framework with evidence",
"Cause-and-effect reasoning with examples",
"Critical evaluation with balanced arguments"
]
Настройка критериев оценки (src/generators/judge_response.py)
Вы можете изменить критерии оценки и подсказки для оценки, чтобы сосредоточиться на конкретных аспектах качества письма:
# Edit the judge_responses function to customize evaluation criteria
evaluation_criteria = [
"Technical writing proficiency",
"Creative originality and innovation",
"Emotional impact and reader engagement",
"Structural coherence and flow",
"Character development and authenticity"
]
Советы по расширенной настройке
- Создайте резервные копии оригинальных файлов: Всегда сохраняйте копии исходных файлов генератора перед внесением изменений
- Тестируйте поэтапно: Вносите небольшие изменения и тестируйте их на нескольких итерациях перед запуском полного цикла эволюции
- Отслеживайте результаты: Используйте веб-интерфейс для проверки того, что ваши настройки улучшают качество историй
- Смешивайте и сочетайте: Комбинируйте различные наборы миссий и стили авторов для создания уникальных стратегий генерации
- Контроль версий: Отслеживайте свои изменения с помощью git, чтобы при необходимости можно было откатить их
🌐 Веб-интерфейс
Проверьте результаты эволюции с помощью встроенного веб-интерфейса:
cd web_interface
pip install -r requirements.txt
python app.py
Откройте http://localhost:5000 для доступа:- Сравнение историй: Чтение бок о бок и выбор предпочтений
- Рейтинги ELO: Просмотр текущих позиций и статистики
- Отслеживание эволюции: Проверка улучшения последующих поколений
- Экспорт данных: Скачивание результатов для анализа
--- Tranlated By Open Ai Tx | Last indexed: 2025-07-18 ---