๐ Fase 1: IA gera estrutura
Na primeira fase, a IA produz apenas estrutura de dados - JSON, outlines, especificacoes - nunca arquivos finais.
O que a IA produz na Fase 1
JSON Estruturado
Dados organizados em formato maquina
Outlines
Estruturas hierarquicas de conteudo
Roteiros
Sequencia logica de passos ou cenas
Especificacoes
Descricoes tecnicas de requisitos
# Exemplo de output da Fase 1
{
"tipo": "apresentacao",
"titulo": "Introducao ao GIPM",
"slides": [
{"numero": 1, "titulo": "O Problema", "bullet_points": [...]},
{"numero": 2, "titulo": "A Solucao", "bullet_points": [...]},
{"numero": 3, "titulo": "Proximos Passos", "bullet_points": [...]}
],
"metadata": {"autor": "sistema", "versao": "1.0"}
}
๐ฆ Fase 2: Sistema gera artefatos
Na segunda fase, o sistema (nao a IA) transforma a estrutura em arquivos finais utilizaveis.
Artefatos produzidos pelo Sistema
.docx
Documentos
.pptx
Apresentacoes
.mp3
Audio
.mp4
Video
๐ซ Por que IA nunca gera arquivos finais
Existem razoes tecnicas e estrategicas para essa separacao.
Problemas de IA gerando arquivos diretamente
- โInconsistencia: Formatos e estilos variam entre chamadas
- โSem controle: Nao ha como aplicar templates corporativos
- โAlucinacao: Binarios gerados por IA podem ser corrompidos
- โCusto: Gerar binarios consome muito mais tokens
๐ก Principio Central
A IA e boa em pensar e estruturar. O sistema e bom em produzir e formatar. Cada um faz o que faz melhor.
๐ Fluxo completo da regra
Request: Usuario solicita uma apresentacao
Fase 1: IA gera JSON com estrutura de slides
Persistencia: JSON e salvo no banco de dados
Fase 2: Sistema le JSON e gera .pptx com python-pptx
Retorno: Arquivo .pptx disponibilizado para download
๐ป Implementacao pratica
Fase 1: Chamada a IA
# Fase 1: IA gera estrutura
def generate_structure(request: str) -> dict:
response = llm.call(
prompt=f"Gere a estrutura JSON para: {request}",
output_format="json"
)
structure = json.loads(response)
save_to_database(structure) # Persistencia
return structure
Fase 2: Sistema materializa
# Fase 2: Sistema gera artefato
def materialize_artifact(structure: dict) -> bytes:
if structure["tipo"] == "apresentacao":
return create_pptx(structure)
elif structure["tipo"] == "documento":
return create_docx(structure)
elif structure["tipo"] == "audio":
return create_mp3(structure)
๐งช Exemplos: roteiro para video
Fase 1: IA gera roteiro
{
"titulo": "Intro GIPM",
"duracao_segundos": 60,
"cenas": [
{
"id": 1,
"texto_narrador": "...",
"visual": "titulo_animado"
},
{
"id": 2,
"texto_narrador": "...",
"visual": "diagrama_3_camadas"
}
]
}