Equipe do AI Sous-chef lança aplicativo e bot com IA na nuvem em 2,5 meses
A equipe do AI Sous-chef lançou um aplicativo Android e um bot no Telegram em dois meses e meio: o usuário informa os ingredientes e o serviço sugere receitas. Os prompts ficam em arquivos separados, as versões são selecionadas pelo pin.json e as respostas passam por validação estrutural. Mas um usuário relatou uma salada de batatas e berinjelas cruas: uma resposta tecnicamente correta ainda não garante instruções utilizáveis.
Processado por IA de Habr AI; editado por Hamidun News
O aplicativo recebeu uma lista de ingredientes, devolveu uma receita no formato exigido e apresentou ao usuário uma salada de batatas e berinjelas cruas. As instruções não incluíam a etapa de cozinhar esses ingredientes. Segundo a equipe do AI Sous-chef, esse foi um dos relatos recebidos após o lançamento. Para quem desenvolve software, o problema é familiar: a resposta do modelo passa nas verificações técnicas, mas entrega um resultado ruim ao usuário.
Em uma análise publicada no Habr, a equipe explica como criou, em dois meses e meio, um aplicativo Android e um bot no Telegram com um backend compartilhado. O valor prático do artigo está nos detalhes: como as versões dos prompts são selecionadas, o que é verificado nas respostas e por que essas verificações ainda não são suficientes.
Dois clientes, um backend compartilhado e prompts em arquivos
O fluxo é simples: a pessoa fotografa os ingredientes ou os informa por texto, confirma a lista reconhecida e recebe sugestões de pratos. O aplicativo móvel em React Native e o bot compartilham um servidor em Python e FastAPI. O reconhecimento dos ingredientes e a geração de receitas são divididos entre dois modelos na nuvem; as solicitações são enviadas à API da Yandex.
As instruções ficam separadas do código: cada tarefa tem um arquivo de sistema e outro de usuário. As versões utilizadas são definidas no pin.json. Por exemplo, o reconhecimento pode continuar na v1, enquanto as receitas usam outra versão já preparada. Um carregador lê os arquivos e substitui os valores em expressões como {{ products }}. Se faltar um arquivo ou um valor obrigatório, ele gera um erro.
Isso permite ajustar a redação sem reescrever a função que chama o modelo. Há, porém, um detalhe operacional: o mapeamento de versões fica em cache na memória do processo. Depois de alterar o pin.json, é necessário reiniciar ou limpar o cache. Já os textos das instruções são lidos novamente a cada chamada ao carregador.
Existe também um limite mais significativo. Segundo a descrição dos autores, a lista de ingredientes também é inserida na instrução de sistema. Arquivos separados, por si só, não separam os dados do usuário das regras de comportamento do modelo. Ainda é necessário testar como ele reage a instruções alheias à tarefa inseridas no texto de entrada.
A validação do JSON verifica a estrutura; a receita exige outra avaliação
Ao gerar receitas, o aplicativo solicita JSON por meio de um parâmetro da API, interpreta a resposta com json.loads e verifica a estrutura esperada com model_validate. Isso ajuda a detectar respostas que o código não consegue processar. No entanto, a presença dos campos obrigatórios não diz nada sobre a completude das etapas de preparo.
Depois do relato sobre as batatas cruas, a equipe começou a aperfeiçoar o prompt. A resposta original não foi salva, portanto não há uma comparação verificável entre o antes e o depois. Os autores não afirmam que o problema foi resolvido.
O repositório reúne dez cenários de teste: entrada vazia, um único ingrediente, quantidades fracionárias, texto ambíguo e outros casos. Estão documentados ingredientes extras, instruções vagas e erros de formato. Mas ainda não existe uma métrica única e confiável: entre os testes, mudaram ao mesmo tempo os prompts, as configurações de geração e o processamento das respostas.
O uso de latest nos endereços dos modelos limita ainda mais a reprodutibilidade. A versão do prompt pode permanecer a mesma, enquanto o modelo por trás daquele endereço é atualizado. Para obter execuções comparáveis, é necessário salvar a entrada, a resposta, as configurações e a identificação mais precisa disponível do modelo.
O que pode ser aplicado ao seu próprio produto
O AI Sous-chef oferece o modo AI_MODE=stub: em vez de fazer solicitações à nuvem, o aplicativo recebe ingredientes e receitas predefinidos. Essas respostas são úteis para testar a interface e a interação entre os componentes. Esse modo não mede a qualidade da geração, pois não há geração de conteúdo.
Para quem trabalha com produto, outra limitação da primeira versão é reveladora: era possível confirmar a lista reconhecida, mas não corrigi-la. A pessoa via o erro e não conseguia remover um ingrediente incorreto antes de avançar para a próxima etapa. A edição da lista se tornou uma das melhorias previstas para breve.
Segundo o artigo, o repositório principal é publicado sob a GNU AGPL v3.0. Nele, é possível estudar o carregador de prompts, a seleção de versões, a validação de respostas e a substituição dos modelos por dados predefinidos. Ao adaptar a implementação, será necessário considerar as estruturas específicas do aplicativo e o comportamento do cache.
Para uma equipe que esteja construindo um serviço semelhante, o caso sugere uma forma útil de trabalhar: verificar separadamente o processamento da resposta e seu conteúdo, salvar exemplos problemáticos e comparar mudanças em condições idênticas. Manter os prompts em arquivos simplifica a manutenção. As evidências de qualidade ainda precisam ser obtidas a partir de respostas reais.
- 30 de abr. de 2026SOUS, startup de Amsterdã, capta €4 milhões para plataforma de IA voltada a restaurantes independentes
- 2 de mai. de 2026Mindsera mostra o outro lado dos diários com IA: apoio, dependência e risco de vazamento
- 6 de mar. de 2026Liquid AI lança sistema para rodar agentes de IA inteiramente no dispositivo
- 1 de mar. de 2026Alibaba abre o CoPaw, uma estação de trabalho para escalar agentes de IA
Perguntas frequentes sobre a notícia
O que se sabe sobre Dois clientes, um backend compartilhado e prompts em arquivos?
O fluxo é simples: a pessoa fotografa os ingredientes ou os informa por texto, confirma a lista reconhecida e recebe sugestões de pratos. O aplicativo móvel em React Native e o bot compartilham um servidor em Python e FastAPI. O reconhecimento dos ingredientes e a geração de receitas são divididos entre dois modelos na nuvem; as solicitações são enviadas à API da Yandex. As instruções ficam separadas do código: cada tarefa tem um arquivo de sistema e outro de usuário.
O que se sabe sobre A validação do JSON verifica a estrutura; a receita exige outra avaliação?
Ao gerar receitas, o aplicativo solicita JSON por meio de um parâmetro da API, interpreta a resposta com json.loads e verifica a estrutura esperada com model_validate. Isso ajuda a detectar respostas que o código não consegue processar. No entanto, a presença dos campos obrigatórios não diz nada sobre a completude das etapas de preparo. Depois do relato sobre as batatas cruas, a equipe começou a aperfeiçoar o prompt.
O que pode ser aplicado ao seu próprio produto?
O AI Sous-chef oferece o modo AI_MODE=stub: em vez de fazer solicitações à nuvem, o aplicativo recebe ingredientes e receitas predefinidos. Essas respostas são úteis para testar a interface e a interação entre os componentes. Esse modo não mede a qualidade da geração, pois não há geração de conteúdo. Para quem trabalha com produto, outra limitação da primeira versão é reveladora: era possível confirmar a lista reconhecida, mas não corrigi-la.
Test Frontier LLMs & Autonomous Agents in One Workspace
Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.
O essencial da IA — uma vez por semana
Sete histórias que realmente importaram, escolhidas a dedo. Sem ruído nem releases.
Pronto! Verifique seu e-mail para a confirmação.