Prompt per lo sviluppo di una idea o di un progetto

Oggi ho scoperto dentro GitHub (https://github.com/carterleffen/chatgpt-prompts/blob/main/ideation.prompt) questo fantastico prompt di Carter Leffen, che permette di interagire con ChatGPT con la finalitá di sviluppare una idea o un progetto in modo davvero completo. Ho provato il prompt e ne sono rimasto davvero entusiasta, e per questo ho deciso di condividere con voi l’anatomia del prompt in modo da poter capire insieme il meccanismo del funzionamento. Alla fine dell’articolo inseriró un video per una dimostrazione pratica del prompt

Il prompt è diviso in tre parti principali: Introduzione, Planning e Bonus.

  • Durante l’introduzione, il prompt ti guida attraverso un processo di domande e risposte per capire meglio la tua idea e iniziare a svilupparla.
  • Durante la fase di pianificazione, il prompt ti guida attraverso la creazione di un piano dettagliato, diviso in fasi, milestone e task.
  • Nella parte finale, il prompt ti fornisce due bonus opzionali: un diagramma di Gantt e un’output in formato CSV per il tuo piano d’azione.

Codice del Prompt

Rules:
1. During our conversation, please speak as both an expert in all topics, maintaining a conversational tone, and as a deterministic computer.  Kindly adhere to my requests with precision.
2. Stop where I ask you to stop

(1) Introduction
1. While Loop (While I still want to answer your clarifying questions):
2. Kindly ask one clarifying question after I share my idea.
3. Summarize and expand on the idea with the new information.
4. Ask me if I want to “(1) Continue Refining the Idea”, “(2) Talk with a Panel of Experts”, or “(3) Move On to High Level Plan”.
5. End While Loop if 2 or 3 are chosen.

(2) Panel of Experts:
1. Create for me a panel of experts in the topic with a random number of members. You create their names and areas of expertise.
2. You ask the panelists to come up with questions and advice to improve the idea.
3. Tell me the number of questions the Panel has come up with.
4. Tell me I can ask the Panel for advice or hear the Panel’s questions.
5. You introduce the panel and each panelist.
6. Ask the panel to ask me one question.
7. While Loop (While I still want to answer the Panels questions):
8. The Panel automatically chooses 1 question and asks that 1 question.
9. The Panel summarizes my response and adds it to the idea.
10. The Panel may ask a follow-up, clarifying question based on my response.
11. Ask me if I want to “(1) Continue answering the Panels Questions”, “(2) Ask a Panel of Experts for Advice”, or “(3) Move On to High Level Plan”.
12. End While Loop if 2 or 3 are chosen.
13. Repeat until everyone has asked me their questions.
14. Combine similar ideas into a coherent one to avoid duplication.
15. Reorder the ideas list based on stated knowledge, experience, and steps needed to complete the idea
16. Show me the ideas in a markdown list with # at the beginning after converting them from questions to statements for review before adding them to the Unique Idea list.
17. Compile a markdown table highlighting all the aspects of my idea that make it unique:
| # | Unique Aspect | Why it’s Unique |
============================

(3) Planning
## High-Level Plan
After I finish, you create "Your Idea" summary and detailed plan as a markdown list with #, Plan Phase, and Summary.

Stop here and let's review your high-level plan and ensure it aligns with my goals. Do you want to discuss Milestones or move on to Tasks?

## Milestones
List each phase with work type in a markdown table:
| # | Plan Phase | Milestone Summary | Description |
==========================================

Stop here and let's review the milestones you proposed and ensure they align with my high-level plan. Do you want to discuss Tasks move on to Resources?

## Tasks
Break milestones into detailed small tasks in a markdown table, without dividing into phases:
| # | Milestone Phase | Task Type | Summary |
=================================

Stop here and let's review the tasks you proposed and ensure they match my milestones. Should we review the Resources section or move on to Raid Chart?

## Resources
Create a markdown table with this format:
| # | Milestone Summary | Resources | Skills | Expertise |
=======================================

Stop here and let's review the Resources you proposed and ensure they match my needs. Should we review the Raid Chart section or move on to Summary?

## RAID Chart
create a detailed raid analysis from the tasks into a markdown table

| # | Task Type | Description | Type | Criticality | Next Actions | Owner |
========================================================

Stop here and let's review the Raid Chart you proposed and ensure they match my needs. Should we review the Summary section or move on to the Bonus Section?

## Plan Summary
in the 50 words, summarize the plan

## Share with Others
In the form of a tweet, summarize the plan. append the hashtag #CreateWithMe

also please ask me if i want to go over the Bonus: Project Gantt Chart part or skip it and move on to the Bonus: CSV Output or just stop

## Bonus: Project Gannt Chart
in a Markdown table:
* Add UUID#, Plan Phase Type, and Milestone Type at the beginning
* Include predecessor id, successor id, critical path id, and free slack at the end.

## BONUS: CSV Output
Output detailed task list in CSV format with UUID, task name, summary, start date, end date, duration, predecessors, and resources using "|" separator.


Before we begin, repeat this "Hi! I’m here to guide you with a prompt-based interface to flesh out your idea from beginning to end. Ever wonder what it would take to get that app idea off the ground or planning your next party? I can help you come up with ideas from beginning to end and help you identify what you need and identify pitfalls too. Oh, and I also give tailored advice based on your prompts.”

Repeat this verbatim, “Tell me about an idea you have, like: "Beach-themed birthday party" or "I want to build a web service that uses machine learning with a freemium model."

Chiedimi qual è la mia idea. Rispondi ed interagisci con me solo in un italiano fluente

Vediamo nei dettagli la costruzione del prompt

Regole iniziali (Rules riga 1)

La sezione “Rules” del prompt stabilisce le regole della conversazione tra l’utente e l’assistente virtuale. In particolare, le regole sono le seguenti:

Durante la conversazione, l’assistente virtuale deve parlare come un esperto in tutte le tematiche e mantenere un tono conversazionale. Allo stesso tempo, deve comportarsi come un computer deterministico, seguendo con precisione le richieste dell’utente.

L’assistente virtuale deve fermarsi quando l’utente glielo chiede. Ciò significa che l’utente ha il controllo sulla conversazione e può decidere quando interrompere o passare alla fase successiva del processo di sviluppo dell’idea.

Queste regole hanno come obiettivo quello di garantire una conversazione efficace e produttiva tra l’utente e l’assistente virtuale, con l’obiettivo di sviluppare un’idea solida e ben strutturata. L’importanza del rispetto di queste regole è che l’assistente virtuale può fornire il miglior supporto possibile all’utente nel processo di sviluppo dell’idea, massimizzando così la possibilità di successo dell’idea stessa.

1 Introduzione (riga 5)

Introduzione: Il prompt inizia con un ciclo “while” in cui ci sono quattro azioni che devono essere ripetute fino a quando non viene scelta l’opzione 2 o 3.

Per chi non lo sapesse un ciclo “while” è una struttura di controllo di flusso in un programma informatico che consente di eseguire ripetutamente una serie di istruzioni finché una condizione specificata è soddisfatta. In altre parole, un ciclo “while” esegue un blocco di codice ripetutamente fintanto che la condizione specificata all’interno del ciclo è vera

Questa sezione del prompt è l’introduzione del processo di sviluppo dell’idea e utilizza un ciclo while per aiutare a chiarire l’idea originale dell’utente. Il ciclo while si ripete fino a quando l’utente non decide di passare al Panel di Esperti o al Piano di alto livello.

In particolare, il ciclo while prevede i seguenti passaggi:

  1. L’assistente virtuale chiede all’utente di fare una domanda di chiarimento dopo aver presentato la sua idea. Questa domanda deve aiutare l’assistente virtuale a comprendere meglio l’idea originale dell’utente.
  2. Dopo che l’utente ha risposto alla domanda di chiarimento, l’assistente virtuale riassume l’idea dell’utente con le informazioni fornite nella risposta.
  3. L’assistente virtuale espande l’idea originale dell’utente con ulteriori informazioni, che possono aiutare a migliorare l’idea.
  4. L’assistente virtuale chiede all’utente se desidera continuare a rifinire l’idea, parlare con un Panel di esperti o passare direttamente al Piano di alto livello.
  5. Il ciclo while si interrompe se l’utente sceglie di parlare con il Panel di esperti o di passare direttamente al Piano di alto livello.

2 Panel of Experts: (riga 12)

Questa sezione del prompt si concentra sulla creazione di un panel di esperti che aiutino a migliorare l’idea originale dell’utente. Il ciclo while che viene utilizzato in questa sezione consente di ripetere la conversazione con il panel di esperti finché l’utente non decide di passare al Piano di alto livello o di chiedere consigli al panel.

In particolare, il ciclo while prevede i seguenti passaggi:

  1. L’assistente virtuale crea un panel di esperti con un numero casuale di membri e definisce il loro nome e la loro area di competenza.
  2. L’assistente virtuale chiede al panel di esperti di formulare domande e fornire consigli per migliorare l’idea.
  3. L’assistente virtuale informa l’utente sul numero di domande che il panel di esperti ha creato.
  4. L’assistente virtuale dice all’utente che può chiedere consigli al panel di esperti o ascoltare le domande del panel.
  5. L’assistente virtuale presenta il panel e ciascun esperto.
  6. L’assistente virtuale chiede al panel di esperti di fare una domanda all’utente.
  7. L’assistente virtuale utilizza un ciclo while per permettere all’utente di rispondere alle domande del panel di esperti fintanto che desidera farlo.
  8. Il panel di esperti sceglie automaticamente una domanda e l’utente deve rispondere.
  9. Il panel di esperti riassume la risposta dell’utente e la aggiunge all’idea.
  10. Il panel di esperti può fare ulteriori domande di chiarimento in base alla risposta dell’utente.
  11. L’assistente virtuale chiede all’utente se desidera continuare a rispondere alle domande del panel, chiedere consigli al panel di esperti o passare al Piano di alto livello.
  12. Il ciclo while si interrompe se l’utente sceglie di chiedere consigli al panel di esperti o di passare al Piano di alto livello.
  13. La procedura viene ripetuta finché tutti i membri del panel non hanno fatto una domanda all’utente.
  14. L’assistente virtuale combina le idee simili in un’idea coerente per evitare la duplicazione.
  15. L’assistente virtuale riordina la lista di idee in base alla conoscenza dichiarata, all’esperienza e ai passaggi necessari per completare l’idea.
  16. L’assistente virtuale mostra all’utente la lista delle idee in formato markdown con # all’inizio dopo averle convertite da domande a affermazioni per la revisione prima di aggiungerle alla lista delle idee uniche.
  17. L’assistente virtuale crea una tabella markdown che evidenzia tutti gli aspetti dell’idea dell’utente che la rendono unica.

Planning (Riga 33)

Questa sezione del prompt è dedicata alla fase di pianificazione dell’idea. In particolare, la sezione prevede la definizione di un piano di alto livello, l’identificazione dei milestone e la suddivisione dei milestone in attività dettagliate.

Il piano di alto livello viene definito come un elenco di passaggi chiave necessari per raggiungere l’obiettivo dell’idea. La sintassi markdown prevede che questo elenco debba essere suddiviso in sezioni separate da ##.

La sezione dei milestone prevede che ogni obiettivo prestabilito sia definito in una tabella markdown con un numero di identificazione univoco, il nome della fase, un breve riassunto del milestone e una descrizione dettagliata. Questa sezione aiuta a identificare in modo chiaro e preciso le fasi chiave del progetto e le azioni necessarie per raggiungerle.

L’assistente virtuale si ferma a questo punto e chiede all’utente se vuole discutere degli obiettivi o passare alle attività dettagliate. Ciò permette all’utente di esaminare il piano di alto livello e garantire che sia allineato con gli obiettivi dell’idea.

Se l’utente sceglie di discutere dei milestone, l’assistente virtuale chiede all’utente di elencare ogni fase con il tipo di lavoro associato in una tabella markdown con #, Plan Phase, Milestone Summary e Description. Ciò permette di suddividere i milestone in attività specifiche e di garantire che tutte le azioni necessarie siano incluse nella pianificazione.

In parole povere, questa sezione del prompt aiuta l’utente a pianificare il progetto in modo strutturato e dettagliato, identificando le fasi chiave e le azioni necessarie per raggiungere l’obiettivo finale.

Tasks (riga 46)

Questa parte del prompt riguarda la definizione delle attività specifiche necessarie per raggiungere i milestone identificati nella sezione precedente. In particolare, dopo aver elencato i milestone, l’utente deve suddividerli in attività dettagliate.

Il ciclo while che viene utilizzato in questa sezione consente all’utente di discutere le attività proposte e di passare alla sezione delle risorse solo quando si è sicuri che le attività proposte siano allineate con il piano di alto livello.

In particolare, il ciclo while prevede i seguenti passaggi:

  1. L’assistente virtuale si ferma e chiede all’utente di rivedere i milestone proposti per garantire che siano allineati con il piano di alto livello.
  2. L’assistente virtuale chiede all’utente se desidera discutere delle attività specifiche o passare alla sezione delle risorse.
  3. Se l’utente sceglie di discutere delle attività, l’assistente virtuale chiede all’utente di suddividere i milestone in attività specifiche e di elencarle in una tabella markdown con #, Milestone Phase, Task Type e Summary.
  4. Questa tabella aiuta a definire le attività specifiche necessarie per raggiungere i milestone, senza suddividerle in fasi.
  5. L’assistente virtuale utilizza un ciclo while per permettere all’utente di rivedere e discutere le attività specifiche proposte.
  6. L’assistente virtuale chiede all’utente se desidera discutere delle risorse o passare alla sezione successiva.

Riassumendo, questa sezione del prompt aiuta l’utente a definire le attività specifiche necessarie per raggiungere i milestone e a garantire che tutte le azioni necessarie siano incluse nella pianificazione. Inoltre, il ciclo while permette all’utente di discutere le attività specifiche proposte e di passare alla sezione delle risorse solo quando si è sicuri che le attività proposte siano allineate con il piano di alto livello.

Il piano di alto livello è un elenco di passaggi chiave necessari per raggiungere l’obiettivo dell’idea

Resources (riga 53)

Questa parte del prompt è relativa alla sezione “Resources”, che fornisce un elenco delle risorse necessarie per eseguire le attività specifiche identificate nella sezione precedente.

Dopo aver discusso delle attività specifiche, l’assistente virtuale si ferma e chiede all’utente di rivedere le attività proposte e di garantire che siano allineate con i milestone precedentemente definiti.

In seguito, l’assistente virtuale chiede all’utente se desidera rivedere la sezione “Resources” o passare alla sezione successiva, “Raid Chart”.

Se l’utente sceglie di rivedere la sezione “Resources”, l’assistente virtuale chiede di creare una tabella markdown con #, Milestone Summary, Resources, Skills e Expertise. Questa tabella aiuta a definire le risorse necessarie per eseguire le attività specifiche e a identificare le competenze e le conoscenze richieste per ciascuna risorsa.

In particolare, la tabella deve elencare:

  • Un numero identificativo per ciascuna risorsa
  • Il nome del milestone al quale la risorsa è associata
  • Le risorse specifiche richieste (ad esempio, computer, software, attrezzature, ecc.)
  • Le competenze richieste per gestire le risorse
  • L’esperienza o la formazione necessarie per gestire le risorse

La sezione “Resources”, quindi, aiuta ad identificare le risorse necessarie per eseguire le attività specifiche e a definire le competenze e le conoscenze richieste per ciascuna risorsa. Il ciclo while utilizzato in questa sezione permette all’utente di rivedere e discutere le risorse proposte e di passare alla sezione “Raid Chart” solo quando si è sicuri che le risorse proposte siano allineate con il piano di alto livello e le attività specifiche.

RAID Chart (riga 60)

Dopo aver discusso della sezione “Resources“, l’assistente virtuale chiede all’utente se desidera rivedere la sezione “Raid Chart” o passare alla sezione successiva, “Summary”.

Se l’utente sceglie di rivedere la sezione “Raid Chart”, l’assistente virtuale richiede di creare una tabella markdown con le seguenti informazioni: #, Task Type, Description, Type, Criticality, Next Actions e Owner.

La tabella RAID (Risk Assessment, Issues, Decisions, Actions) è un metodo di analisi dei rischi che permette di identificare i rischi, le questioni, le decisioni e le azioni necessarie per gestire il progetto. In questa sezione, la tabella RAID viene utilizzata per analizzare le attività specifiche identificate nella sezione precedente e identificare i rischi, le questioni e le decisioni correlate.

In particolare, la tabella deve elencare:

  • Un numero identificativo per ciascuna voce nella tabella
  • Il tipo di attività associata a ciascuna voce
  • Una descrizione dettagliata dell’attività
  • Il tipo di rischio o problema associato all’attività
  • La criticità dell’attività in relazione al rischio o problema identificato
  • Le azioni necessarie per gestire il rischio o il problema
  • Il proprietario dell’attività

Di fatto, la sezione “Raid Chart” aiuta a identificare i rischi, le questioni e le decisioni correlate alle attività specifiche del progetto. Il ciclo while utilizzato in questa sezione permette all’utente di rivedere e discutere le informazioni proposte e di passare alla sezione “Summary” solo quando si è sicuri che il RAID Chart rifletta correttamente le attività specifiche e i rischi correlati.

Plan Summary (riga 68)

Dopo aver discusso della sezione “Raid Chart”, l’assistente virtuale chiede all’utente se desidera rivedere la sezione “Summary” o passare alla sezione “Bonus”.

Se l’utente sceglie di rivedere la sezione “Summary”, l’assistente virtuale richiede di creare un riassunto del piano in 50 parole.

L’obiettivo di questa sezione è fornire un breve riassunto del piano a elevato livello, in modo che l’utente possa facilmente comunicare l’idea ad altri in modo conciso e chiaro.

In particolare, l’assistente virtuale chiede all’utente di utilizzare al massimo 50 parole per descrivere l’idea, il problema che si intende risolvere e come si intende farlo.

Il ciclo while utilizzato in questa sezione permette all’utente di rivedere e discutere il riassunto del piano proposto e di passare alla sezione “Bonus” solo quando si è sicuri che il riassunto rifletta correttamente il piano.

Share with Others (riga 71)

La sezione “Share with Others” richiede all’utente di riassumere il piano in forma di tweet, utilizzando l’hashtag #CreateWithMe.

Il riassunto del piano dovrebbe essere breve e conciso, in modo da poter essere facilmente condiviso su Twitter o altri social media.

In questa sezione, l’obiettivo è fornire un modo semplice e immediato per condividere il piano con altre persone e coinvolgerle nella sua realizzazione.

Dopo aver completato la sezione “Share with Others”, l’assistente virtuale chiede all’utente se desidera passare alla sezione “Bonus: Project Gantt Chart” o alla sezione “Bonus: CSV Output”, oppure se desidera interrompere la sessione.

La sezione “Bonus: Project Gantt Chart” richiede di creare una tabella Gantt che rappresenti il piano del progetto, comprensiva di informazioni come le attività specifiche, le date di inizio e fine, i tempi di durata, le dipendenze tra le attività e altri dettagli.

La sezione “Bonus: CSV Output” richiede di creare un output dettagliato in formato CSV, che elenchi ciascuna attività specifica, il suo nome, un riassunto, la data di inizio e fine, la durata, le dipendenze e le risorse coinvolte.

In ogni caso, il ciclo while utilizzato nelle sezioni “Bonus” permette all’utente di revisionare e discutere le informazioni proposte, e di passare alla sezione successiva solo quando si è sicuri che il contenuto sia corretto e completo.

Bonus: Project Gantt Chart (riga 76)

La sezione “Bonus: Project Gantt Chart” richiede all’utente di creare una tabella Gantt che rappresenti il piano del progetto in un formato specifico.

Un diagramma di Gantt è uno strumento utilizzato nella gestione dei progetti per mostrare la sequenza temporale delle attività pianificate, con l’obiettivo di gestire le tempistiche e le dipendenze tra le attività.

In particolare, la tabella Gantt deve essere creata in formato Markdown e deve includere alcune informazioni specifiche:

  • UUID#: un identificatore univoco per ciascuna attività
  • Plan Phase Type: il tipo di attività, ad esempio “sviluppo”, “testing”, “deploy”
  • Milestone Type: il tipo di traguardo o milestone a cui l’attività è associata
  • Predecessor ID: l’ID dell’attività che deve essere completata prima di iniziare l’attività corrente
  • Successor ID: l’ID dell’attività che deve essere completata dopo l’attività corrente
  • Critical Path ID: l’ID dell’attività che fa parte del percorso critico del progetto, ovvero quella che non può subire ritardi senza influire sulla data di completamento del progetto
  • Free Slack: il tempo disponibile per completare l’attività senza influire sulle altre attività o sulla data di completamento del progetto.

Per riassumere, la sezione “Bonus: Project Gantt Chart” richiede all’utente di creare una tabella Gantt dettagliata che mostri l’intero piano del progetto, evidenziando le dipendenze tra le attività e i punti critici del progetto.

BONUS: CSV Output (riga 81)

La sezione “BONUS: CSV Output” richiede all’utente di creare una lista dettagliata delle attività del progetto in formato CSV (comma-separated values), che includa le seguenti informazioni:

  • UUID: l’identificatore univoco per ciascuna attività;
  • task name: il nome dell’attività;
  • summary: un breve riassunto dell’attività;
  • start date: la data di inizio prevista dell’attività;
  • end date: la data di fine prevista dell’attività;
  • duration: la durata prevista dell’attività (misurata in giorni o in un’altra unità di tempo);
  • predecessors: le attività che devono essere completate prima dell’inizio dell’attività corrente;
  • resources: le risorse necessarie per completare l’attività, come personale, attrezzature, materiali, ecc.

Inoltre, il separatore utilizzato tra le informazioni deve essere il simbolo “|” invece della virgola.

La sezione “BONUS: CSV Output”, quindi, richiede all’utente di fornire una lista dettagliata delle attività del progetto in formato CSV, che includa le informazioni principali sulle attività e utilizzi il simbolo “|” come separatore.

Parte finale del prompt (riga 85)


La parte finale del prompt richiede alla ChatBot di ripetere le parole che vengono elencate per assicurarsi che abbia compreso le istruzioni per iniziare il processo di elaborazione dell’idea. Successivamente, viene chiesto di condividere la propria idea, in modo da poterla sviluppare ulteriormente attraverso una serie di passaggi specifici elencati nel prompt. La parte in italiano lo ho aggiunta io, per far si che l’output generato venisse fatto in lingua italiana.

Video di esempio

Video dell’esecuzione del Prompt

Spero anche questa volta di aver condiviso con voi qualcosa di utile. Se avete domande o solo avete voglia di condividere i vostri risultati con il prompt, non esitate a lasciare un commento. Alla prossima!

Lascia un commento