Ao vivo 18/11 · Turma 318 nov às 19:00 MSK — aula prática gratuita de agentes de IA · Turma 3 ao vivo começa 23/11Aula 18/11 →Turma 3 (23/11)
LançamentoAnálise · No radarHabr AI→ original

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
Equipe do AI Sous-chef lança aplicativo e bot com IA na nuvem em 2,5 meses
Fonte: Habr AI. Colagem: Hamidun News.
Ouvir artigo
Ficha técnica e números-chave
ParâmetroDados
Fonte originalHabr AI ↗
Editor-chefe
O mapeamento de versões fica em cachepara trocar de versão, é necessário limpar o cache ou reiniciar o processo.
Dado-chave #2O modo stub testa o aplicativo com respostas predefinidas, mas não avalia a qualidade da geração.
Dado-chave #3Dez cenários de teste ainda não fornecem uma métrica geral de qualidade.

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.

História

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.

ZK
Zhemal Khamidun — CPO da Alpina Digital, gerente de produto do AlpinaGPT. Cria produtos de IA desde 2019. O Hamidun News é um projeto pessoal que virou um agregador em produção com mais de 6.000 leitores.
✦ Unified AI Workspace · Nomad

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.

Try Nomad AI →Launch Nomad Agent
O que você acha?
Carregando comentários…