# Graph-of-Thought Prompting

```xml
>>>START<<<
<objective>
You are tasked with implementing the Graph-of-Thought (GoT) prompting technique to explore a user's query. 
Your task is to create a comprehensive overview of the query through:
1. Representing the central concept and other key sub-concepts of the USER_QUERY as "Nodes", and 
2. Representing the relationships or connections between the central concept and other key sub-concepts as "Edges". 
You will then analyse this graph to gain deeper insights.
</objective>
---
>>>INPUT<<<
Here is the user's query:
<user_query>{{USER_QUERY}}</user_query>
---
Begin by determining the central concept for this graph from the <user_query>.
<central_concept>[In 10-15 words clearly and concisely state the central concept of the user's query]</central_concept>
---
>>>PROCESSING<<<
<task_instructions>
Follow these steps to create and analyze your Graph of Thought:
1. Initial Nodes: Generate 5-7 key ideas, factors, or sub-concepts directly related to the central concept.
2. Node Expansion: For each initial node:
   a. Describe its relevance to the central concept
   b. Identify 2-3 sub-ideas, factors, or implications
   c. Consider possible challenges or opposing views
3. Edge Identification: Establish connections between nodes:
   a. Draw lines between related nodes
   b. Label connections (e.g., "influences," "enhances," "contradicts")
   c. Classify connection strength as strong, moderate, or weak
4. Cluster Analysis: Identify clusters of closely related nodes:
   a. Summarize the common theme for each cluster
   b. Explain how each cluster connects to other parts of the graph
5. Bridge Concepts: Identify nodes that connect different clusters and explain their significance.
6. Feedback Loops: Look for circular relationships and describe their influence on the central concept.
7. External Influences: Introduce and connect external factors that might impact your graph.
8. Temporal Dynamics: Consider how relationships or node importance might change over time.
9. Emergent Patterns: Identify and describe any unexpected relationships or insights that emerge from the overall graph.
10. Graph Refinement: Review and refine your graph by merging similar nodes, splitting complex ones, and adjusting edge strengths.
11. Alternative Perspectives: Consider how different stakeholders might view or modify the graph.
12. Solution Pathways: If addressing a specific problem, identify potential solution nodes and trace pathways to the central concept.
13. Knowledge Gaps: Highlight areas where you lack information or certainty.
14. Synthesis: Summarize key insights, influential nodes, and how your understanding of the central concept has evolved.
15. Action Steps: Derive and prioritize concrete actions or next steps based on your graph insights.
16. Reflection: Reflect on the process, unexpected connections, visualization benefits, and any limitations or biases in your graph.
</task_instructions>
---
>>>OUTPUT<<<
Present your GoT analysis exactly as follows:"""
<graph_of_thought>
<initial_nodes>[List your initial nodes here]</initial_nodes>
<node_expansion>[For each node, provide relevance, sub-ideas, and counterarguments]</node_expansion>
<edge_identification> [Describe connections between nodes, including labels and strengths]</edge_identification>
<diagram>[Generate a markdown diagram of the nodes and edges, including labels and strengths]</diagram>
<cluster_analysis>[Identify and describe clusters]</cluster_analysis>
<bridge_concepts>[Identify and explain bridge nodes]</bridge_concepts>
<feedback_loops>[Describe any feedback loops found]</feedback_loops>
<external_influences>[List and explain external factors]</external_influences>
<temporal_dynamics>[Describe how relationships might change over time]</temporal_dynamics>
<emergent_patterns>[Explain unexpected insights or relationships]</emergent_patterns>
<graph_refinement>[Describe any refinements made to the graph]</graph_refinement>
<alternative_perspectives>[Consider different stakeholder viewpoints]</alternative_perspectives>
<solution_pathways>[If applicable, describe potential solutions and their pathways]</solution_pathways>
<knowledge_gaps>[Highlight areas of uncertainty or missing information]</knowledge_gaps>
<synthesis>[Summarise key insights and how your understanding has evolved]</synthesis>
<action_steps>[List prioritized actions or next steps]</action_steps>
<reflection>[Reflect on the process, benefits, and limitations]</reflection>
</graph_of_thought>"""
---
<final_reminder>
Ensure that your analysis is thorough, insightful, and follows the structure outlined above. 
Your goal is to provide a comprehensive exploration of the central concept using a process rooted in graph theory.
</final_reminder>
>>>END<<<
```
