Entrevistas
Daniel Ciolek, Chefe de Pesquisa e Desenvolvimento da InvGate – Série de Entrevistas

Daniel é um profissional de TI apaixonado com mais de 15 anos de experiência na indústria. Ele tem um PhD em Ciência da Computação e uma longa carreira em pesquisa de tecnologia. Seus interesses abrangem várias áreas, como Inteligência Artificial, Engenharia de Software e Computação de Alto Desempenho.
Daniel é o Chefe de Pesquisa e Desenvolvimento da InvGate, onde lidera as iniciativas de P&D. Ele trabalha em conjunto com as equipes de Desenvolvimento de Produto e Negócios para projetar, implementar e monitorar a estratégia de P&D da empresa. Quando não está pesquisando, ele está ensinando.
InvGate capacita as organizações fornecendo as ferramentas para entregar serviços sem interrupções entre departamentos, desde TI até Facilidades.
Quando e como você inicialmente se interessou por ciência da computação?
Meu interesse em ciência da computação remonta à minha infância. Eu sempre fui fascinado por dispositivos eletrônicos, frequentemente me encontrando explorando e tentando entender como eles funcionavam. À medida que cresci, essa curiosidade me levou à programação. Ainda me lembro da diversão que tive ao escrever meus primeiros programas. A partir daquele momento, não havia dúvida em minha mente de que eu queria seguir carreira em ciência da computação.
Você atualmente lidera iniciativas de P&D e implementa aplicações de IA gerativa novas. Pode discutir algum de seu trabalho?
Com certeza. Em nosso departamento de P&D, lidamos com problemas complexos que podem ser desafiadores para representar e resolver de forma eficiente. Nosso trabalho não se limita a aplicações de IA gerativa, mas os recentes avanços nesse campo criaram uma riqueza de oportunidades que estamos ansiosos para explorar.
Um de nossos principais objetivos na InvGate sempre foi otimizar a usabilidade de nosso software. Fazemos isso monitorando como ele é usado, identificando gargalos e trabalhando diligentemente para removê-los. Um desses gargalos que encontramos frequentemente está relacionado à compreensão e utilização da linguagem natural. Esse foi um problema particularmente difícil de resolver sem o uso de Modelos de Linguagem Grande (LLMs).
No entanto, com o recente surgimento de LLMs acessíveis, podemos simplificar esses casos de uso. Nossas capacidades agora incluem fornecer recomendações de escrita, redigir automaticamente artigos da base de conhecimento e resumir extensos textos, entre muitas outras funcionalidades baseadas em linguagem.
Na InvGate, sua equipe aplica uma estratégia que é chamada de “IA agnóstica”. Pode definir o que isso significa e por que é importante?
IA agnóstica é fundamentalmente sobre flexibilidade e adaptabilidade. Basicamente, é sobre não se comprometer com um único modelo de IA ou fornecedor. Em vez disso, visamos manter nossas opções abertas, aproveitando o melhor que cada fornecedor de IA oferece, enquanto evitamos o risco de sermos travados em um sistema.
Você pode pensar nisso assim: devemos usar o GPT da OpenAI, o Gemini do Google ou o Llama-2 da Meta para nossas funcionalidades de IA gerativa? Devemos optar por uma implantação em nuvem paga conforme o uso, uma instância gerenciada ou uma implantação autônoma? Essas não são decisões triviais e podem até mudar com o tempo, à medida que novos modelos são lançados e novos fornecedores entram no mercado.
A abordagem de IA agnóstica garante que nosso sistema esteja sempre pronto para se adaptar. Nossa implementação tem três componentes principais: uma interface, um roteador e os próprios modelos de IA. A interface abstrai os detalhes de implementação do sistema de IA, tornando mais fácil para outras partes de nosso software interagir com ele. O roteador decide para onde enviar cada solicitação com base em vários fatores, como o tipo de solicitação e as capacidades dos modelos de IA disponíveis. Finalmente, os modelos realizam as tarefas de IA reais, que podem exigir processos de pré-processamento de dados personalizados e formatação de resultados.
Pode descrever os aspectos metodológicos que guiam seu processo de tomada de decisão ao selecionar os modelos e fornecedores de IA mais adequados para tarefas específicas?
Para cada nova funcionalidade que desenvolvemos, começamos criando um benchmark de avaliação. Esse benchmark é projetado para avaliar a eficiência de diferentes modelos de IA na resolução da tarefa em questão. Mas não nos concentramos apenas no desempenho; também consideramos a velocidade e o custo de cada modelo. Isso nos dá uma visão holística do valor de cada modelo, permitindo-nos escolher a opção mais rentável para encaminhar solicitações.
No entanto, nosso processo não termina aí. No campo em rápida evolução da IA, novos modelos estão constantemente sendo lançados e os existentes são regularmente atualizados. Portanto, sempre que um novo ou atualizado modelo se torna disponível, executamos novamente nosso benchmark de avaliação. Isso nos permite comparar o desempenho do novo ou atualizado modelo com o de nossa seleção atual. Se um novo modelo supera o atual, atualizamos nosso módulo de roteamento para refletir essa mudança.
Quais são alguns dos desafios de alternar sem interrupções entre vários modelos e fornecedores de IA?
Alternar sem interrupções entre vários modelos e fornecedores de IA, de fato, apresenta um conjunto de desafios únicos.
Primeiramente, cada fornecedor de IA exige entradas formatadas de maneiras específicas, e os modelos de IA podem reagir de forma diferente às mesmas solicitações. Isso significa que precisamos otimizar individualmente para cada modelo, o que pode ser bastante complexo, dado a variedade de opções.
Em segundo lugar, os modelos de IA têm diferentes capacidades. Por exemplo, alguns modelos podem gerar saída no formato JSON, uma funcionalidade que se prova útil em muitas de nossas implementações. Outros podem processar grandes quantidades de texto, permitindo-nos usar um contexto mais abrangente para algumas tarefas. Gerenciar essas capacidades para maximizar o potencial de cada modelo é uma parte essencial de nosso trabalho.
Finalmente, precisamos garantir que as respostas geradas pela IA sejam seguras para uso. Modelos de IA gerativa às vezes podem produzir “alucinações”, ou gerar respostas que são falsas, fora de contexto ou potencialmente prejudiciais. Para mitigar isso, implementamos filtros rigorosos de saneamento pós-processamento para detectar e filtrar respostas inapropriadas.
Como a interface é projetada dentro de seu sistema de IA agnóstica para garantir que ela efetivamente abstraia as complexidades das tecnologias de IA subjacentes para interações amigáveis ao usuário?
O design de nossa interface é um esforço colaborativo entre as equipes de P&D e engenharia. Trabalhamos em uma base de funcionalidade por funcionalidade, definindo os requisitos e os dados disponíveis para cada funcionalidade. Em seguida, projetamos uma API que se integra perfeitamente com o produto, implementando-a em nosso serviço de IA interno. Isso permite que as equipes de engenharia se concentrem na lógica de negócios, enquanto nosso serviço de IA lida com as complexidades de lidar com diferentes fornecedores de IA.
Esse processo não depende de pesquisas de ponta, mas sim da aplicação de práticas de engenharia de software comprovadas.
Considerando operações globais, como a InvGate lida com o desafio da disponibilidade regional e conformidade com regulamentos de dados locais?
Garantir a disponibilidade regional e conformidade com regulamentos de dados locais é uma parte crucial de nossas operações na InvGate. Selecionamos cuidadosamente fornecedores de IA que não apenas possam operar em escala, mas também mantenham os mais altos padrões de segurança e estejam em conformidade com regulamentos regionais.
Por exemplo, consideramos apenas fornecedores que adiram a regulamentos como o Regulamento Geral de Proteção de Dados (GDPR) na UE. Isso nos permite implantar nossos serviços em diferentes regiões com a confiança de que estamos operando dentro do quadro legal local.
Fornecedores de nuvem principais, como AWS, Azure e Google Cloud, atendem a esses requisitos e oferecem uma ampla gama de funcionalidades de IA, tornando-os parceiros adequados para nossas operações globais. Além disso, continuamos monitorando mudanças nos regulamentos de dados locais para garantir conformidade contínua, ajustando nossas práticas conforme necessário.
Como a abordagem da InvGate para desenvolver soluções de TI evoluiu ao longo da última década, particularmente com a integração de IA Gerativa?
Ao longo da última década, a abordagem da InvGate para desenvolver soluções de TI evoluiu significativamente. Expandimos nossa base de funcionalidades com capacidades avançadas, como fluxos de trabalho automatizados, descoberta de dispositivos e Banco de Dados de Configuração (CMDB). Essas funcionalidades simplificaram significativamente as operações de TI para nossos usuários.
Recentemente, começamos a integrar IA Gerativa em nossos produtos. Isso foi possível graças aos recentes avanços nos fornecedores de LLM, que começaram a oferecer soluções acessíveis. A integração de IA Gerativa permitiu que melhorássemos nossos produtos com suporte alimentado por IA, tornando nossas soluções mais eficientes e amigáveis ao usuário.
Embora ainda estejamos nos estágios iniciais, prevedemos que a IA se tornará uma ferramenta onipresente nas operações de TI. Como tal, planejamos continuar evoluindo nossos produtos por meio da integração adicional de tecnologias de IA.
Pode explicar como a IA gerativa dentro do Hub de IA melhora a velocidade e a qualidade das respostas a incidentes de TI comuns?
A IA gerativa dentro de nosso Hub de IA melhora significativamente a velocidade e a qualidade das respostas a incidentes de TI comuns. Isso é feito por meio de um processo de várias etapas:
Contato Inicial: Quando um usuário encontra um problema, ele pode abrir um chat com nosso Agente Virtual (VA) alimentado por IA e descrever o problema. O VA busca autonomamente na Base de Conhecimento (KB) da empresa e em um banco de dados público de guias de solução de problemas de TI, fornecendo orientação de forma conversacional. Isso frequentemente resolve o problema de forma rápida e eficiente.
Criação de Ticket: Se o problema for mais complexo, o VA pode criar um ticket, extrair automaticamente informações relevantes da conversa.
Atribuição de Ticket: O sistema atribui o ticket a um agente de suporte com base na categoria do ticket, prioridade e experiência do agente com problemas semelhantes.
Interação do Agente: O agente pode contatar o usuário para obter informações adicionais ou notificá-lo de que o problema foi resolvido. A interação é aprimorada com a IA, fornecendo recomendações de escrita para melhorar a comunicação.
Escalada: Se o problema exigir escalada, recursos de resumo automático ajudam os gerentes a entender rapidamente o problema.
Análise Pós-Mortem: Depois que o ticket é fechado, a IA realiza uma análise de causa raiz, auxiliando na análise pós-morte e relatórios. O agente também pode usar a IA para redigir um artigo da base de conhecimento, facilitando a resolução de problemas semelhantes no futuro.
Embora já tenhamos implementado a maioria dessas funcionalidades, estamos continuamente trabalhando em melhorias adicionais.
Com recursos futuros, como o Agente Virtual do MS Teams mais inteligente, quais são as melhorias esperadas nas experiências de suporte conversacional?
Um caminho promissor para o futuro é estender a experiência conversacional para um “co-piloto”, não apenas capaz de responder a perguntas e realizar ações simples, mas também realizar ações mais complexas em nome dos usuários. Isso poderia ser útil para melhorar as capacidades de autoatendimento dos usuários, bem como fornecer ferramentas poderosas adicionais para os agentes. Eventualmente, essas interfaces conversacionais poderosas farão com que a IA se torne uma companheira onipresente.
Obrigado pela grande entrevista, leitores que desejam aprender mais devem visitar InvGate.












