Ferramentas
Aprenda como Bob usa ferramentas especializadas para ler arquivos, editar código, executar comandos, gerar subagentes, usar integrações MCP e alternar modos para otimizar seu fluxo de trabalho de codificação.
Fluxo de trabalho de ferramentas
Quando você trabalha com Bob, ele determina as ações apropriadas. Para cada etapa, Bob irá:
- Selecionar a ferramenta apropriada com base na sua solicitação
- Apresentar a ferramenta com seus parâmetros para sua revisão
- Executar a ferramenta aprovada e mostrar os resultados
- Continuar este processo até que sua tarefa esteja completa
Categorias de ferramentas
As ferramentas do Bob são agrupadas por sua função principal. Entender essas categorias ajuda você a ver como Bob executa diferentes tarefas.
Ferramentas de leitura
Ferramentas de leitura permitem que Bob acesse conteúdo de arquivo e entenda estrutura de código sem fazer mudanças.
| Ferramenta | Propósito | Exemplo de uso |
|---|---|---|
read_file | Ler o conteúdo de um arquivo, com intervalos de linhas opcionais | Ver arquivos de configuração, examinar código-fonte |
glob | Encontrar arquivos por padrão de nome (ex. **/*.ts) | Localizar arquivos de teste, encontrar todos os componentes |
grep | Pesquisar conteúdo de arquivo usando padrões regex | Encontrar definições de função, localizar TODOs |
list_files | Listar arquivos e diretórios | Navegar pela estrutura de um único diretório |
GetSymbolsOverview | Obter símbolos de nível superior em um arquivo | Entender estrutura do arquivo antes de mergulhar |
FindSymbol | Procurar um símbolo por caminho de nome com profundidade opcional | Navegar para uma classe, método ou função |
FindReferencingSymbols | Encontrar todas as referências a um símbolo | Entender onde uma função ou tipo é usado |
Bob usa ferramentas de leitura quando sua solicitação envolve revisar código, pesquisar padrões ou examinar estrutura do projeto.
Ferramentas de escrita
Ferramentas de escrita permitem que Bob crie novos arquivos ou modifique código existente.
| Ferramenta | Propósito | Exemplo de uso |
|---|---|---|
write_file | Criar um novo arquivo ou reescrever completamente um existente | Gerar novos componentes, criar arquivos de configuração |
apply_diff | Aplicar mudanças precisas e direcionadas a partes específicas de um arquivo | Atualizar lógica de função, corrigir bugs, refatorar código |
insert_content | Inserir novas linhas em uma posição específica em um arquivo | Adicionar imports, inserir novas funções |
search_and_replace | Encontrar e substituir padrões de texto ou regex em um arquivo | Renomear variáveis, atualizar padrões repetidos |
Bob usa ferramentas de escrita quando sua solicitação envolve criar arquivos, implementar recursos, corrigir bugs ou refatorar código.
Ferramentas de comando
Ferramentas de comando permitem que Bob execute comandos e realize operações do sistema.
| Ferramenta | Propósito | Exemplo de uso |
|---|---|---|
execute_command | Executar comandos CLI no seu espaço de trabalho | Instalar dependências, executar testes, construir projetos |
Bob usa ferramentas de comando quando sua solicitação envolve executar comandos, instalar pacotes, executar scripts ou realizar operações do sistema.
Ferramentas de subagente
Ferramentas de subagente permitem que Bob gere um agente independente para lidar com trabalho focado e autocontido em seu próprio contexto isolado.
| Ferramenta | Propósito | Exemplo de uso |
|---|---|---|
spawn_subagent | Criar um agente independente com sua própria janela de contexto | Pesquisar uma seção da base de código, reunir informações sem poluir o contexto principal |
Como funcionam os subagentes
Um subagente é executado independentemente da conversa principal. Ele tem sua própria janela de contexto, executa sua tarefa atribuída e retorna um resumo dos resultados para Bob. Isso torna os subagentes úteis para trabalhos que, de outra forma, adicionariam grandes quantidades de conteúdo irrelevante à conversa principal.
Bob usa subagentes com moderação. O padrão é sempre fazer o trabalho diretamente. Um subagente só é considerado quando todas as seguintes condições são verdadeiras:
- A tarefa é claramente autocontida e apenas um resumo é necessário de volta
- Adicionaria conteúdo irrelevante significativo ao contexto principal
- Não pode ser realizada com uma ou duas chamadas diretas de ferramenta
Existem dois tipos de subagentes:
| Tipo | Descrição |
|---|---|
explore | Exploração de base de código somente leitura, executa em um modelo mais leve |
general | Acesso completo a ferramentas, executa no modelo padrão |
Por padrão, um subagente não vê o histórico de conversa do pai. Definir fork_context: true passa o histórico de conversa para o subagente quando ele precisa entender decisões anteriores, restrições ou preferências do usuário.
Bob não usa subagentes para leituras simples de arquivo, pesquisas rápidas, operações de ferramenta única ou tarefas onde já tem o contexto relevante.
Ferramentas de subtarefa
Ferramentas de subtarefa permitem que Bob crie uma nova instância de tarefa nomeada que é executada como sua própria conversa dedicada na UI.
| Ferramenta | Propósito | Exemplo de uso |
|---|---|---|
start_subtask | Criar uma nova tarefa com título, instruções e lista de tarefas opcional | Dividir uma solicitação grande em uma subtarefa rastreada com seu próprio thread de conversa |
Como funcionam as subtarefas
Uma subtarefa é uma tarefa completamente independente que aparece na UI com seu próprio breadcrumb e histórico de conversa. Ao contrário de um subagente — que é executado silenciosamente em segundo plano e retorna apenas um resumo — uma subtarefa é visível e interativa. Você pode acompanhar seu progresso, revisar sua saída e continuar a conversa dentro dela.
Bob usa subtarefas quando uma solicitação é complexa o suficiente para se beneficiar de rastreamento dedicado e um thread de conversa separado. Uma subtarefa pode receber:
- Um título mostrado no breadcrumb da UI
- Uma mensagem com instruções detalhadas
- Uma lista de tarefas inicial para rastrear etapas
- Um modo opcional para iniciá-la (por exemplo, modo Plan para trabalho de design)
Ferramentas MCP
Ferramentas MCP permitem que Bob estenda suas capacidades através de servidores Model Context Protocol (MCP) conectados.
| Ferramenta | Propósito | Exemplo de uso |
|---|---|---|
| Ferramentas de servidor MCP | Acessar ferramentas fornecidas por servidores MCP conectados | Consultar bancos de dados, interagir com APIs, acessar serviços externos |
Bob usa ferramentas MCP quando sua solicitação envolve capacidades fornecidas por servidores MCP configurados, como monday.com, bases de conhecimento de produtos ou integrações personalizadas.
Ferramentas de modo
Ferramentas de modo permitem que Bob alterne entre diferentes modos para tarefas especializadas.
| Ferramenta | Propósito | Exemplo de uso |
|---|---|---|
switch_mode | Mudar para um modo diferente (Agent, Plan, Ask, etc.) | Mudar para modo Plan para design de arquitetura, modo Agent para implementação |
Bob usa ferramentas de modo quando sua solicitação é melhor tratada por um modo diferente e suas capacidades especializadas.
Ferramentas de skill
Ferramentas de skill permitem que Bob ative conjuntos de instruções especializadas para domínios e tarefas específicas.
| Ferramenta | Propósito | Exemplo de uso |
|---|---|---|
use_skill | Carregar instruções detalhadas para um skill nomeado no contexto atual | Ativar o skill Carbon builder, carregar orientação de fluxo de trabalho Jira |
Skills estendem o conhecimento integrado do Bob com instruções curadas e específicas do domínio. Quando uma solicitação corresponde a um skill — como trabalhar com componentes Carbon Design System, escrever documentação DITA ou gerenciar sprints Jira — Bob ativa o skill relevante uma vez por conversa para carregar sua orientação completa antes de prosseguir.
Ferramentas de workflow
Ferramentas de workflow permitem que Bob lance processos predefinidos de múltiplas etapas projetados para tarefas recorrentes específicas.
| Ferramenta | Propósito | Exemplo de uso |
|---|---|---|
start_workflow | Lançar um workflow nomeado com suas próprias etapas estruturadas | Criar um pull request, executar uma revisão de código |
Workflows são processos passo a passo curados para tarefas comuns. Bob os usa quando uma solicitação corresponde claramente ao propósito de um workflow — por exemplo, gerar uma descrição de PR a partir de um diff git ou revisar mudanças de código em relação a um branch base.
Ferramentas de todo
Ferramentas de todo permitem que Bob rastreie o progresso através de tarefas de múltiplas etapas usando uma checklist visível.
| Ferramenta | Propósito | Exemplo de uso |
|---|---|---|
update_todo_list | Criar ou atualizar uma checklist markdown de etapas de tarefa | Rastrear etapas de implementação, marcar itens concluídos, adicionar tarefas recém-descobertas |
Bob usa rastreamento de todo para tarefas complexas com múltiplas etapas. A lista é atualizada conforme o trabalho progride — marcando itens como concluídos, adicionando etapas recém-descobertas e mantendo um item em progresso por vez. Isso dá a você uma visão clara do que foi feito e do que resta.
Ferramentas de pergunta
Ferramentas de pergunta permitem que Bob reúna informações adicionais necessárias para completar tarefas.
| Ferramenta | Propósito | Exemplo de uso |
|---|---|---|
ask_followup_question | Solicitar esclarecimento ou detalhe adicional | Perguntar sobre abordagem de implementação preferida, solicitar informações faltantes |
Bob usa ferramentas de pergunta quando sua solicitação requer mais informações ou esclarecimento antes que Bob possa prosseguir.
Manter a documentação sincronizada com a tua base de código
Aprende a manter a documentação técnica sincronizada com a tua base de código usando o comando init do IBM Bob e um modo Docs Architect personalizado em cenários de desenvolvimento reais — desenvolvimento de funcionalidades, revisões de código, integração e manutenção contínua.
Gerenciamento do context window
Aprenda como funciona o context window de 270.000 tokens do Bob, como cada categoria contribui para o uso de tokens e as melhores práticas para manter as tasks focadas e com eficiência de custo.