Entrevistas
Professor Eran Yahav, Co-Fundador e Co-CEO da Tabnine – Série de Entrevistas

Professor Eran Yahav, Co-Fundador e Co-CEO da Tabnine é um professor de ciência da computação no Technion – Instituto de Tecnologia de Israel, cuja pesquisa se concentra em linguagens de programação, aprendizado de máquina e engenharia de software, particularmente síntese de programas e análise de código em larga escala. Além de seu trabalho acadêmico, ele co-fundou a Tabnine (originalmente Codota) para aplicar anos de pesquisa em ferramentas práticas para desenvolvedores, ajudando a pioneirar a conclusão de código e automação impulsionada por IA. Seu trabalho une academia e indústria, com foco em tornar o código gerado por IA mais confiável, seguro e ciente do contexto para ambientes empresariais do mundo real.
Tabnine é uma plataforma de codificação impulsionada por IA projetada para ajudar desenvolvedores em todo o ciclo de vida do desenvolvimento de software, desde a escrita e depuração de código até a geração de testes e documentação. Originalmente lançada como uma ferramenta de conclusão de código, evoluiu para uma plataforma empresarial mais ampla que integra IA geradora e fluxos de trabalho baseados em agentes, permitindo que as equipes automatem tarefas de desenvolvimento complexas enquanto mantêm controles fortes sobre privacidade, segurança e conformidade. Com suporte a dezenas de linguagens de programação e integrações em IDEs principais, a Tabnine visa melhorar a produtividade dos desenvolvedores, garantindo que o código gerado por IA permaneça confiável e alinhado com os padrões organizacionais.
Você passou anos pesquisando análise e síntese de programas no Technion e trabalhou anteriormente na IBM Research. Qual problema no desenvolvimento de software o convenceu a co-fundar a Tabnine, e como sua pesquisa acadêmica moldou a visão original da empresa?
Meu trabalho acadêmico se concentrou em análise e síntese de programas, que é basicamente ensinar máquinas a entender e gerar código. Eu fiz meu PhD em Análise de Programas, e este também é onde passei meus primeiros anos de trabalho de pesquisa aplicada. Lidar com problemas de qualidade de software com análise de programas tornou claro que alguns problemas são muito difíceis de resolver uma vez que o programa foi escrito incorretamente. Uma onça de prevenção vale por uma libra de cura, se você me permite. Isso me convenceu de que a maneira certa de abordar problemas de qualidade de software é por meio da Síntese de Programas, que é onde eu gastei a maior parte do meu tempo e energia de pesquisa.
Eu inicialmente trabalhei na Síntese de Programas para programas concorrentes, tentando automatizar a criação de programas concorrentes a partir de programas sequenciais. Em seguida, mudei para uma síntese de programas mais geralmente aplicável usando aprendizado de máquina.
A síntese de programas usando aprendizado de máquina também foi a ideia fundamental que impulsionou a Tabnine. A ideia, que agora parece óbvia, era que os modelos poderiam aprender padrões de codificação diretamente de grandes corpora de código e ajudar os desenvolvedores em tempo real. Essa ideia geral é aplicável em todas as etapas do ciclo de vida do desenvolvimento de software – desde a criação de código até a revisão de código, implantação e além.
A visão sempre foi a de aumentar o desenvolvedor humano, fornecendo-lhe ferramentas que acelerem o processo de desenvolvimento e removam a fricção. O desenvolvimento de software é uma disciplina criativa e de resolução de problemas, e o objetivo era que a IA removesse a fricção do processo, lidando com tarefas rotineiras e ajudando os desenvolvedores a permanecerem no fluxo. Essa visão ainda nos guia hoje, embora a tecnologia tenha evoluído significativamente desde aqueles primeiros dias.
A Tabnine foi pioneira em assistentes de codificação da IA anos antes de a IA geradora se tornar mainstream com ferramentas como os modelos da OpenAI. Olhando para trás, como o papel da IA no desenvolvimento de software evoluiu desde aqueles primeiros dias, e quais lições a indústria aprendeu com a primeira onda de copilotos de codificação?
A primeira geração de assistentes de codificação da IA se concentrou principalmente na previsão. Eles eram basicamente sistemas de autocompletar avançados que ajudavam os desenvolvedores a escrever código mais rápido, prevendo a próxima linha ou função.
O que mudou com os loops de agentes é que a IA agora pode lidar com tarefas com maior autonomia, ao ponto de considerarmos os agentes (com orientação adequada) como desenvolvedores juniores independentes.
Isso também ensinou à indústria uma lição importante. A capacidade bruta do modelo não é suficiente para o desenvolvimento de software empresarial. Modelos treinados em dados públicos podem produzir saídas impressionantes, mas frequentemente carecem de consciência da arquitetura, dependências e convenções de uma organização.
É por isso que a próxima etapa da evolução não é apenas sobre modelos maiores ou janelas de contexto maiores, mas sobre conectar esses modelos ao contexto real em que o software é construído.
Muitas empresas estão descobrindo que escalar agentes da IA requer mais do que apenas modelos maiores – requer um contexto organizacional mais profundo. Por que você acredita que o contexto está se tornando a verdadeira fronteira para o desenvolvimento confiável da IA?
Os sistemas de software são redes complexas de relacionamentos. Uma única alteração pode afetar vários serviços, APIs ou componentes downstream.
Os modelos de IA de hoje são muito bons em gerar código plausível, mas frequentemente operam sem uma compreensão estruturada desses relacionamentos. Sem essa compreensão, a IA não pode confiavelmente raciocinar sobre as consequências de uma alteração.
O que as empresas estão descobrindo é que a confiabilidade dos sistemas de IA depende da qualidade do contexto em que eles operam. Se um sistema de IA entende a arquitetura do sistema, as dependências entre os serviços e os padrões de codificação da organização, ele pode gerar código que se alinha muito mais de perto com como aquele sistema realmente funciona.
Nesse sentido, o contexto está se tornando a próxima fronteira para o desenvolvimento de IA empresarial.
Sua nova Engine de Contexto Empresarial visa dar aos agentes da IA uma compreensão estruturada da arquitetura, dependências e práticas de engenharia de uma organização. Como essa abordagem difere dos métodos comuns, como a geração aumentada por recuperação que muitas empresas atualmente dependem?
A geração aumentada por recuperação é uma técnica útil. Ela permite que os modelos puxem documentos ou trechos de código relevantes ao gerar uma resposta.
Porém, a recuperação sozinha não cria compreensão. Ela fornece acesso à informação, não estrutura.
A Engine de Contexto Empresarial é projetada para ir além, construindo uma representação estruturada do ambiente de software. Ela analisa repositórios, serviços, dependências, APIs e relacionamentos arquitetônicos e os organiza em um modelo de como o sistema realmente funciona.
Isso permite que os sistemas de IA raciocinem sobre os relacionamentos entre os componentes, em vez de apenas recuperar trechos de texto. Para ambientes empresariais complexos, essa distinção se torna muito importante.
Ferramentas de codificação da IA estão evoluindo de sugestões de autocompletar para agentes autônomos capazes de executar fluxos de trabalho de múltiplos passos. Como você vê a mudança no equilíbrio entre desenvolvedores humanos e sistemas agênticos nos próximos cinco anos?
Os agentes da IA assumirão cada vez mais tarefas de desenvolvimento rotineiras. Eles já são capazes de implementar recursos de ponta a ponta, incluindo testes e documentação. Cada desenvolvedor se tornará um líder de equipe de desenvolvedores da IA. O principal desafio seria comunicar os requisitos a essa equipe e verificar se os artefatos gerados atendem aos requisitos delineados.
Entretanto, o desenvolvimento de software é fundamentalmente sobre resolução de problemas e design. Os desenvolvedores humanos continuarão a definir a arquitetura, fazer trade-offs e guiar a direção geral dos sistemas.
O que mudará é o nível de abstração em que os desenvolvedores trabalham. Em vez de se concentrar no código, os desenvolvedores cada vez mais orquestrarão fluxos de trabalho de nível superior e colaborarão com sistemas de IA que executam partes desses fluxos de trabalho.
Em outras palavras, o papel do desenvolvedor se torna mais estratégico à medida que a IA lida com mais do trabalho mecânico.
A Tabnine indicou que os usuários empresariais podem ver taxas de aceitação de código gerado por IA alcançar cerca de 80% em alguns ambientes. Quais métricas as organizações devem usar para determinar se as ferramentas de codificação da IA estão realmente melhorando a produtividade dos desenvolvedores, em vez de apenas gerar mais código?
A pergunta-chave não é quanto código a IA gera, mas quanto trabalho útil ela realmente produz.
Há várias métricas que as organizações devem acompanhar. Uma é a taxa de aceitação na primeira passagem, que mede com que frequência o código gerado por IA pode ser usado sem modificação. Outra é o tempo de ciclo de revisão – quantas iterações são necessárias antes que um pedido de pull possa ser mesclado.
As organizações também devem olhar para o tempo de desenvolvedor gasto em retrabalho, bem como o tempo de lead para alterações de desenvolvimento para produção.
Se as ferramentas de IA estão realmente melhorando a produtividade, você deve ver melhorias nessas métricas. Os desenvolvedores gastam menos tempo corrigindo o código gerado e mais tempo trabalhando em tarefas de maior valor.
As empresas permanecem cautelosas sobre a exposição de código proprietário a modelos externos. Como o conceito de “Codificação de IA Confiável” aborda as preocupações de governança, privacidade e conformidade que retardaram a adoção empresarial de ferramentas de desenvolvimento de IA?
A confiança é um dos fatores mais importantes na adoção empresarial de IA.
A confiança é o desafio ultimate para a realização do engenheiro de IA. Como confiamos no engenheiro de IA para agir autonomamente para completar tarefas críticas de engenharia de software? Como garantimos que suas ações estejam alinhadas com nossas expectativas de qualidade, segurança e conformidade com nossas políticas? Se o engenheiro de IA for um membro aceito de nossas equipes de engenharia, ele deve ser tão confiável quanto nossos colegas de equipe bem avaliados e devidamente incorporados.
Abordar esse desafio depende de dois pilares críticos:
- Personalização: Equipar o engenheiro de IA com um entendimento íntimo da sua organização, código e melhores práticas.
- Controle: Implementar sistemas robustos para garantir que todo o código – tanto o gerado por IA quanto o escrito por humanos – atenda aos padrões de qualidade, segurança, desempenho e confiabilidade da sua organização.
Além disso, a Codificação de IA Confiável significa dar às organizações o controle sobre como a IA é implantada e garantir governança e controle centralizados.
Você sugeriu que o contexto organizacional pode se tornar uma camada fundamental na pilha de IA empresarial – semelhante a bancos de dados ou infraestrutura de nuvem em eras de computação anteriores. Qual é a aparência dessa arquitetura futura?
Se você olhar para como a tecnologia empresarial evolui, frequentemente vemos novas camadas de infraestrutura emergirem.
Os bancos de dados se tornaram a base para gerenciar dados. As plataformas de nuvem se tornaram a base para executar aplicativos em escala.
Na era da IA, as organizações precisarão de infraestrutura que permita que os sistemas de IA entendam a estrutura interna da empresa – seus sistemas, relacionamentos e restrições operacionais.
Essa camada de infraestrutura fornecerá contexto estruturado que vários sistemas de IA possam usar, seja para assistentes de codificação, agentes de suporte ou ferramentas de automação operacional.
Nesse sentido, o contexto se torna uma base compartilhada para a IA empresarial.
Muitas empresas estão construindo assistentes de codificação fortemente acoplados a um único modelo de base. A Tabnine, por outro lado, permite que as empresas conectem diferentes modelos dependendo de suas necessidades. Por que a flexibilidade do modelo é importante para a evolução de longo prazo das ferramentas de desenvolvimento de IA empresarial?
O ecossistema de IA está evoluindo muito rapidamente. Novos modelos são lançados com frequência, e diferentes modelos frequentemente têm forças em áreas diferentes.
As empresas não devem ter que redesenhar seus fluxos de trabalho de desenvolvimento a cada vez que o cenário do modelo muda. Ao permitir que as organizações escolham e alternem entre modelos, fornecemos flexibilidade que ajuda a garantir a estratégia de IA para o futuro.
A flexibilidade do modelo também permite que as organizações equilibrem desempenho, custo, requisitos de privacidade e restrições de implantação.
No longo prazo, as empresas provavelmente operarão em um ambiente de vários modelos, e as plataformas de desenvolvimento devem ser projetadas com essa realidade em mente.
Para CTOs e líderes de engenharia que avaliam plataformas de desenvolvimento de IA hoje, quais são os maiores erros que as organizações cometem ao implantar ferramentas de codificação da IA, e como elas podem evitá-los?
Um erro comum é se concentrar apenas na capacidade do modelo. Modelos maiores são definitivamente um componente crítico, mas a confiabilidade em ambientes do mundo real depende de quão bem a IA entende o sistema em que opera.
Outro erro é implantar ferramentas de IA sem considerar os requisitos de governança e segurança. As empresas precisam de políticas claras sobre como o código é acessado, como os modelos são implantados e como as saídas são validadas.
Finalmente, as organizações às vezes esperam que a IA forneça ganhos de produtividade imediatos sem adaptar os fluxos de trabalho ou fornecer contexto suficiente. As implantações bem-sucedidas geralmente envolvem a integração da IA nos processos de desenvolvimento existentes e a conexão com o código e a arquitetura da organização.
Quando esses elementos se unem, a IA pode se tornar um acelerador poderoso para o desenvolvimento de software, em vez de apenas outra ferramenta.
Obrigado pela grande entrevista, leitores que desejam aprender mais devem visitar Tabnine.












