Ingegneria dei requisiti basata su agenti IA
Gli agenti IA offrono notevoli vantaggi per le attività di ingegneria, come l'acquisizione dei requisiti, migliorando significativamente l'efficienza e automatizzando flussi di lavoro complessi e ripetitivi. Engineering Assistant di Requirements Portal sfrutta le tecnologie IA per offrirti uno strumento rapido e automatizzato di revisione dei requisiti, che ti consente di porre domande sui requisiti del progetto corrente usando il linguaggio naturale, in forma libera, e di ottenere risposte rapide senza dover filtrare o cercare manualmente tra i requisiti, ad esempio:
-
How many requirements are not verified?
-
Are there any engineering gaps in these requirements?
-
Show me all requirements about the power supply.
-
Which requirements need to be taken into account for PCB design?
-
Do any requirements conflict with each other?
-
Give me an overview of all battery-related requirements.
L'Assistente di ingegneria è anche in grado di modificare, creare o eliminare requisiti. Quando invii una richiesta per creare un nuovo requisito oppure modificarne o eliminarne uno esistente, l'Assistente di ingegneria ti fornisce un riepilogo delle modifiche da apportare, che puoi esaminare e poi applicare o scartare. Esempi di queste richieste:
-
Generate requirements for a lightweight drone power supply that takes a 6S LiPo input, provides regulated 5 V / 5 A and 12 V / 3 A outputs, and weighs under 150 g. It should handle vibration and -10°C to +50°C operation, with protection for short circuit, reverse polarity, overtemperature, and low battery.
-
Change the required maximum operating temperature for all parts to 60°C.
-
Can you identify all requirements that affect the sizing of the power system and ensure they are verifiable?
-
In the new design, I've replaced the camera with an IR sensor. Remove all requirements that were related to the camera.
L'Assistente di ingegneria è accessibile tramite il riquadro Engineering Assistant disponibile nel Modulo requisiti facendo clic sull'icona
in alto a destra.
Puoi visualizzare il contesto della chat corrente facendo clic sul pulsante
nella parte inferiore del riquadro Engineering Assistant. Si aprirà la finestra popup Chat Context, che presenta le seguenti informazioni:
-
Project – mostra il nome del progetto corrente e il nome della cartella, della specifica o della sezione attualmente selezionata.
-
Filters – mostra il numero di filtri attualmente applicati alla tabella e l'elenco delle colonne a cui sono applicati.
-
Rows selected – mostra il numero di righe dei requisiti attualmente selezionate.
Per utilizzare l'Assistente di ingegneria, digita la tua domanda nel campo Ask anything nella parte inferiore del riquadro Engineering Assistant e fai clic sull'icona
oppure premi Enter. L'Assistente di ingegneria analizzerà i requisiti e presenterà una risposta pertinente nel riquadro. A seconda della domanda, l'Assistente di ingegneria restituirà una risposta numerica, un elenco di ID dei requisiti o un breve riepilogo. I requisiti correlati alla domanda verranno evidenziati nella tabella dei requisiti e il numero di requisiti correlati verrà mostrato nell'albero del progetto accanto alle specifiche, alle sezioni e alle cartelle corrispondenti.
Quando invii all'Assistente di ingegneria una richiesta per creare un nuovo requisito oppure modificarne o eliminarne uno esistente, le modifiche suggerite verranno mostrate in una scheda dedicata all'interno del riquadro Engineering Assistant, dove potrai esaminarle (espandendo l'area comprimibile Changes summary) e quindi applicarle o scartarle. Le modifiche suggerite saranno inoltre visibili nella tabella dei requisiti come segue:
-
I nuovi requisiti sono evidenziati in verde, con l'icona
nella colonna Identifier. Un indicatore verde viene mostrato anche accanto alla voce corrispondente nell'albero del progetto a sinistra.
-
I requisiti modificati sono evidenziati in viola, con l'icona
nella colonna Identifier. Le modifiche effettive sono evidenziate nella tabella. Un indicatore viola viene mostrato anche accanto alla voce corrispondente nell'albero del progetto a sinistra.
-
I requisiti di cui viene suggerita la rimozione sono evidenziati in rosso, con l'icona
nella colonna Identifier. Un indicatore rosso viene mostrato anche accanto alla voce corrispondente nell'albero del progetto a sinistra.
Utilizzo e gestione delle competenze IA
Una competenza è un insieme riutilizzabile di istruzioni che l'Assistente di ingegneria può eseguire per svolgere un'attività specifica in modo più coerente. Una competenza racchiude le modalità di esecuzione di una specifica attività ingegneristica (l'obiettivo, i limiti, i dati necessari e i passaggi da seguire), in modo da produrre sempre lo stesso risultato, indipendentemente da chi la esegue o da quando viene eseguita, senza che ogni utente debba ripetere ogni volta le stesse istruzioni.
Una competenza può essere considerata come:
-
Un flusso di lavoro ingegneristico ripetibile
-
Uno standard aziendale reso eseguibile
-
Un modo per raccogliere le conoscenze specialistiche e renderle riutilizzabili
Le competenze vengono richiamate automaticamente dall'IA, che le seleziona e le applica in base all'intento dell'utente. Non è necessario memorizzare comandi o selezionare manualmente le competenze. Quando si invia un messaggio, l'Assistente di ingegneria:
-
Analizza l'intento dell'utente e il contesto corrente.
-
Esamina le competenze disponibili nel Workspace.
-
Confronta la richiesta con Short Description di ogni competenza per determinare quali siano pertinenti.
-
Seleziona la competenza più adatta.
-
Segue Instructions della competenza per eseguire l'attività.
-
Restituisce il risultato affinché l'utente possa esaminarlo.
Ad esempio, quando si invia Rewrite these requirements using our company writing standard, l'Assistente di ingegneria rileva l'intento (standardizzazione dei requisiti), identifica la competenza la cui breve descrizione corrisponde meglio alla richiesta, esegue le istruzioni definite in tale competenza e restituisce i requisiti migliorati.
Esempi di utilizzo delle competenze
-
Break Down Complex Requirements – analizzare i requisiti selezionati e suddividerli in requisiti più piccoli, verificabili singolarmente, preservando l'intento originale.
Esempio di prompt:
Break down these requirements. -
Apply Requirement Writing Standards – esaminare i requisiti e riscriverli secondo le linee guida aziendali per la stesura dei requisiti. I controlli tipici includono ambiguità, formulazioni non verificabili, attori mancanti e criteri di accettazione poco chiari.
Esempio di prompt:
Rewrite these requirements according to our requirement quality standard. -
Translate Requirements – tradurre i requisiti da una lingua all'altra preservando il significato tecnico, la terminologia, gli ID e i riferimenti di tracciabilità.
Esempio di prompt:
Translate these requirements to German. -
Classify Requirements – applicare ai requisiti uno schema di classificazione aziendale, ad esempio Elettronica, Meccanica, Software, Sicurezza funzionale, Sicurezza informatica o altre tassonomie specifiche dell'azienda.
Esempio di prompt:
Classify these requirements according to our applicability model. -
Generate Verification Criteria – analizzare i requisiti e proporre metodi di verifica, criteri di accettazione o condizioni di prova utilizzabili per dimostrare la conformità sempre nello stesso modo.
Esempio di prompt:
Generate verification criteria for these requirements. -
Summarize a Specification/Section/Group of Requirements – generare un riepilogo conciso e strutturato di una specifica, di una sezione di requisiti o di un insieme di requisiti.
Esempio di prompt:
Summarize the selected requirements.
L'insieme delle competenze disponibili viene gestito tramite la finestra AI Skills, accessibile facendo clic sul pulsante
in alto a destra nel riquadro Engineering Assistant. Da questa finestra è possibile aggiungere nuove competenze, nonché modificare ed eliminare quelle esistenti.
-
Le competenze esistenti sono elencate nell'area Workspace Skills sul lato sinistro della finestra. Fare clic su una voce per visualizzare i dettagli della competenza selezionata.
-
Per aggiungere una nuova competenza, fare clic sul pulsante
in basso a sinistra nella finestra. Nell'elenco apparirà una voce per la nuova competenza. Definire Name, Short Description e Instructions per la nuova competenza, quindi fare clic sul pulsante
in basso a destra.
Per i dettagli su ciascun campo, consultare la sezione comprimibile Buone pratiche per la formulazione di una competenza riportata di seguito.
-
Per modificare una competenza esistente, selezionarla nell'elenco, modificarne i campi secondo necessità, quindi fare clic sul pulsante
in basso a destra.
-
Per eliminare una competenza esistente, selezionarla nell'elenco, fare clic sul pulsante
in basso a destra, quindi confermare l'eliminazione.
Buone pratiche per la formulazione di una competenza
Una buona competenza aiuta l'IA a comprendere due aspetti:
-
Quando deve essere utilizzata la competenza
-
Cosa deve fare l'IA quando la competenza viene eseguita
Quando si definisce una competenza,
Questi aspetti vengono espressi attraverso tre campi, ciascuno con uno scopo diverso:
-
Name – aiuta l'utente a riconoscere la competenza.
-
Short Description – aiuta l'IA a decidere quando la competenza è pertinente.
-
Instructions – definisce il comportamento che l'IA deve seguire una volta selezionata la competenza.
Per i dettagli su ciascun campo, consultare le sezioni seguenti.
Nome
Il Name deve essere breve, chiaro e orientato all'azione. Deve aiutare a comprendere rapidamente lo scopo della competenza. Un buon nome descrive solitamente l'azione e il tipo di dati ingegneristici su cui opera la competenza.
Un nome efficace per una competenza deve essere:
-
Abbastanza specifico da distinguere la competenza dalle altre
-
Abbastanza breve da essere individuato facilmente nell'elenco delle competenze
-
Incentrato sull'attività principale svolta dalla competenza
-
Scritto in un linguaggio che gli utenti comprendono in modo naturale
Evita nomi troppo ampi o generici. Se un nome può applicarsi a molte attività diverse, probabilmente non è abbastanza specifico.
Descrizione breve
La Short Description aiuta l'IA a capire di cosa tratta la skill e quando deve essere attivata. Questo campo è importante perché non è necessario selezionare manualmente una skill. L'assistente analizza il prompt, lo confronta con le skill disponibili e decide se una skill è pertinente.
Una buona descrizione breve dovrebbe spiegare:
-
Quale attività svolge la skill
-
A quale tipo di dati ingegneristici si applica
-
Quando utilizzare la skill
-
Quale risultato ci si aspetta che produca la skill
La descrizione breve dovrebbe essere concisa, ma non vaga. Dovrebbe includere un contesto sufficiente a consentire all'IA di distinguere questa skill da altre simili.
Una descrizione breve poco efficace indica soltanto l'ambito a cui appartiene la skill. Una descrizione breve efficace spiega l'attività specifica, il contesto previsto e la situazione in cui attivarla. Ad esempio, anziché descrivere una skill come qualcosa che «aiuta con i requisiti», la descrizione dovrebbe spiegare se la skill esamina la qualità dei requisiti, scompone requisiti complessi, traduce il testo dei requisiti, rileva conflitti, genera criteri di verifica o esegue un'altra azione specifica.
Quanto meglio la descrizione breve spiega lo scopo della skill e il suo contesto d'uso, tanto più affidabile sarà la decisione dell'assistente su quando applicarla.
Istruzioni
Le Instructions definiscono cosa deve fare l'IA una volta selezionata la skill. Questo è il campo più importante per controllare il comportamento della skill. Mentre la descrizione breve aiuta l'IA a decidere quando utilizzare la skill, le istruzioni definiscono come deve essere eseguita.
Le istruzioni dovrebbero fornire indicazioni chiare, passo dopo passo. Non dovrebbero descrivere soltanto il risultato finale, ma anche il ragionamento e i vincoli che l'IA deve seguire per produrlo.
Le istruzioni dovrebbero spiegare:
-
What the AI should analyze first – l'assistente dovrebbe generalmente comprendere l'intento ingegneristico, il contesto, la struttura o le relazioni prima di modificare o generare qualsiasi contenuto.
-
What steps the AI should perform – il comportamento dovrebbe essere suddiviso in passaggi espliciti, in modo che il risultato sia ripetibile e prevedibile.
-
What the AI should preserve – ciò può includere l'intento originale, gli ID dei requisiti, i termini tecnici, le unità, i valori, i vincoli, i riferimenti, l'applicabilità, la gerarchia o il contesto di tracciabilità.
-
What the AI must not do – le skill ben definite impediscono esplicitamente all'IA di inventare dettagli ingegneristici mancanti, modificare l'intento, introdurre nuove ipotesi o applicare modifiche senza la revisione dell'utente.
-
How the AI should handle uncertainty – se le informazioni sono mancanti, ambigue o insufficienti, la skill dovrebbe indicare all'IA di segnalare chiaramente il problema anziché fare supposizioni.
-
What output format is expected – la skill dovrebbe definire se il risultato deve essere una tabella, un elenco puntato, un testo riscritto, un riepilogo, una lista di controllo o un rapporto strutturato.
Istruzioni ben definite sono particolarmente importanti nel lavoro ingegneristico, perché l'assistente potrebbe lavorare con dati che influiscono su specifiche, validazione, decisioni progettuali o implementazione nelle fasi successive. La skill dovrebbe quindi guidare l'IA a essere utile senza mostrare un'eccessiva sicurezza.
Altre note
-
L'obiettivo non è scrivere un prompt lungo, ma definire una procedura operativa chiara per l'IA.
-
Keep Skills Focused
Una skill dovrebbe svolgere bene una singola attività ripetibile.
Se una skill cerca di fare troppe cose, diventa più difficile per l'assistente capire quando utilizzarla e per gli utenti fidarsi del risultato. Ad esempio, una singola skill non dovrebbe combinare scomposizione dei requisiti, traduzione, revisione della qualità, analisi della tracciabilità e generazione di verifiche, a meno che queste azioni non facciano intenzionalmente parte di un unico flusso di lavoro ben delimitato.
Se lo scopo della skill richiede più azioni non correlate, suddividila in skill separate.
-
Define Boundaries Clearly
Le skill ben definite specificano esplicitamente i propri limiti.
Questo è particolarmente importante quando si lavora con requisiti, specifiche e dati ingegneristici. L'assistente dovrebbe sapere cosa può modificare, cosa dovrebbe soltanto suggerire e cosa non deve mai dare per scontato.
Tra i limiti utili da definire rientrano:
-
Non modificare l'intento ingegneristico originale
-
Non inventare valori, vincoli o decisioni progettuali
-
Non rimuovere ID o riferimenti
-
Non presumere metodi di verifica mancanti
-
Non applicare automaticamente le modifiche senza la revisione dell'utente
-
Non trattare informazioni poco chiare come fatti
Limiti chiari riducono il rischio di produrre risultati ingegneristici plausibili ma errati.
-
-
Define the Output Format
Una skill dovrebbe indicare all'IA come presentare il risultato.
Un formato di output coerente rende la skill più facile da esaminare, confrontare e riutilizzare.
A seconda della skill, il risultato può essere:
-
Una tabella
-
Un elenco puntato
-
Un requisito riscritto
-
Un rapporto strutturato
-
Una lista di controllo
-
Un riepilogo
-
Un elenco di modifiche proposte
-
Una serie di domande o questioni aperte
Il formato del risultato dovrebbe corrispondere allo scopo della skill. Ad esempio, le skill orientate alla revisione funzionano spesso bene con tabelle contenenti colonne dedicate a problema, spiegazione e raccomandazione. Le skill orientate alla riscrittura funzionano spesso bene quando mostrano il testo originale, il risultato proposto e la relativa motivazione.
-
.










,
).
).
).
).
).
