Onde experimentamos primeiro.
O braço de investigação da AppX. Testamos tecnologia emergente por nossa conta, publicamos o que encontramos, e levamos para o trabalho de cliente só o que ganhou o seu lugar.
Investigação aplicada ao produto.
A AppX Labs é a unidade de investigação aplicada da AppX, e o método é constante: define-se um problema representativo, constrói-se uma prova de conceito, medem-se os resultados em condições reproduzíveis, e publica-se o relatório com os dados que o sustentam, incluindo os casos em que a conclusão é desfavorável.
A prática é antiga na casa. A equipa integra investigadores, e parte do trabalho da AppX foi reconhecida como investigação e desenvolvimento ao abrigo do SIFIDE. É essa base que sustenta as recomendações que fazemos aos clientes: quando avaliamos uma tecnologia, avaliamo-la com evidência própria.
Cada artigo é apresentado à equipa toda.
Um write-up da Labs não acaba quando é escrito. É apresentado à equipa inteira, com o problema, o que se tentou e os números, para que o que uma pessoa aprendeu passe a estar em todas as mãos.
Os nossos artigos.
We put vibecoding to the test on a real client project at AppX.
Tiago Pinto, Manuel OliveiraOs editores de código assistidos por inteligência artificial prometem transformar instruções em linguagem natural em software funcional, mas raramente se mede, em condições reais, até onde conseguem levar um produto completo e onde deixam de ser úteis. Este artigo relata uma avaliação prática do vibe coding, o método orientado por prompts popularizado pelo Cursor, aplicado à reconstrução de uma aplicação móvel já existente na AppX. O exercício foi deliberadamente visual e iterativo: capturas de ecrã da aplicação de referência serviram de material para os prompts, os componentes gerados foram executados e observados, e os prompts foram refinados até a interface e o comportamento corresponderem ao pretendido. O desenvolvimento decorreu por fases, do painel principal com dados fictícios à autenticação, aos ecrãs secundários, à ligação ao backend e, por fim, ao empacotamento com CapacitorJS para ensaio em dispositivo. Os resultados mostram uma aceleração real na prototipagem, na navegação, na construção da interface e na integração básica de APIs, desde que os prompts sejam precisos: instruções vagas custam várias iterações, a coerência do layout e a organização do código degradam-se sem supervisão, e um programador experiente encontrará tarefas que seriam mais rápidas escritas à mão. O artigo termina com as condições em que uma software house pode adotar o método sem perda de qualidade: as decisões de arquitetura, a segurança e a conformidade, a revisão de código, o desempenho e a prontidão para produção continuam a ser responsabilidade humana, o código gerado é tratado como o de um par em início de carreira, e os prompts são versionados como artefactos de pleno direito.
Ler artigo →Building a generic knowledge base chatbot with open-source LLMs and Node.js.
João Lopes, Manuel OliveiraOs modelos de linguagem de grande dimensão conseguem responder sobre material com que nunca foram treinados quando combinados com geração aumentada por recuperação, mas construir um sistema desses inteiramente a partir de componentes de código aberto, e saber o que custa em latência e em rigor, exige medição e não suposição. Este artigo documenta a conceção e a avaliação de um chatbot de base de conhecimento desenvolvido na AppX em Node.js, que corre do lado do servidor e assenta no Ollama para executar os modelos localmente, no LangChain para orquestrar a recuperação e os prompts, e num registo de mensagens em MySQL que dá a cada utilizador uma conversa persistente. Os ficheiros de texto e PDF são segmentados, convertidos em embeddings e recuperados como contexto de cada resposta; gerar os embeddings uma única vez no arranque do servidor e guardá-los em ficheiro reduziu o tempo de resposta de 32,41 s para 4,92 s com o Llama 3.1 e de 37,54 s para 5,99 s com o Gemma 2, cerca de seis vezes. Os dois modelos foram depois comparados com três modelos de embeddings, mxbai-embed-large, snowflake-arctic-embed e nomic-embed-text, sobre um conjunto fixo de dezassete perguntas e com o contexto recuperado mantido constante. O Gemma 2 obteve a taxa de sucesso mais alta, 91,18 % com mxbai-embed-large e com snowflake-arctic-embed, enquanto o Llama 3.1 respondeu sempre mais depressa, e a resposta passou a ser transmitida em fluxo para atenuar a latência remanescente. O artigo termina com o compromisso que esta configuração impõe entre qualidade e tempo de resposta, e com as linhas de trabalho que deixa em aberto.
Ler artigo →Vamos construir algo incrível juntos.
Tem um projeto em mente? Fale connosco. Estamos ansiosos por saber de si.
Vamos falar 👋