BLOG

Knowledge Source: como configurar bases de conhecimento e ter respostas mais assertivas da IA

Conheça a Knowledge Source, as fontes de conhecimento da StackSpot AI, que oferecem o contexto necessário para soluções mais assertivas.

A StackSpot AI surgiu para ajudar nas tarefas repetitivas e melhorar, cada vez mais, a performance dos times. O uso de alguns recursos da ferramenta, como a Knowledge Source, são essenciais para times que buscam otimizar suas práticas, garantindo qualidade de seus produtos, padrões de escritas de códigos, documentação, testes, e outras atividades corriqueiras.

Por isso, neste artigo vamos explorar boas práticas no uso das Knowledge Sources, adotando estratégias que tornarão a inteligência artificial mais assertiva nas respostas oferecidas por Quick Commands e Agentes de IA. 

O que é Knowledge Source?

A Knowledge Source é um recurso da StackSpot AI que funciona como uma fonte de conhecimento que pode ser moldada de acordo com os padrões e práticas de desenvolvimento e criação de documentação do time que a utiliza.

A criação de uma base de conhecimento com os padrões do time, faz com que a IA seja hipercontextualizada, tendo o conhecimento dos padrões utilizados pela empresa e gerando respostas com base neles.

A Knowledge Source é um recurso essencial para centralizar e compartilhar conhecimento para a StackSpot AI, promovendo eficiência e qualidade no desenvolvimento de software.

Para saber mais sobre a Knowledge Source e como criar uma base de conhecimento, acesse a documentação oficial da StackSpot AI. O foco deste artigo será em como podemos usar esse recurso de forma mais eficaz e aproveitar melhor a StackSpot AI.

Vamos usar exemplos de um projeto Angular e a criação de teste automatizado com Cypress, mas o padrão de construção de base de conhecimento serve para qualquer outro tipo de conhecimento.

Criando uma Knowledge Source

Ao incorporar uma Knowledge Source, é comum inserir códigos prontos sem comentários, ou então copiar uma documentação pronta. Embora essa abordagem possa gerar bons resultados com a IA, buscamos respostas cada vez mais precisas e relevantes.

Uma boa prática para incorporar a Knowledge Source é criar um documento, preferencialmente no formato Markdown, seguindo este padrão:

  • Título: faça referência clara ao conteúdo do documento.
  • Descrição: logo após o título, inclua uma breve descrição do que será abordado.
  • Seções: divida o conteúdo em pequenas seções, cada uma com um subtítulo que descreva o que será tratado.

Exemplo de documento

Confira um exemplo de um documento com conhecimento sobre testes automatizados usando Cypress e que exemplifica o padrão da equipe para o mapeamento de elementos HTML para que a IA tenha esse conhecimento e traga respostas seguindo o padrão:

# Squad Starwars: como mapear elementos HTML em cypress

## Introdução
Esse documento mostra como a squad Starwars realiza o mapeamento dos objetos do HTML pelo do xpath para ser usado no cypress para testes automatizados usando o padrão "page objects".

## Exemplo tela de buscas

const buscaPage = {
btnVoltar: () =>
           cy.xpath("//span[@aria-hidden='true'][contains(.,'seta_esquerda')]"),
titleH1: () =>
     cy.xpath(
     "//main/section/h1[contains(.,'Titulo da pagina de busca')]"
),
lupaIcon: () =>
     cy.xpath("//span[@aria-hidden='true'][contains(.,'busca_outline')]"),
}

No exemplo, criamos um único documento para demonstrar como buscar elementos HTML usando o XPath. Nele, utilizamos palavras-chave como o nome da squad, “Starwars”, e a tecnologia utilizada, “Cypress”. Outras palavras-chave que também podem ser exploradas são “mapeamento” e “page objects”.

A seguir, confira outro exemplo de documento em Markdown para base de conhecimento:

# Base de Conhecimento de uso do jest pela squad Starwars

## Introdução

Este documento descreve a forma como a squad Starwars faz uso do jest para criação de mocks, uso de spyOn e uso de jest.fn

### Exemplo de como usar o spyOn do jest para funções e validar a chamada no expect do teste unitário

import { ModelDependencia } from '@dependencia/sdk';
const spyfunc = jest.spyOn(ModelDependencia, 'func').mockReturnValue(of({}))
expect(spyfunc).toHaveBeenCalled()

No exemplo acima, foi detalhado como o Jest é utilizado em testes unitários, sempre usando palavras-chave para direcionar melhor a IA.

Uma outra vantagem de usar a Knowledge Source é permitir que a IA tenha conhecimento do código do projeto. Por exemplo, se a squad tem como padrão implementar um arquivo com os mocks para testes unitários, reutilizando-os, basta criar um documento com exemplos de como importar e usar esses mocks nos testes. 

Assim, ao gerar os testes unitários, a IA não vai criar novos mocks, mas usar os imports e aplicar conforme foi ensinado.

Novo exemplo

Vamos conferir o seguinte exemplo:

# Base de Conhecimento da squad Starwars para criação e uso de mocks em testes unitários

## Introdução

Este documento descreve o padrão para criar mocks de services e como os mocks são usados nos testes unitários gerados pela squad Starwars

## Exemplo de como criar um service mock
export const usuarioServiceMock = {
     gerarDadosUsuario: jest.fn().mockReturnValue({}),
     criarNovoUsuario: jest.fn().mockReturnValue({}),
};

## Exemplo de como usar os mocks nos testes unitários de componente Angular

import * as mocks from '../../../shared/mocks/mocks';

TestBed.configureTestingModule({
     schemas: [NO_ERRORS_SCHEMA],
     declarations: [UsuarioComponent],
     providers: [
        { provide: UsuarioService, useValue: mocks.usuarioServiceMock },
],
});

Ao criar a base de conhecimento de acordo com o exemplo acima, quando você solicitar à IA que gere testes unitários de componentes que consomem o UsuarioService ou algum outro serviço, a IA não irá criar novos mocks. Em vez disso, ela usa os imports dos mocks já existentes mantendo o padrão de testes unitários adotado pela squad.

Contextualizando a Knowledge Source

Uma outra boa prática para o uso das bases de conhecimento é torná-las mais contextualizadas. Por exemplo, é recomendável criar bases de conhecimento separadas para diferentes áreas, como:

  • Testes unitários de front-end;
  • Padrões de desenvolvimento de componentes de front-end;
  • Testes unitários de back-end;
  • Testes automatizados com Cypress;
  • Escrita de user stories.

Ao separar as bases de conhecimentos dessa forma, é possível melhorar a contextualização da IA, resultando em respostas mais assertivas e alinhadas com a necessidade de cada time.

Outras boas práticas

Para Knowledge Sources de qualidade e fácil compreensão, confira aspectos importantes para serem atendidos durante a criação e manutenção do conteúdo:

  • Tenha certeza que a Knowledge Source é relevante e atualizada;
  • Revise-a e atualize-a com regularidade;
  • Organize o conteúdo de forma lógica;
  • Escreva de forma direta e clara;
  • Evite jargões e termos técnicos desnecessários;
  • Inclua exemplos práticos e casos de uso;
  • Solicite feedback das pessoas usuárias e realize melhorias contínuas.

Lembre-se ao criar ou manter uma Knowledge Source: pessoas de diferentes senioridades e áreas terão acesso ao conteúdo, portanto escreva para todas as pessoas compreenderem.

Consumindo a Knowledge Source

Até agora, exemplificamos como deixar as Knowledge Sources ainda mais hipercontextualizadas, o que falta agora é fazer com que a IA retorne esse conhecimento de forma mais assertiva.

Voltando ao primeiro exemplo, ao criar o prompt que gere o mapeamento de objetos em um HTML, basta usar as palavras-chave inseridas na base de conhecimento. Confira o exemplo:

  • Opção 1: Você é uma pessoa QA da squad Starwars. Faça o mapeamento dos objetos HTML utilizando Cypress.
  • Opção 2: Mapear elementos HTML utilizando Cypress de acordo com o padrão da squad Starwars.

Dessa forma, a IA irá buscar as palavras-chave na Knowledge Source e gerar uma resposta mais precisa, evitando conteúdos de outras fontes já treinadas na IA.

No segundo exemplo, sobre a criação de testes unitários com Jest, podemos criar prompts da seguinte forma:

  • Opção 1. Você é um desenvolvedor da squad Starwars, gere testes unitários para o código abaixo utilizando jest.
  • Opção 2. Gere testes unitários para o seguinte componente utilizando jest e seguindo os padrões da squad Starwars

Ao adicionarmos essas palavras-chave, “forçamos” a IA a buscar resultados mais específicos na base de conhecimento. 

Para facilitar ainda mais o uso da base de conhecimento, você pode utilizar Agentes e Quick Commands. Basta configurar os prompts com as palavras-chave inseridas anteriormente na base de conhecimento. Isso reduz o trabalho da pessoa usuária de escrever os prompts, já que tudo estará pré-configurado no Agente ou Quick Command.

Conclusão

O uso eficaz de Knowledge Sources da StackSpot AI pode transformar significativamente a maneira como os times de desenvolvimento de software trabalham. Ao criar uma Knowledge Source bem estruturada e contextualizada, a StackSpot AI consegue fornecer respostas mais precisas e alinhadas com os padrões e práticas da equipe.

A adoção de boas práticas na criação de documentos com títulos claros, descrições objetivas e seções bem definidas, facilita a organização e o acesso às informações. Além disso, separar as bases de conhecimento por contextos específicos, como testes unitários de front-end, desenvolvimento de componentes, testes automatizados, entre outros, aumenta a contextualização da IA, resultando em respostas mais assertivas.

Para consumir essas Knowledge Sources de forma eficiente, é essencial utilizar palavras-chave nos prompts, Agentes e Quick Commands, direcionando a IA a buscar informações específicas na base de conhecimento. 

Assim, a StackSpot AI se torna uma ferramenta poderosa para otimizar processos, garantir a qualidade do código e promover a reutilização de componentes, contribuindo para o sucesso e a eficiência no desenvolvimento de software.

Gostou das dicas? Como você organiza as suas Knowledge Sources? Conte nos comentários!

Posts relacionados

Continue explorando a StackSpot AI

Ícone de uma Folha de Documentos, na cor laranja vibrante, sobre fundo transparente.

Cases

Confira como impulsionamos negócios com soluções que economizam tempo.

Ícone de um Livro, na cor laranja vibrante, sobre fundo transparente.

Imprensa

Confira as últimas notícias, conteúdos e destaques da StackSpot na mídia.

Ícone de uma Pasta de documentos, na cor laranja vibrante, sobre fundo transparente.

Docs

Tudo o que você precisa para dominar a StackSpot AI, de forma simples e em um só lugar.

Ícone de uma Pessoa representando um Usuário, na cor laranja vibrante, sobre fundo transparente.

Sobre

Sua plataforma de agentes inteligentes para todo o ciclo de desenvolvimento.

Receba a nossa newsletter

Compartilhamos insights, artigos e conteúdos relevantes sobre tecnologia. Uma vez por mês, sem encher sua caixa de entrada.