Compreendendo o raciocínio do modelo com raciocínio estendido - Amazon Nova

Compreendendo o raciocínio do modelo com raciocínio estendido

nota

Esta documentação é para a versão 1. Para obter informações sobre como usar o Pensamento estendido na versão 2, acesse Pensamento estendido.

O pensamento estendido é uma configuração que permite que um modelo aborde problemas complexos com uma fase de raciocínio distinta. Durante essa fase, ele primeiro gera conteúdo de raciocínio dedicado em blocos reasoningContent que envolvem uma exploração sistêmica passo a passo de um problema. O modelo então reflete sobre seu raciocínio, identificando possíveis erros ou abordagens alternativas. Em seguida, ele finaliza sua resposta. Isso fornece uma resposta final clara e, ao mesmo tempo, entrega uma visão transparente do processo do modelo.

Devido aos grandes requisitos computacionais do pensamento estendido, o Nova permite a capacitação seletiva para uma abordagem híbrida. Isso significa que você pode ativar o pensamento estendido para consultas complexas e menos urgentes. Para consultas simples ou que exigem resposta rápida, você pode desativar o pensamento estendido para reduzir a carga de recursos computacionais.

Como funciona o raciocínio estendido

Quando o pensamento estendido é habilitado, o Nova cria blocos reasoningContent em sua resposta, onde gera seu processo de pensamento interno. O modelo usa esse raciocínio para informar sua resposta final em texto, criando uma separação clara entre a fase de pensamento e a resposta final.

Veja a seguir uma resposta da API, incluindo blocos reasoningContent seguidos por blocos de conteúdo de texto:

{ "output": { "message": { "role": "assistant", "content": [ { "reasoningContent": { "reasoningText": { "text": "Let me analyze this optimization problem systematically. First, I need to understand the constraints: 5 warehouses, 12 distribution centers, 200 retail locations, with a 50-mile maximum distance requirement. This is a classic facility location problem with distance constraints...", } } }, { "text": "Based on my analysis, I recommend implementing a two-phase optimization approach. Phase 1 should focus on clustering retail locations using k-means algorithm to identify natural distribution center catchment areas..." } ] } } }

Uso do raciocínio estendido

Veja abaixo um exemplo de uma chamada de API Converse com o raciocínio estendido ativado:

import boto3 import json client = boto3.client("bedrock-runtime", region_name="us-east-1") # Enable extended thinking for complex problem-solving response = client.converse( modelId="amazon.nova-lite-1-5-v1:0", messages=[{ "role": "user", "content": [{"text": "I need to optimize a logistics network with 5 warehouses, 12 distribution centers, and 200 retail locations. The goal is to minimize total transportation costs while ensuring no location is more than 50 miles from a distribution center. What approach should I take?"}] }], inferenceConfig={ "maxTokens": 40000, "temperature": 0 }, additionalModelRequestFields={ "reasoningConfig": { "type": "enabled", "maxReasoningEffort": "high" } } ) # The response will contain reasoning blocks followed by the final answer for block in response["output"]["message"]["content"]: if "reasoningContent" in block: reasoning_text = block["reasoningContent"]["reasoningText"]["text"] print(f"Nova's thinking process:\n{reasoning_text}\n") elif "text" in block: print(f"Final recommendation:\n{block['text']}")

Se você excluir o elemento reasoningConfig, o modelo desativará o pensamento estendido por padrão.

Opções de configuração de pensamento estendido

O Nova fornece controles flexíveis para um comportamento de pensamento estendido por meio do parâmetro ReasoningConfig, permitindo otimizar a alocação de computação do tempo de inferência para suas necessidades específicas.

Controle de raciocínio

Você pode alternar entre dois modos das capacidades de pensamento estendido. Definir type para disabled (padrão) significa que o Nova usa um raciocínio latente eficiente, otimizando a velocidade e a eficiência. Definir type para enabled ativa o pensamento estendido explícito do Nova com um processo de raciocínio visível.

Níveis de esforço de raciocínio

Quando o pensamento estendido está habilitado, você pode controlar quanto esforço computacional o Nova investe no processo de raciocínio. Definir maxReasoningEffort como baixo é adequado para tarefas moderadamente complexas que exigem algum raciocínio adicional. A configuração média funciona bem para problemas complexos que exigem análises substanciais. A configuração alta fornece o raciocínio mais completo para tarefas altamente complexas e multifacetadas, usando até 32.000 tokens de raciocínio.

{ "modelId": "amazon.nova-lite-1-5-v1:0", "inferenceConfig": { "maxTokens": 40000, "temperature": 0 }, "additionalModelRequestFields": { "reasoningConfig": { "type": "enabled", "maxReasoningEffort": "high" } } }
nota

Ao usar as configurações low e medium, o conteúdo de raciocínio será transmitido à medida que cada token for gerado durante o uso de ConverseStream. No entanto, high funciona de forma diferente, aplicando abordagens distintas para melhorar a qualidade, resultando na produção de todo o conteúdo do raciocínio em um só bloco final. Isso pode aumentar significativamente o tempo de obtenção do primeiro token e exigir trabalho adicional do lado do cliente para gerenciar com eficácia.

Práticas recomendadas para raciocínio estendido

Identificação de casos de uso de raciocínio estendido

Esta seção abordará possíveis casos de uso em que o raciocínio estendido é ou não aplicável.

Casos de uso em que o pensamento estendido é aplicável:

  • Solução de problemas complexos — cálculos e provas matemáticas em várias etapas, desafios algorítmicos que exigem abordagens sistemáticas, análise científica com múltiplas variáveis interdependentes e modelagem financeira com cenários e restrições complexos se beneficiam da capacidade do modelo de resolução metódica de problemas em uma fase de pensamento dedicada.

  • Tarefas avançadas de codificação — a grande refatoração da base de código em vários arquivos e dependências, cenários complexos de depuração que exigem a eliminação sistemática de possibilidades, o design da arquitetura do sistema com várias considerações técnicas e o planejamento da migração em vários serviços e plataformas se beneficiam da capacidade do Nova de raciocinar de forma abrangente no espaço do problema antes de propor soluções.

  • Tarefas analíticas — análise de documentos que exigem síntese em várias fontes, planejamento estratégico com prioridades e restrições concorrentes, tarefas de pesquisa que exigem avaliação de evidências conflitantes e análises jurídicas ou de conformidade que exigem uma consideração cuidadosa das regulamentações se beneficiam da capacidade do modelo de trabalhar sistematicamente com informações complexas.

  • Planejamento em várias etapas — planejamento de projetos com dependências e restrições de recursos, design de fluxo de trabalho que exige otimização em vários critérios, análise de risco que exige avaliação de vários cenários e otimização de processos de negócios que exige avaliação sistemática se beneficiam dos recursos aprimorados de planejamento do Nova.

Casos de uso em que o raciocínio estendido não é aplicável:

  • Consultas simples — perguntas factuais básicas como “Qual é a capital da França?”, definições diretas como “O que significa API?”, cálculos simples envolvendo aritmética básica e recuperação direta de informações do contexto fornecido funcionam de forma eficiente com o modo de raciocínio latente padrão do Nova.

  • Aplicativos de velocidade crítica — aplicativos de bate-papo em tempo real em que a latência é importante, chamadas de API de alta frequência em sistemas de produção, geração simples de conteúdo para casos de uso de alto volume e tarefas básicas de classificação ou análise de sentimentos se beneficiam dos tempos de resposta mais rápidos do raciocínio latente.

  • Cargas de trabalho econômicas — processamento de alto volume em que velocidade e custo são mais importantes do que a profundidade do raciocínio, tarefas simples de automação com lógica direta, moderação ou filtragem básica de conteúdo e processamento e transformação rotineiros de dados normalmente não exigem o investimento computacional adicional do pensamento estendido.

Como escolher os níveis de esforço de raciocínio

  • Baixo — funciona de forma ideal para revisão de código e sugestões de melhoria, tarefas básicas de análise que exigem alguma consideração adicional, solução simples de problemas que se beneficia de uma abordagem estruturada e a maioria das tarefas diárias de desenvolvimento com complexidade moderada. Esse nível oferece um aprimoramento significativo do raciocínio, mantendo características razoáveis de custo e latência.

  • Médio — funciona bem para cenários complexos de depuração que exigem investigação sistemática, cálculos em várias etapas com interdependências, tarefas de planejamento moderadas com várias restrições e análises que exigem avaliação de múltiplas alternativas. Esse nível fornece uma profundidade substancial de raciocínio para problemas que se beneficiam de uma análise mais completa.

  • Alto — entrega os melhores resultados para comprovações e problemas matemáticos avançados, design de sistema complexo com várias considerações arquitetônicas, tarefas de pesquisa que exigem análise e síntese aprofundadas, cenários críticos de tomada de decisão com implicações significativas e fluxos de trabalho de várias etapas que exigem planejamento e verificação cuidadosos. Esse nível permite que o Nova invista recursos computacionais substanciais para resolver problemas complexos de forma abrangente.

Como gerenciar custos e desempenho

Otimização de custos

A otimização de custos requer uma aplicação cuidadosa de um pensamento estendido. Use o pensamento estendido somente quando a complexidade justificar o custo computacional adicional, já que os tokens de raciocínio são cobrados como tokens de saída. Comece com pouco esforço e aumente gradativamente com base nos resultados para encontrar o equilíbrio ideal para seus casos de uso. Monitore os padrões de uso de tokens de raciocínio em seus aplicativos para identificar oportunidades de otimização. Considere o processamento em lote para tarefas de raciocínio não urgentes a fim de reduzir custos. Lembre-se de que o raciocínio latente com pensamento estendido desativado lida com a maioria das tarefas de forma eficaz e deve continuar sendo sua abordagem padrão.

Otimização de desempenho

A otimização do desempenho envolve definir valores de maxTokens apropriados para acomodar o raciocínio e o conteúdo da resposta final. Use o streaming em tarefas complexas de raciocínio para melhorar o desempenho percebido e a experiência do usuário. Sempre que possível, armazene padrões de raciocínio para tipos de problemas encontrados com frequência. Considere o nível de esforço de raciocínio com base nas expectativas do usuário e nas restrições de tempo, equilibrando a análise completa com os requisitos de tempo de resposta.