| """Tool: gera prompts How Might We (HMW) estruturados. |
| |
| Útil na fase Idear: transforma um problema bruto em N prompts de brainstorm. |
| """ |
|
|
|
|
| def run_ideation_prompt_generator(problem: str, count: int = 5) -> str: |
| """Gera 'count' prompts HMW a partir de uma descrição de problema.""" |
| count = max(3, min(count, 10)) |
|
|
| templates = [ |
| "Como podemos {p} sem aumentar custos?", |
| "Como podemos {p} em menos de uma semana?", |
| "Como podemos {p} envolvendo o cliente desde o início?", |
| "Como podemos {p} usando recursos que já temos?", |
| "Como podemos {p} de forma que clientes recomendem a amigos?", |
| "Como podemos {p} mantendo a identidade da marca?", |
| "Como podemos {p} sem depender de tecnologia cara?", |
| "Como podemos {p} aprendendo com concorrentes diretos?", |
| "Como podemos {p} criando uma experiência memorável?", |
| "Como podemos {p} reduzindo o esforço do cliente?", |
| ] |
|
|
| selected = templates[:count] |
| p_norm = problem.strip().rstrip(".").lower() |
| prompts = [t.format(p=p_norm) for t in selected] |
|
|
| out = [ |
| f"Problema base: {problem.strip()}", |
| f"\n{count} prompts HMW para brainstorm:", |
| ] |
| out.extend(f" {i}. {prompt}" for i, prompt in enumerate(prompts, 1)) |
| out.append("\nRegra: gere pelo menos 5 ideias para cada prompt antes de avaliar.") |
| return "\n".join(out) |
|
|
|
|
| ideation_prompt_generator_tool: dict = { |
| "type": "function", |
| "function": { |
| "name": "ideation_prompt_generator", |
| "description": ( |
| "Gera prompts How Might We (HMW) estruturados para sessão de " |
| "brainstorm. Use na fase Idear do Design Thinking, depois de já " |
| "ter um problema bem definido pela fase Definir." |
| ), |
| "parameters": { |
| "type": "object", |
| "properties": { |
| "problem": { |
| "type": "string", |
| "description": "Problema definido na fase 2. Ex: 'reter clientes recorrentes'", |
| }, |
| "count": { |
| "type": "integer", |
| "description": "Quantos prompts HMW gerar (3-10, padrão: 5)", |
| "default": 5, |
| }, |
| }, |
| "required": ["problem"], |
| "additionalProperties": False, |
| }, |
| }, |
| } |
|
|