Você que é programador e experiente não pede, mas quanto a empresa vende a IA com a propaganda de Crie planilha, organize seus números de alguma forma, isso acabou de virar "Juridicamente" defeito de produto.
Quando disse que "você não pede", me referia ao programador. Ele não pede algo para um modelo.
Vou usar seu exemplo para tentar me explicar melhor:
Produto: "IA para criar planilhas e gerenciar números"
O que acontece no cenário que citei (cenário ruim/errado):
chat:
usuario: crie uma planilha para eu controlar meu cafezinho. > enter
Dentro do app:
systemPrompt: "você é um experiente criador de planilhas. atenda ao usuário blah blah blah..."
human: "crie uma planilha para eu controlar meu cafezinho."
AI: "(a LLM cria a planilha, provavelmente em XML, e chama uma tool para salvar)"
tool: salvarPlanilha(conteudo) (retorna link)
AI: "Aqui está sua planilha. Baixe no link: "htt..."
Usuário: "Não abre!"
O que deveria acontecer:
ATENÇÃO: vou simplificar ao máximo. observe apenas o conceito.
chat:
usuario: crie uma planilha para eu controlar meu cafezinho. > enter
Dentro do app:
systemPrompt: "Você possui uma série de tools que estão preparadas para atender o usuário. Com base na mensagem escolha a tool adequada. Você pode pedir mais informações ao usuário caso o texto seja ambíguo. blah blah blah"
human: "crie uma planilha para eu controlar meu cafezinho."
AI: "chama a tool detectarIntencaoDoUsuario"
tool: detectarIntencaoDoUsuario(conteudoRecente) (retorna 'criar_planilha_gastos_pessoais')
AI: "chama a tool criarPlanilha('criar_planilha_gastos_pessoais')"
tool: criarPlanilha('criar_planilha_gastos_pessoais') (retorna "objeto_interno_id_xyz")
AI: "chama a tool criarSimulacao('criar_planilha_gastos_pessoais', conteudoRecente)"
tool: criarSimulacao('criar_planilha_gastos_pessoais', conteudoRecente) (retorna "sucesso" ou "falou, evaluation:'ao inserir valor com vírgula gerou erro'")
etc... etc...
Ou seja...
A LLM é só um "tradutor" de itenção e orquestrador de ferramentas. O que realmente faz o trabalho são tools, que internamente, na sua quase totalidade, são aplicativos tradicionais. software puramente determinístico.
Observe no meu exemplo "bom" principalmente no detectarIntencaoDoUsuario que retorna 'criar_planilha_gastos_pessoais': sim, o usuário deverá pedir um caso que já foi antecipado pelo desenvolvedor. o software deve ter o conhecimento de como criar_planilha_gastos_pessoais.
Conclusão
Não é como o marketing vende, é como o software decide entregar o que o marketing vende. Do jeito fácil que alucina, ou do jeito difícil que funciona.
A Anthropic é um exemplo perfeito: está revolucionando o mercado que a OpenAI criou. O que ela faz? software tradicional por baixo dos panos. Ela tem tool pra tudo. Não é a LLM que cria software para o usuário. A LLM orquestra as tools/skils...