Latenode

Replit AI Agent: Guia completo do assistente de programação com IA

Descubra como um assistente de programação com IA simplifica o desenvolvimento de software com comandos em linguagem natural, automação e integração perfeita.

18 min de leitura
Pessoa usando o Replit AI Agent para criar código com assistência de IA

O Replit AI Agent é um assistente de programação criado para simplificar o desenvolvimento de software, gerando, depurando e aprimorando código com comandos em linguagem natural. Totalmente integrado à IDE do Replit, ele elimina a necessidade de alternar entre ferramentas, permitindo que você descreva seu projeto em inglês simples e receba código funcional e pronto para implantação. Seja para criar o protótipo de um CRM pessoal ou automatizar fluxos, essa ferramenta simplifica o processo, economizando tempo e esforço.

Com recursos como consciência de contexto, depuração em tempo real e geração de código a partir de mockups ou designs, o Replit AI Agent permite que usuários técnicos e não técnicos criem aplicativos e sites com eficiência. Por exemplo, empresas como a Zinus relataram economizar mais de US$ 140.000 ao usar a ferramenta para automatizar processos. Seu modo "Extended Thinking" adiciona ainda mais profundidade, lidando com tarefas complexas por meio de raciocínio passo a passo e pesquisas na web em tempo real para garantir que as soluções permaneçam atualizadas.

Em conjunto com a Latenode, o Replit AI Agent vai além do desenvolvimento, conectando código à automação de negócios. O construtor visual de fluxos da Latenode permite integrar projetos do Replit a mais de 300 sistemas e simplificar implantações, notificações e muito mais. Por exemplo, automatizar a comunicação com clientes ou o gerenciamento de estoque se torna simples. Essa combinação transforma protótipos criados no Replit em soluções de negócios totalmente automatizadas, reduzindo a distância entre desenvolvimento e operações.

O Replit AI Agent é mais do que uma ferramenta de programação: é um impulsionador de produtividade para qualquer pessoa que queira transformar ideias em realidade mais rapidamente. Com seus recursos robustos e opções de integração como a Latenode, ele permite que os usuários se concentrem na criatividade enquanto automatizam o trabalho técnico mais pesado.

Seu primeiro aplicativo no Replit — GUIA COMPLETO

Recursos e capacidades principais do Replit AI Agent

O Replit AI Agent é uma ferramenta criada para transformar instruções em inglês simples em aplicativos de software totalmente funcionais. Ele permite que usuários criem software sem exigir habilidades tradicionais de programação.

Conversão de linguagem natural em código

Uma das capacidades mais marcantes do Replit AI Agent é converter prompts em linguagem natural em aplicativos completos. Por exemplo, um usuário pode simplesmente escrever: "Crie um CRM pessoal", e o agente gerará os recursos e a estrutura principais diretamente no espaço de trabalho do Replit [4]. Essa abordagem no-code/low-code reduz a distância entre ideias e software de fato, tornando o desenvolvimento acessível para mais pessoas.

Diferentemente de ferramentas que produzem trechos isolados de código, o Replit AI Agent entrega aplicativos inteiros com estrutura, estilo e funcionalidades adequadas. Ele cuida de tudo, desde a configuração do framework do projeto até a criação de interfaces de usuário e a implementação da lógica de negócios. Esse processo orientado por linguagem natural viabiliza uma forma mais inteligente e iterativa de desenvolver software.

Consciência de contexto e processamento inteligente

Além de suas capacidades de conversão, o agente se destaca por compreender o contexto. O Replit AI Agent acompanha os detalhes do projeto ao longo das sessões, permitindo que ele desenvolva o trabalho existente quando os usuários fazem novas solicitações [3][5]. Isso significa que desenvolvedores podem aprimorar seus aplicativos gradualmente por meio de ajustes conversacionais, em vez de recomeçar toda vez.

Por exemplo, após criar um aplicativo inicial, um usuário poderia pedir: "Adicione autenticação de usuários", e o agente integrará esse recurso de forma fluida à base de código existente sem interromper o trabalho anterior [3]. Essa capacidade de manter consistência e contexto se estende por várias sessões, permitindo que as equipes continuem de onde pararam sem perder o ritmo.

O processamento inteligente do agente também inclui comportamento autônomo e orientado a objetivos. Ele pode seguir instruções de alto nível para alcançar objetivos complexos com pouca intervenção do usuário [6]. Isso torna possível automatizar fluxos complexos e fornecer soluções completas sem exigir orientação passo a passo.

Extended Thinking e pesquisa na web em tempo real

Os recursos avançados do Replit AI Agent incluem um modo "Extended Thinking", que oferece raciocínio passo a passo para lidar com desafios complexos. Esse recurso é especialmente útil para depurar problemas ou abordar tarefas de desenvolvimento abertas [6].

Além disso, a funcionalidade de pesquisa na web em tempo real do agente permite acessar as informações mais recentes sobre bibliotecas, frameworks e APIs [3]. Se os usuários precisarem integrar serviços recém-lançados ou implementar práticas recomendadas atuais, o agente poderá buscar a documentação relevante e gerar código alinhado aos padrões modernos. Isso garante que os aplicativos permaneçam atualizados e eficientes.

Ferramentas de desenvolvimento integradas

Para complementar seus recursos principais, o Replit AI Agent inclui um conjunto de ferramentas integradas que aprimoram a experiência de desenvolvimento no espaço de trabalho do Replit. A interface do Replit AI Agent funciona de forma fluida com o ambiente do Replit, oferecendo ferramentas de edição visual que permitem aos usuários aprimorar designs diretamente na prévia do aplicativo [7].

O agente também permite importar designs de ferramentas como o Figma, convertendo arquivos de design em aplicativos funcionais enquanto preserva sua integridade visual e adiciona interatividade [7]. Ele inclui recursos de segurança integrados, como conexões com bancos de dados e serviços de autenticação, garantindo que as credenciais dos usuários sejam tratadas com segurança e mantendo uma funcionalidade fluida [7].

Outro recurso útil é o sistema de checkpoints, que captura snapshots do aplicativo em etapas importantes. Esses snapshots incluem o espaço de trabalho, o histórico de conversas com a IA e os bancos de dados conectados. Essa abordagem garante que os usuários paguem apenas por progresso significativo, e não por iterações experimentais, tornando a precificação prática e transparente [5].

Como o Replit AI Agent funciona: nos bastidores

O Replit AI Agent transforma prompts em linguagem simples em código funcional, simplificando o processo de desenvolvimento.

O fluxo de desenvolvimento com IA

Quando você insere um prompt em linguagem cotidiana, o Replit AI Agent o interpreta identificando os principais requisitos. Por exemplo, se você pedir para criar um recurso de gerenciamento de contatos, o agente divide a solicitação em tarefas menores e acionáveis e gera o código correspondente para cada parte.

À medida que cria o código, a IA sugere componentes essenciais, como definir estruturas de arquivos, vincular módulos e estabelecer um framework básico. Esse código inicial serve como ponto de partida, que você pode aprimorar e expandir posteriormente.

Integração com o ambiente de desenvolvimento do Replit

O Replit AI Agent funciona de forma fluida no espaço de trabalho de desenvolvimento em nuvem do Replit. Essa integração garante uma interação sem atritos entre o código gerado e as ferramentas de desenvolvimento tradicionais. Ele também cuida da configuração de runtimes, do gerenciamento de dependências e da preparação de pacotes, para que você possa se concentrar na criação do projeto em vez de lidar com configurações técnicas.

A ferramenta foi projetada para colaboração, oferecendo testes em tempo real e feedback instantâneo para identificar e resolver problemas antecipadamente. Essa configuração permite aprimorar seu projeto com eficiência, sem atrasos desnecessários.

O ambiente do Replit também inclui ferramentas para testar e executar seu código rapidamente, possibilitando melhorias contínuas. Esse fluxo integrado não apenas simplifica o desenvolvimento, como também fornece uma base sólida para expandir seus projetos em soluções completas de automação de negócios com ferramentas como a Latenode.

sbb-itb-23997f1

Casos de uso práticos e fluxos de trabalho para desenvolvedores

Os desenvolvedores usam o Replit AI Agent para criar rapidamente aplicativos prontos para produção a partir de prompts simples em linguagem natural.

Prototipagem rápida e desenvolvimento de aplicativos

O Replit AI Agent transforma ideias em aplicativos funcionais mais rapidamente do que métodos tradicionais de desenvolvimento. Ao descrever o conceito de um aplicativo em inglês simples, o agente gera o código necessário, gerencia dependências e implanta um protótipo em apenas alguns minutos [4].

A economia de tempo é significativa. Por exemplo, um fornecedor de soluções de eCommerce utilizou o Replit AI Agent para desenvolver ferramentas prontas para produção para marcas conhecidas de bens de consumo. Essa abordagem economizou milhares de horas de desenvolvimento e implantação, graças aos recursos de prototipagem rápida do agente [7]. Usuários técnicos e não técnicos se beneficiam desse fluxo, podendo testar ideias e aprimorar recursos com mais agilidade, reduzindo significativamente o tempo de lançamento no mercado [4].

O agente também simplifica a criação de componentes complexos de aplicativos. Por exemplo, ao criar um CRM pessoal ou um painel de saúde, os desenvolvedores podem descrever a funcionalidade desejada, e o agente cuida da geração da interface de usuário, da implementação da lógica, da configuração de bancos de dados e da autenticação. Isso permite que desenvolvedores se concentrem em aperfeiçoar o aplicativo em vez de gastar tempo com tarefas repetitivas de programação [4].

Com a prototipagem avançando nessa velocidade, a depuração e a otimização eficientes tornam-se essenciais para manter a qualidade.

Integração com a Latenode: As equipes podem aprimorar seus protótipos do Replit integrando-os à Latenode. Isso permite pipelines de implantação automatizados e uma transição fluida do desenvolvimento para a produção, simplificando todo o processo.

Depuração e otimização de código

Além da prototipagem, o Replit AI Agent simplifica a depuração ao oferecer assistência em tempo real que ajuda desenvolvedores a identificar erros antecipadamente. Sua capacidade de compreender toda a base de código garante que as correções sugeridas sejam relevantes e precisas [6][2].

Ao encontrar bugs, os desenvolvedores podem descrever o problema em linguagem simples. O agente analisa o código, identifica as seções problemáticas e sugere correções específicas. Seja ao lidar com erros de sintaxe, problemas de lógica ou gargalos de desempenho, o agente oferece orientações acionáveis, incluindo sugestões de refatoração, enquanto os desenvolvedores trabalham [1][2]. Esse feedback em tempo real reduz o tempo gasto no ciclo de escrever, testar e depurar.

O agente também considera as dependências existentes e a estrutura do projeto ao recomendar otimizações, reduzindo o risco de introduzir novos problemas enquanto melhora a qualidade geral do código [6]. Os desenvolvedores relatam menos interrupções e menos tempo gasto pesquisando documentação, o que acelera as iterações e permite uma entrega mais rápida de aplicativos funcionais [4][1].

Ao sugerir melhorias de desempenho, identificar código redundante e recomendar algoritmos melhores, o agente transforma a otimização de código em um processo colaborativo e eficiente.

Fluxos avançados e recursos ocultos

O Replit AI Agent inclui recursos avançados que atendem a necessidades de desenvolvimento mais complexas:

  • Modo Extended Thinking: Esse modo realiza análises passo a passo para tarefas desafiadoras, como depurar algoritmos complexos, criar esquemas de banco de dados escaláveis ou planejar arquiteturas de aplicativos com vários serviços [6].
  • Recurso de fila: Desenvolvedores podem enviar várias solicitações sem interromper tarefas em andamento, facilitando o gerenciamento eficiente de processos com várias etapas [8].
  • Pesquisa na web em tempo real: O agente se mantém atualizado buscando as informações mais recentes sobre APIs, frameworks e bibliotecas. Isso reduz o esforço de pesquisa e garante que os desenvolvedores recebam soluções atuais e precisas [6][7].
  • Execução autônoma de tarefas com várias etapas: A partir de um único prompt, o agente pode lidar com tarefas como integrar APIs de terceiros, configurar autenticação, preparar pipelines de implantação e estabelecer sistemas de monitoramento. Isso é especialmente útil para projetos com requisitos dinâmicos ou que precisam de feedback instantâneo [6][5].
  • Integração de design: O agente pode importar designs do Figma e aprimorá-los visualmente, reduzindo a distância entre design e desenvolvimento. Esse recurso simplifica a transição do design para o código, economizando tempo e esforço [7].

Esses recursos avançados expandem a utilidade do Replit AI Agent, tornando-o uma ferramenta indispensável para o desenvolvimento de software moderno.

Integração com a Latenode: Com a Latenode, os desenvolvedores podem levar os fluxos avançados do Replit ainda mais longe, automatizando processos de negócios inteiros. Isso permite criar fluxos sofisticados que conectam perfeitamente a geração de código a tarefas mais amplas de automação de negócios.

Expandindo o desenvolvimento com a Latenode: do código do Replit a soluções de negócios automatizadas

O Replit AI Agent é uma ferramenta poderosa para gerar e aprimorar código rapidamente, mas aplicativos modernos muitas vezes exigem mais do que desenvolvimento: eles demandam automação fluida que conecte os esforços de programação a operações de negócios mais amplas. É nesse ponto que a Latenode entra, oferecendo uma plataforma para reduzir a distância entre desenvolvimento e automação de negócios de ponta a ponta.

Latenode como construtor visual de fluxos

A Latenode aprimora os recursos do Replit ao combinar um construtor visual de fluxos com suporte nativo a JavaScript, transformando código em fluxos totalmente automatizados. Por meio de sua plataforma low-code, os desenvolvedores podem expandir projetos criados com o Replit AI Agent em sistemas robustos que se integram a mais de 300 sistemas e 200 modelos de IA.

A interface de arrastar e soltar da plataforma facilita a criação visual de fluxos. Para desenvolvedores que precisam de mais personalização, a Latenode oferece suporte a mais de 1 milhão de pacotes NPM, garantindo a integração fluida de bibliotecas e APIs de projetos do Replit. Essa flexibilidade é essencial para passar do protótipo à produção, quando os fluxos frequentemente precisam se alinhar a sistemas de negócios e fontes de dados existentes.

A Latenode também simplifica o gerenciamento de dados com seu recurso de banco de dados integrado. Isso permite que as equipes armazenem, consultem e gerenciem dados estruturados diretamente em seus fluxos, eliminando a necessidade de bancos de dados externos. Ao criar um ambiente unificado, a Latenode permite que aplicativos gerados pelo Replit interajam facilmente com dados de negócios, assegurando uma transição mais fluida do desenvolvimento de código para uma automação empresarial abrangente.

Conectando projetos do Replit à automação de negócios

Quando combinado com a Latenode, o Replit AI Agent se torna ainda mais poderoso ao conectar projetos de programação a processos de negócios automatizados. Um dos recursos de destaque é a automação de navegador headless da Latenode, que permite às equipes automatizar tarefas como web scraping, preenchimento de formulários e testes de interface sem ferramentas adicionais ou programação manual complexa.

A Latenode também oferece suporte a pipelines de implantação que simplificam a movimentação de projetos do Replit do desenvolvimento para a produção. Com gatilhos de webhook, as equipes podem automatizar processos de implantação, garantindo que alterações de código no Replit sejam refletidas instantaneamente nos sistemas de produção. Isso reduz etapas manuais e acelera os ciclos de implantação.

Além da implantação, a Latenode amplia a automação para processos de negócios mais abrangentes. Por exemplo, um aplicativo criado no Replit que processa dados de usuários pode acionar fluxos na Latenode para atualizar sistemas de CRM, enviar notificações, gerar relatórios ou até iniciar ações de acompanhamento em diversas plataformas. Essa integração transforma aplicativos independentes em ferramentas de negócios completas, reduzindo a distância entre desenvolvimento e eficiência operacional.

A lógica condicional e de ramificações da Latenode aprimora ainda mais a automação ao permitir que os fluxos se adaptem em tempo real. Esses fluxos podem tomar decisões com base em dados como comportamento do usuário, desempenho do aplicativo ou métricas de negócios, permitindo que as equipes ampliem recursos ou ajustem configurações dinamicamente. Essa adaptabilidade garante que desenvolvimento e automação de negócios funcionem de forma integrada.

Exemplos de fluxos: do desenvolvimento à automação

A combinação do Replit AI Agent com a Latenode cria oportunidades para desenvolvedores criarem fluxos práticos de ponta a ponta. Por exemplo, um desenvolvedor pode usar o Replit AI Agent para gerar um aplicativo de e-commerce e, em seguida, usar a Latenode para automatizar o gerenciamento de estoque, a comunicação com clientes e os relatórios financeiros.

Depurar e otimizar fluxos é simples com o histórico de execuções e os recursos de reexecução de fluxos da Latenode, garantindo uma experiência consistente do desenvolvimento à automação. Isso reduz a curva de aprendizado para equipes que estão levando seus projetos a sistemas prontos para produção.

Outro exemplo é a automação de mensageiros pessoais, em que a Latenode se integra a plataformas como WhatsApp, LinkedIn e Telegram. Isso é especialmente útil para aplicativos de atendimento ao cliente, permitindo respostas automatizadas ou fluxos semelhantes a CRM acionados por eventos no aplicativo principal.

O recurso AI Agents da Latenode leva a automação um passo adiante ao implantar agentes autônomos capazes de tomar decisões, chamar APIs e gerenciar fluxos sem intervenção manual. Esses agentes podem monitorar aplicativos do Replit, responder automaticamente a problemas e lidar com processos complexos que abrangem desenvolvimento, implantação e operações de negócios.

Precificação flexível e escalável

A estrutura de preços da Latenode foi criada para ser econômica e escalável, alinhada às necessidades das equipes de desenvolvimento. Em vez de cobrar por tarefa ou usuário, a plataforma utiliza um modelo baseado no tempo real de execução. Isso permite que as equipes gerenciem os orçamentos de forma eficaz à medida que seus aplicativos evoluem de protótipos para sistemas completos.

  • Plano gratuito: Ideal para experimentar fluxos básicos.
  • Plano Start: Por US$ 19/mês, este plano atende às necessidades crescentes de automação.
  • Plano Team: Por US$ 59/mês, é voltado a equipes com requisitos de integração mais avançados.
  • Plano Enterprise: Oferece créditos de execução ilimitados e configurações personalizadas para lidar com tarefas de automação em larga escala.

Essa abordagem em níveis permite que as equipes comecem pequenas e se expandam à medida que suas necessidades de automação evoluem, minimizando custos iniciais e apoiando o crescimento de longo prazo.

Práticas recomendadas para usar o Replit AI Agent e a Latenode juntos

Combinar o Replit AI Agent com a Latenode cria um caminho eficiente do desenvolvimento à automação, desde que você siga algumas estratégias práticas.

Escrevendo prompts eficazes para o Replit AI Agent

A qualidade da saída do Replit AI Agent depende muito da clareza e do detalhamento dos seus prompts. Em vez de uma instrução vaga como "Crie um site", tente algo mais específico, como: "Crie uma landing page responsiva em React com um formulário de contato que inclua validação de e-mail." Esse nível de detalhamento permite que o agente gere código preciso e pronto para produção.

Para aprimorar ainda mais os prompts, você pode usar o recurso de refinamento de prompts do Replit, mas desenvolvedores experientes geralmente vão além disso ao fazer referência a arquivos existentes e adicionar contexto visual. Por exemplo, anexar capturas de tela ou arquivos de design — especialmente ao importar designs do Figma — permite que o agente passe de forma fluida do design para o código [7].

Dividir tarefas complexas em prompts menores e sequenciais também melhora os resultados. Por exemplo, você pode primeiro pedir ao agente que crie uma estrutura básica e, em seguida, solicitar aprimoramentos específicos: "Otimize a função em utils.py para melhorar o desempenho e explique as alterações." Essa abordagem passo a passo aproveita a capacidade do agente de compreender e explicar código enquanto se mantém atualizado por meio de seu recurso inteligente de pesquisa na web [1][5][6][7].

Depois que seus prompts estiverem otimizados, você poderá se concentrar em estruturar seus projetos para uma integração fluida com plataformas de automação como a Latenode.

Fazendo a transição de projetos do desenvolvimento para a automação

Organizar projetos em componentes modulares com interfaces claras é fundamental para integrar com a Latenode. Ao expor funções essenciais por meio de APIs REST ou webhooks, você facilita a automação de tarefas como implantação, testes ou conexão com sistemas de negócios [3].

Marcar pontos estáveis no processo de desenvolvimento com checkpoints garante transições confiáveis. As equipes devem estabelecer esses marcos para facilitar transferências fluidas entre os fluxos do Replit e da Latenode [5].

Gerenciar variáveis de ambiente e configurações é igualmente importante. Documente todas as dependências e use o gerenciamento de segredos integrado do Replit para armazenar com segurança chaves de API e dados confidenciais. Isso garante que os fluxos da Latenode possam acessar as credenciais necessárias sem intervenção manual [7].

A integração com controle de versão também desempenha um papel crucial na automação de pipelines de implantação. Por exemplo, a Latenode pode monitorar envios de código ou conclusões de build no Replit e acionar fluxos para implantação, notificações ou atualizações de CRM. Testar os fluxos gradualmente ajuda a garantir que funcionem de forma confiável antes da implementação da automação completa [5].

Depois que seus projetos estiverem configurados para automação, a próxima etapa será se concentrar em escalabilidade e segurança.

Garantindo escalabilidade e segurança

Para maximizar o potencial combinado do Replit AI Agent e da Latenode, você precisa priorizar segurança e escalabilidade. Evite inserir chaves de API ou credenciais diretamente no código usando os serviços de autenticação integrados do Replit e o gerenciamento seguro de credenciais da Latenode. Além disso, criptografe os canais de comunicação e configure controles de acesso adequados para ambas as plataformas [3][7].

Os recursos de histórico de execuções e reexecução de fluxos da Latenode permitem monitoramento e depuração contínuos. Ao acompanhar métricas como frequência de implantação, taxas de erro e uso de recursos, as equipes podem identificar e resolver gargalos antecipadamente. Revisar essas métricas regularmente possibilita decisões proativas de escalabilidade [3].

Criar fluxos modulares também ajuda a evitar pontos únicos de falha. Ao estruturar tanto o código do Replit quanto as automações da Latenode em componentes independentes e reutilizáveis, você pode escalar horizontalmente e simplificar a solução de problemas à medida que a complexidade do projeto aumenta [3].

A integração do banco de dados integrado do Replit com as ferramentas de gerenciamento de dados da Latenode cria um ambiente unificado para lidar com dados de negócios. Isso elimina a necessidade de bancos de dados externos, mantendo a segurança e o desempenho exigidos por sistemas de produção [7].

Para manter a estabilidade de longo prazo, realize auditorias de segurança regulares e atualize dependências em ambas as plataformas. Implemente registros de auditoria e revise permissões para garantir que apenas usuários autorizados possam acionar fluxos de automação. Essas medidas são essenciais para manter a segurança à medida que seus projetos e equipes crescem [3].

References

FAQ

Frequently Asked Questions

O Replit AI Agent foi desenvolvido para manter o contexto ao salvar as conversas em pontos importantes, garantindo continuidade entre as sessões. Isso significa que você pode retomar seu trabalho sem dificuldades, sem perder detalhes importantes.

Melhorias recentes reforçaram sua capacidade de processar e aplicar contexto por meio de inteligência avançada, resultando em respostas mais precisas e interações mais fluidas. Ainda assim, gerenciar prompts complexos ou pouco claros em sessões mais longas continua sendo um desafio, e há esforços contínuos para aprimorar a experiência geral do usuário.

Isso foi útil? Compartilhe →

Escrito por

Vasiliy Datsenko

Head of Customer Support

Vasiliy Datsenko é Head of Customer Support na Latenode e um escritor de automação focado em produto. Seu trabalho conecta conversas com clientes, pesquisa de automação de fluxos de trabalho, casos de uso de IA e educação prática sobre produtos para equipes que tentam automatizar processos de negócios reais.

Perfil do autor →

Verificado por

Oleg Zankov

CEO da Latenode, Especialista em No-code

Com uma filosofia enraizada em inovação, resolução de problemas e experiência do usuário, estou focado em capacitar equipes a criar integrações personalizadas e automatizar fluxos de trabalho com facilidade e eficiência. Trazendo uma vasta experiência em desenvolvimento de negócios, empreendedorismo tecnológico e desenvolvimento de software, reconheci a necessidade de uma solução de integração mais acessível, escalável e adaptável. Assim, nasceu a Latenode.com. Com nossa plataforma, as empresas podem aproveitar o poder da tecnologia sem a necessidade de conhecimentos extensos em programação. Apaixonado por promover um futuro onde a tecnologia nos serve, e não o contrário, minha missão é tornar processos complexos simples. Acredito em democratizar a tecnologia e equipar as equipes com as ferramentas para inovar, crescer e ter sucesso em um mundo cada vez mais digital.

Perfil do autor →

Continue lendo