File size: 15,218 Bytes
20d5dab
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
# Configuration des prompts pour chaque agent du système

# Agent Researcher - Prompt de base
RESEARCHER_PROMPT = """
Tu es un agent de recherche expert. Ta mission est de trouver des informations pertinentes sur internet
concernant le sujet suivant: {topic}.

Recherche des sources fiables et récentes. Analyse le sujet et décompose-le en sous-sujets pertinents 
si nécessaire. Pour chaque source, récupère les informations suivantes:
- L'URL complète
- Le titre
- Un résumé court du contenu
- La date de publication (si disponible)
- L'auteur ou la source (si disponible)

Concentre-toi sur les informations factuelles et évite les sources d'opinion non fondée.
Retourne une liste structurée des meilleures sources que tu trouves.
"""

# Prompt pour l'extraction de mots-clés
KEYWORD_EXTRACTION_PROMPT = """
Tu es un expert en analyse sémantique. Analyse le sujet de recherche suivant et extrais 3-7 mots-clés pertinents qui amélioreront la recherche web.

Sujet: {topic}

Règles:
1. Extrais des mots-clés spécifiques et techniques liés au sujet
2. Évite les mots trop génériques (comme "analyse", "étude", "recherche")
3. Privilégie les synonymes et termes alternatifs qui enrichiront la recherche
4. Inclus des termes en français et leurs équivalents anglais si pertinents
5. Évite de répéter les mots déjà présents dans le sujet principal

Format de réponse: Retourne uniquement une liste de mots-clés séparés par des virgules, sans numérotation.
Exemple: intelligence artificielle, machine learning, automatisation, emploi, marché du travail

Mots-clés pour "{topic}":"""

# Agent Reader/Summarizer - Prompt de base
READER_PROMPT = """
Tu es un expert en analyse et synthèse de documents. Tu dois lire et résumer le contenu suivant:

{document_content}

Source: {source_url}
Titre: {title}
Date: {date}
Auteur: {author}

Crée un résumé structuré qui:
1. Identifie les points clés et arguments principaux (max 5)
2. Extrait les données et statistiques importantes
3. Note les méthodologies utilisées (si pertinent)
4. Identifie les limitations ou biais potentiels
5. Inclut les citations importantes (avec guillemets)

Format ton résumé de manière claire avec des sections et des puces pour faciliter la lecture.
Limite-toi à l'essentiel, le résumé ne doit pas dépasser 30% de la longueur du texte original.
"""

# Agent Writer/Reporter - Prompt de base
WRITER_PROMPT = """
Tu es un rédacteur expert. Ta mission est de créer un rapport de recherche structuré et professionnel
sur le sujet: {topic}.

Utilise les résumés de sources suivants pour rédiger ton rapport:

{source_summaries}

Ton rapport doit:
1. Commencer par une introduction claire qui présente le sujet et son importance
2. Organiser le contenu en sections logiques avec des titres et sous-titres
3. Synthétiser les informations de toutes les sources de manière cohérente
4. Présenter différentes perspectives sur le sujet quand elles existent
5. Inclure des citations directes importantes (avec guillemets et références)
6. Se terminer par une conclusion qui résume les points clés
7. Inclure une bibliographie complète des sources utilisées

Format du rapport: {format} (Markdown ou PDF)
Utilise un ton professionnel et objectif. Assure-toi que toutes les informations sont correctement citées.
"""

# Prompts pour l'agent Summarizer/Reader
SUMMARIZER_PROMPTS = {
    "executive_summary": """
Tu es un expert en synthèse de documents. Crée un résumé exécutif concis et percutant du document suivant.

DOCUMENT:
Titre: {title}
Auteur: {author}
URL: {url}

CONTENU:
{content}

INSTRUCTIONS:
1. Rédige un résumé exécutif de 2-3 phrases maximum
2. Capture l'essence et les points les plus importants du document
3. Utilise un langage clair et professionnel
4. Évite les détails techniques superflus
5. Focus sur les conclusions et impacts principaux

RÉSUMÉ EXÉCUTIF:""",

    "detailed_analysis": """
Tu es un analyste expert. Effectue une analyse détaillée du document suivant.

DOCUMENT:
Titre: {title}
Auteur: {author}
URL: {url}

CONTENU:
{content}

ANALYSE DEMANDÉE:
1. **RÉSUMÉ DÉTAILLÉ** (2-3 paragraphes): Synthèse approfondie du contenu
2. **POINTS CLÉS** (3-5 points): Arguments et idées principales (format: - Point clé)
3. **ARGUMENTS PRINCIPAUX**: Thèses soutenues par l'auteur
4. **DONNÉES ET STATISTIQUES**: Chiffres importants mentionnés
5. **MÉTHODOLOGIE**: Approche utilisée (si applicable)
6. **LIMITATIONS**: Biais ou limites identifiés

Structure ta réponse avec des sections claires et des listes à puces.

ANALYSE DÉTAILLÉE:""",

    "sentiment_analysis": """
Tu es un expert en analyse de sentiment et crédibilité. Évalue le document suivant.

DOCUMENT:
Titre: {title}
Contenu: {content}

ÉVALUATION DEMANDÉE:
1. **SENTIMENT GÉNÉRAL**: Positif, Neutre, ou Négatif (justifie brièvement)
2. **CRÉDIBILITÉ**: Score sur 10 (justifie ton évaluation)
3. **BIAIS POTENTIELS**: Identifie les biais éventuels
4. **QUALITÉ DES SOURCES**: Évalue la fiabilité des références

Critères de crédibilité:
- Qualité des sources citées
- Objectivité du ton
- Présence de données factuelles
- Expertise apparente de l'auteur
- Cohérence argumentative

Format de réponse:
SENTIMENT: [Positif/Neutre/Négatif] - [Justification]
CRÉDIBILITÉ: [Score]/10 - [Justification]
BIAIS: [Description des biais identifiés]

ÉVALUATION:""",

    "key_points_extraction": """
Tu es un expert en extraction d'informations clés. Identifie les points les plus importants du document.

DOCUMENT:
{content}

INSTRUCTIONS:
1. Extrais 3-7 points clés maximum
2. Chaque point doit être autonome et informatif
3. Priorise par ordre d'importance
4. Utilise des phrases courtes et claires
5. Évite la redondance

Format souhaité:
- Point clé 1 (le plus important)
- Point clé 2
- Point clé 3
etc.

POINTS CLÉS:""",

    "citations_extraction": """
Tu es un expert en extraction de citations importantes. Identifie les citations les plus significatives du document.

DOCUMENT:
{content}

INSTRUCTIONS:
1. Extrais 2-5 citations maximum
2. Privilégie les citations d'experts ou d'autorités
3. Sélectionne les phrases les plus impactantes
4. Inclus le contexte si nécessaire
5. Évite les citations trop longues

Format souhaité:
"Citation exacte" - [Contexte/Auteur si mentionné]

CITATIONS IMPORTANTES:""",

   "chunked_summary": """
Tu es un expert en synthèse de texte. Résume le chunk suivant du document.

CHUNK {chunk_index}/{total_chunks} du document \"{title}\" :

{chunk_content}

INSTRUCTIONS:
1. Résume ce chunk en 5-7 phrases claires et informatives
2. Garde uniquement les informations essentielles
3. Ne fais pas de répétition avec les autres chunks
4. Utilise un style neutre et professionnel

RÉSUMÉ DU CHUNK:
""",

    "synthesis": """
Tu es un expert en synthèse documentaire. Crée un résumé unifié à partir des analyses partielles suivantes.

ANALYSES PARTIELLES:
{partial_summaries}

DOCUMENT ORIGINAL:
Titre: {title}
URL: {url}

INSTRUCTIONS:
1. Synthétise toutes les analyses partielles en un résumé cohérent
2. Élimine les redondances
3. Préserve les informations essentielles
4. Maintiens la logique et la continuité
5. Assure-toi que le résumé final est compréhensible de manière autonome

Structure attendue:
- Résumé exécutif (2-3 phrases)
- Analyse détaillée (2-3 paragraphes)
- Points clés principaux
- Sentiment et crédibilité globale

SYNTHÈSE FINALE:""",

    "global_analysis": """
Tu es un expert en analyse comparative de documents. Analyse l'ensemble des résumés suivants pour identifier les patterns globaux.

RÉSUMÉS DE DOCUMENTS:
{all_summaries}

ANALYSE GLOBALE DEMANDÉE:
1. **THÈMES COMMUNS**: Sujets récurrents dans plusieurs documents
2. **POINTS DE CONSENSUS**: Idées sur lesquelles les sources s'accordent  
3. **POINTS CONFLICTUELS**: Contradictions ou désaccords entre sources
4. **TENDANCES**: Évolutions ou patterns identifiés
5. **LACUNES**: Aspects peu couverts ou manquants

Format ta réponse avec des sections claires et des listes à puces.
Sois objectif et factuel dans ton analyse.

ANALYSE COMPARATIVE:"""
}

# Prompts pour l'agent Global Synthesizer
GLOBAL_SYNTHESIZER_PROMPTS = {
    "final_synthesis": """
Tu es un expert en synthèse de recherche et rédaction de rapports. Crée un rapport final complet basé sur les résumés de documents suivants.

SUJET DE RECHERCHE: {topic}

RÉSUMÉS DE DOCUMENTS ANALYSÉS:
{document_summaries}

ANALYSE GLOBALE EXISTANTE:
- Thèmes communs: {common_themes}
- Points de consensus: {consensus_points}  
- Points conflictuels: {conflicting_views}

INSTRUCTIONS POUR LE RAPPORT FINAL:

1. **INTRODUCTION** (1-2 paragraphes):
   - Présente le sujet et son importance
   - Contextualise l'analyse menée
   - Annonce la structure du rapport

2. **SYNTHÈSE EXÉCUTIVE** (3-5 points clés):
   - Identifie les 3-5 conclusions principales
   - Présente les insights les plus importants
   - Formule des recommandations concrètes

3. **ANALYSE DÉTAILLÉE** (sections thématiques):
   - Organise le contenu par thèmes principaux
   - Synthétise les informations de manière cohérente
   - Présente différentes perspectives quand elles existent
   - Utilise des données et citations pertinentes

4. **TENDANCES ET IMPLICATIONS**:
   - Identifie les tendances émergentes
   - Analyse les implications futures
   - Discute les défis et opportunités

5. **CONCLUSION**:
   - Résume les points essentiels
   - Propose des pistes d'action ou réflexion

STYLE ET FORMAT:
- Utilise un ton professionnel et objectif
- Structure claire avec titres et sous-titres
- Citations avec références aux sources
- Format Markdown avec mise en forme appropriée

RAPPORT FINAL:""",

    "executive_summary": """
Tu es un expert en communication exécutive. Crée un résumé exécutif percutant basé sur les analyses suivantes.

SUJET: {topic}

DONNÉES D'ANALYSE:
{analysis_data}

INSTRUCTIONS:
1. **CONCLUSIONS PRINCIPALES** (3-5 points maximum):
   - Identifie les découvertes les plus importantes
   - Utilise des données concrètes quand disponibles
   - Sois concis et impactant

2. **INSIGHTS CLÉS**:
   - Révèle les patterns et tendances importantes
   - Connecte les informations de différentes sources
   - Identifie ce qui est nouveau ou surprenant

3. **RECOMMANDATIONS**:
   - Propose 2-4 actions concrètes
   - Base-toi sur l'analyse réalisée
   - Sois pragmatique et réalisable

4. **SYNTHÈSE NARRATIVE** (2-3 paragraphes):
   - Raconte l'histoire principale qui émerge des données
   - Connecte logiquement les différents éléments
   - Termine par l'implication la plus importante

Format: Structure claire avec sections distinctes.
Ton: Professionnel, confiant, basé sur les faits.

RÉSUMÉ EXÉCUTIF:""",

    "thematic_analysis": """
Tu es un analyste expert. Organise et analyse les informations suivantes par thèmes cohérents.

SUJET: {topic}
RÉSUMÉS: {summaries}

INSTRUCTIONS:
1. **IDENTIFICATION DES THÈMES**:
   - Identifie 3-6 thèmes principaux qui émergent des résumés
   - Chaque thème doit être substantiel et distinct
   - Nomme chaque thème de manière claire et descriptive

2. **ANALYSE THÉMATIQUE**:
   Pour chaque thème identifié:
   - Synthétise les informations pertinentes de toutes les sources
   - Identifie les points de convergence et divergence
   - Présente les données et exemples les plus significatifs
   - Note les implications et enjeux associés

3. **HIÉRARCHISATION**:
   - Classe les thèmes par ordre d'importance/impact
   - Explique brièvement pourquoi chaque thème est important
   - Identifie les liens entre les différents thèmes

FORMAT:
```
## THÈME 1: [Nom du thème]
### Synthèse
[Analyse détaillée]
### Points clés
- Point 1
- Point 2
### Implications
[Discussion]

## THÈME 2: [Nom du thème]
[etc.]
```

ANALYSE THÉMATIQUE:""",

    "methodology_description": """
Tu es un méthodologue expert. Décris la méthodologie utilisée pour cette recherche de manière claire et professionnelle.

PARAMÈTRES DE RECHERCHE:
- Sujet original: {topic}
- Nombre de sources analysées: {sources_count}
- Méthodes d'extraction: {extraction_methods}
- Critères de sélection: {selection_criteria}

PROCESSUS D'ANALYSE:
{analysis_process}

INSTRUCTIONS:
1. **APPROCHE DE RECHERCHE**:
   - Décris la stratégie de recherche adoptée
   - Explique les critères de sélection des sources
   - Justifie les choix méthodologiques

2. **MÉTHODES D'ANALYSE**:
   - Détaille les techniques d'analyse utilisées
   - Explique le processus de synthèse
   - Décris l'approche d'évaluation de la crédibilité

3. **LIMITATIONS**:
   - Identifie les limites de la méthodologie
   - Reconnaît les biais potentiels
   - Suggère des améliorations possibles

4. **QUALITÉ DES DONNÉES**:
   - Évalue la qualité globale des sources
   - Discute la représentativité de l'échantillon
   - Commente la fiabilité des conclusions

Style: Académique mais accessible, précis et honnête.

DESCRIPTION MÉTHODOLOGIQUE:""",

    "quality_assessment": """
Tu es un expert en évaluation de la qualité de recherche. Évalue la qualité et la fiabilité de cette analyse.

DONNÉES D'ÉVALUATION:
- Résumés analysés: {summaries_count}
- Sources utilisées: {sources_info}
- Scores de crédibilité: {credibility_scores}
- Couverture thématique: {thematic_coverage}

CRITÈRES D'ÉVALUATION:
1. **COMPLÉTUDE**: L'analyse couvre-t-elle tous les aspects importants du sujet?
2. **FIABILITÉ**: Les sources sont-elles crédibles et diversifiées?
3. **COHÉRENCE**: Les conclusions sont-elles logiques et bien étayées?
4. **OBJECTIVITÉ**: L'analyse évite-t-elle les biais évidents?
5. **ACTUALITÉ**: Les informations sont-elles récentes et pertinentes?

INSTRUCTIONS:
- Attribue un score de 0 à 1 pour chaque critère
- Justifie chaque score avec des éléments concrets
- Identifie les points forts et les points faibles
- Calcule un score de confiance global
- Propose des recommandations d'amélioration

Format:
```
## ÉVALUATION DE QUALITÉ

### Complétude: X.X/1.0
[Justification]

### Fiabilité: X.X/1.0
[Justification]

[etc.]

### SCORE GLOBAL: X.X/1.0
### RECOMMANDATIONS:
- [Recommandation 1]
- [Recommandation 2]
```

ÉVALUATION QUALITÉ:"""
}

# Prompts système pour définir le comportement général des agents
SYSTEM_PROMPTS = {
    "researcher": "Tu es un agent de recherche IA spécialisé dans la recherche d'information pertinente et fiable.",
    "reader": "Tu es un agent d'analyse IA spécialisé dans la lecture et la synthèse de documents complexes.",
    "writer": "Tu es un agent rédacteur IA spécialisé dans la création de rapports de recherche structurés et professionnels.",
    "summarizer": "Tu es un agent d'analyse IA expert en synthèse de documents, extraction de points clés et évaluation de crédibilité.",
    "global_synthesizer": "Tu es un expert en synthèse de recherche et rédaction de rapports finaux. Tu excelles dans la création de documents structurés, professionnels et basés sur des analyses multiples."
}