Strumenti
Scopri come Bob utilizza strumenti specializzati per leggere file, modificare codice, eseguire comandi, generare subagenti, usare integrazioni MCP e cambiare modalità per semplificare il tuo flusso di lavoro di codifica.
Flusso di lavoro degli strumenti
Quando lavori con Bob, determina le azioni appropriate. Per ogni passaggio, Bob:
- Selezionerà lo strumento appropriato in base alla tua richiesta
- Presenterà lo strumento con i suoi parametri per la revisione
- Eseguirà lo strumento approvato e ti mostrerà i risultati
- Continuerà questo processo fino al completamento del tuo compito
Categorie di strumenti
Gli strumenti di Bob sono raggruppati in base alla loro funzione principale. Comprendere queste categorie ti aiuta a vedere come Bob esegue diverse attività.
Strumenti di lettura
Gli strumenti di lettura consentono a Bob di accedere ai contenuti dei file e comprendere la struttura del codice senza apportare modifiche.
| Strumento | Scopo | Esempio di utilizzo |
|---|---|---|
read_file | Legge il contenuto di un file, con intervalli di righe opzionali | Visualizzare file di configurazione, esaminare codice sorgente |
glob | Trova file per pattern di nome (es. **/*.ts) | Localizzare file di test, trovare tutti i componenti |
grep | Cerca contenuto di file utilizzando pattern regex | Trovare definizioni di funzioni, localizzare TODO |
list_files | Elenca file e directory | Esplorare la struttura di una singola directory |
GetSymbolsOverview | Ottiene simboli di livello superiore in un file | Comprendere la struttura del file prima di approfondire |
FindSymbol | Cerca un simbolo per percorso di nome con profondità opzionale | Navigare verso una classe, metodo o funzione |
FindReferencingSymbols | Trova tutti i riferimenti a un simbolo | Comprendere dove viene utilizzata una funzione o un tipo |
Bob utilizza strumenti di lettura quando la tua richiesta coinvolge la revisione del codice, la ricerca di pattern o l'esame della struttura del progetto.
Strumenti di scrittura
Gli strumenti di scrittura consentono a Bob di creare nuovi file o modificare codice esistente.
| Strumento | Scopo | Esempio di utilizzo |
|---|---|---|
write_file | Crea un nuovo file o riscrive completamente un file esistente | Generare nuovi componenti, creare file di configurazione |
apply_diff | Applica modifiche precise e mirate a parti specifiche di un file | Aggiornare logica di funzioni, correggere bug, refactoring del codice |
insert_content | Inserisce nuove righe in una posizione specifica in un file | Aggiungere import, inserire nuove funzioni |
search_and_replace | Trova e sostituisce pattern di testo o regex in un file | Rinominare variabili, aggiornare pattern ripetuti |
Bob utilizza strumenti di scrittura quando la tua richiesta coinvolge la creazione di file, l'implementazione di funzionalità, la correzione di bug o il refactoring del codice.
Strumenti di comando
Gli strumenti di comando consentono a Bob di eseguire comandi ed effettuare operazioni di sistema.
| Strumento | Scopo | Esempio di utilizzo |
|---|---|---|
execute_command | Esegue comandi CLI nel tuo workspace | Installare dipendenze, eseguire test, compilare progetti |
Bob utilizza strumenti di comando quando la tua richiesta coinvolge l'esecuzione di comandi, l'installazione di pacchetti, l'esecuzione di script o l'esecuzione di operazioni di sistema.
Strumenti di subagente
Gli strumenti di subagente consentono a Bob di generare un agente indipendente per gestire lavoro focalizzato e autonomo nel proprio contesto isolato.
| Strumento | Scopo | Esempio di utilizzo |
|---|---|---|
spawn_subagent | Crea un agente indipendente con la propria finestra di contesto | Ricercare una sezione del codebase, raccogliere informazioni senza inquinare il contesto principale |
Come funzionano i subagenti
Un subagente viene eseguito indipendentemente dalla conversazione principale. Ha la propria finestra di contesto, esegue il compito assegnato e restituisce un riepilogo dei risultati a Bob. Questo rende i subagenti utili per lavori che altrimenti aggiungerebbero grandi quantità di contenuto irrilevante alla conversazione principale.
Bob utilizza i subagenti con parsimonia. Il comportamento predefinito è sempre fare il lavoro direttamente. Un subagente viene considerato solo quando tutte le seguenti condizioni sono vere:
- Il compito è chiaramente autonomo e serve solo un riepilogo
- Aggiungerebbe contenuto irrilevante significativo al contesto principale
- Non può essere realizzato con una o due chiamate dirette agli strumenti
Esistono due tipi di subagenti:
| Tipo | Descrizione |
|---|---|
explore | Esplorazione del codebase in sola lettura, viene eseguito su un modello più leggero |
general | Accesso completo agli strumenti, viene eseguito sul modello predefinito |
Per impostazione predefinita, un subagente non vede la cronologia della conversazione del genitore. Impostare fork_context: true passa la cronologia della conversazione al subagente quando deve comprendere decisioni precedenti, vincoli o preferenze dell'utente.
Bob non utilizza subagenti per semplici letture di file, ricerche rapide, operazioni con un singolo strumento o compiti in cui ha già il contesto rilevante.
Strumenti di subtask
Gli strumenti di subtask consentono a Bob di creare una nuova istanza di compito denominata che viene eseguita come conversazione dedicata nell'interfaccia utente.
| Strumento | Scopo | Esempio di utilizzo |
|---|---|---|
start_subtask | Crea un nuovo compito con titolo, istruzioni e lista di cose da fare opzionale | Suddividere una richiesta grande in un subtask tracciato con il proprio thread di conversazione |
Come funzionano i subtask
Un subtask è un compito completamente indipendente che appare nell'interfaccia utente con il proprio breadcrumb e cronologia della conversazione. A differenza di un subagente — che viene eseguito silenziosamente in background e restituisce solo un riepilogo — un subtask è visibile e interattivo. Puoi seguire i suoi progressi, rivedere il suo output e continuare la conversazione al suo interno.
Bob utilizza i subtask quando una richiesta è abbastanza complessa da beneficiare di un tracciamento dedicato e un thread di conversazione separato. Un subtask può ricevere:
- Un titolo mostrato nel breadcrumb dell'interfaccia utente
- Un messaggio con istruzioni dettagliate
- Una lista di cose da fare iniziale per tracciare i passaggi
- Una modalità opzionale per avviarlo (ad esempio, modalità Plan per il lavoro di progettazione)
Strumenti MCP
Gli strumenti MCP consentono a Bob di estendere le sue capacità attraverso server Model Context Protocol (MCP) connessi.
| Strumento | Scopo | Esempio di utilizzo |
|---|---|---|
| Strumenti server MCP | Accede a strumenti forniti da server MCP connessi | Interrogare database, interagire con API, accedere a servizi esterni |
Bob utilizza strumenti MCP quando la tua richiesta coinvolge funzionalità fornite da server MCP configurati, come monday.com, knowledge base di prodotto o integrazioni personalizzate.
Strumenti di modalità
Gli strumenti di modalità consentono a Bob di passare tra diverse modalità per compiti specializzati.
| Strumento | Scopo | Esempio di utilizzo |
|---|---|---|
switch_mode | Passa a una modalità diversa (Agent, Plan, Ask, ecc.) | Passare alla modalità Plan per la progettazione dell'architettura, modalità Agent per l'implementazione |
Bob utilizza strumenti di modalità quando la tua richiesta è meglio gestita da una modalità diversa e dalle sue capacità specializzate.
Strumenti di skill
Gli strumenti di skill consentono a Bob di attivare set di istruzioni specializzate per domini e compiti specifici.
| Strumento | Scopo | Esempio di utilizzo |
|---|---|---|
use_skill | Carica istruzioni dettagliate per uno skill denominato nel contesto corrente | Attivare lo skill Carbon builder, caricare la guida del workflow Jira |
Gli skill estendono la conoscenza integrata di Bob con istruzioni curate e specifiche del dominio. Quando una richiesta corrisponde a uno skill — come lavorare con componenti Carbon Design System, scrivere documentazione DITA o gestire sprint Jira — Bob attiva lo skill rilevante una volta per conversazione per caricare la sua guida completa prima di procedere.
Strumenti di workflow
Gli strumenti di workflow consentono a Bob di avviare processi predefiniti multi-step progettati per compiti ricorrenti specifici.
| Strumento | Scopo | Esempio di utilizzo |
|---|---|---|
start_workflow | Avvia un workflow denominato con i propri passaggi strutturati | Creare un pull request, eseguire una revisione del codice |
I workflow sono processi step-by-step curati per compiti comuni. Bob li utilizza quando una richiesta corrisponde chiaramente allo scopo di un workflow — ad esempio, generare una descrizione PR da un diff git o rivedere modifiche al codice rispetto a un branch base.
Strumenti di todo
Gli strumenti di todo consentono a Bob di tracciare i progressi attraverso compiti multi-step utilizzando una checklist visibile.
| Strumento | Scopo | Esempio di utilizzo |
|---|---|---|
update_todo_list | Crea o aggiorna una checklist markdown dei passaggi del compito | Tracciare passaggi di implementazione, contrassegnare elementi completati, aggiungere compiti appena scoperti |
Bob utilizza il tracciamento dei todo per compiti complessi con più passaggi. La lista viene aggiornata man mano che il lavoro procede — contrassegnando elementi come completati, aggiungendo passaggi appena scoperti e mantenendo un elemento in corso alla volta. Questo ti dà una visione chiara di ciò che è stato fatto e di ciò che rimane.
Strumenti di domanda
Gli strumenti di domanda consentono a Bob di raccogliere informazioni aggiuntive necessarie per completare i compiti.
| Strumento | Scopo | Esempio di utilizzo |
|---|---|---|
ask_followup_question | Richiede chiarimenti o dettagli aggiuntivi | Chiedere l'approccio di implementazione preferito, richiedere informazioni mancanti |
Bob utilizza strumenti di domanda quando la tua richiesta richiede più informazioni o chiarimenti prima che Bob possa procedere.
Mantenere la documentazione sincronizzata con la tua base di codice
Scopri come mantenere la documentazione tecnica sincronizzata con la tua base di codice utilizzando il comando init di IBM Bob e una modalità Docs Architect personalizzata in scenari di sviluppo reali — sviluppo di funzionalità, revisioni del codice, onboarding e manutenzione continua.
Gestione del context window
Scopri come funziona il context window da 270.000 token di Bob, come ogni categoria contribuisce all'utilizzo dei token e le best practice per mantenere le task mirate ed efficienti nei costi.