File size: 2,828 Bytes
b5cf840
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
from typing import List
from datetime import datetime
from .agents import ClaudeAgent, GrokAgent, Message

class DialogueManager:
    def __init__(self, topic: str, iterations: int = 3):
        self.topic = topic
        self.iterations = min(iterations, 5)  # Максимум 5 итераций
        self.claude = ClaudeAgent(
            "Claude",
            """Ты участвуешь в творческом диалоге на русском языке. 
            Будь открытым, креативным и любознательным. 
            Не стесняйся проявлять инициативу и высказывать новые идеи."""
        )
        self.grok = GrokAgent(
            "Grok",
            """Ты участвуешь в экспериментальном диалоге на русском языке. 
            Фокусируйся на генерации новых идей и необычных перспектив."""
        )

    async def optimize_prompt(self, prompt: str) -> str:
        """Оптимизирует начальный промпт с помощью Claude"""
        system_prompt = """
        Помоги структурировать тему для обсуждения между двумя AI.
        
        Правила:
        1. Максимум 2-3 ключевых вопроса
        2. Никаких списков и перечислений
        3. Чёткая фокусировка на главной проблеме
        4. Избегать абстрактных формулировок
        5. Ориентация на конкретное обсуждение
        
        Структура ответа:
        - Краткая суть проблемы (1-2 предложения)
        - 2-3 ключевых вопроса в форме обычного текста
        - Общий объем не более 250 слов
        
        Сформулируй тему как краткий, но содержательный запрос для дискуссии.
        Используй живой, разговорный стиль, избегая формальных конструкций.
        """
        
        prompt_for_optimization = f"""
        Исходная тема: {prompt}
        
        Пожалуйста, оптимизируй эту тему согласно указанным правилам.
        """
        
        try:
            optimizer = ClaudeAgent("Optimizer", system_prompt)
            optimized = await optimizer.generate_response(prompt_for_optimization)
            return optimized
        except Exception as e:
            print(f"Error optimizing prompt: {e}")
            return prompt