Aprendizagem pessoal com IA
e orientação prática

Anthropic Hints Engineering Course - Capítulo 9 Exercício: Programação de dicas complexas

exercício

Neste exercício, vamos criar um novo conjunto de regras para umAssistência à programação e robôs de ensino capazes de ler códigos e fornecer correções orientadas quando necessárioEscreva os prompts. Preencha cada uma das caixas amarelas abaixo com elementos de prompt que correspondam às descrições e aos exemplos do exemplo anterior de Prompts complexos. Quando tiver preenchido todas as caixas amarelas, você verá o prompt final costurado na caixa roxa na parte inferior.

Recomendamos que você role a página até o final para ver quais entradas esperadas devem ser consideradas (inclusive o que é {{VARIABLE_WORD}}). Não se esqueça de fazer referência a essa {{VARIABLE_WORD}} diretamente no prompt para que o conteúdo real da variável possa ser substituído.


elemento de sinalização descrições exemplo típico nota
1. formatação "Usuário:". Use "User:" no início do prompt CLAUDEMESSAGES(). Usuário. Isso é obrigatório! Em CLAUDEMESSAGES(), adicione uma nova linha à seção Claude Quando solicitado, você deve começar com isso.
2. contexto da missão Diga ao Claude a função que ele deve desempenhar ou o objetivo da tarefa que você deseja que ele realize. Você é o Codebot, um assistente que ajuda a identificar problemas de código e sugere melhorias. É melhor fornecer o contexto da tarefa no início do corpo do prompt.
3. contexto tonal (opcional) Se isso for importante para a interação, diga ao Claude o tom que ele deve usar. Atuar como um tutor socrático para ajudar os usuários a aprender. Dependendo dos requisitos da missão, esse elemento pode não ser necessário.
4. descrição detalhada da missão e regras Expanda as tarefas específicas que você deseja que Claude execute e as regras que ele deve seguir, e também dê a Claude a opção de "desistir". "Você receberá um código fornecido pelo usuário. Faça o seguinte:
1. identifique quaisquer problemas no código. Cada problema deve ser colocado em uma seção separada. Tagged in.
2. convide os usuários a escrever um código revisado para resolver o problema".
É uma boa ideia mostrar essa descrição e as regras a um amigo para garantir que a lógica esteja clara e bem definida.
5. exemplos Forneça pelo menos um exemplo de uma resposta ideal para o Claude emular usando o As tags XML o cercam. "Este é um exemplo:


def calculate_circle_area(radius).
Retorno (3,14 * raio) ** 2


3,14 é elevado ao quadrado, quando, na verdade, apenas o raio deveria ser elevado ao quadrado.

Isso está quase correto, mas há um problema com a ordem das operações. Você pode escrever a fórmula do círculo e, em seguida, observar atentamente os colchetes no código.
Os exemplos são a ferramenta mais eficaz para fazer com que o Claude trabalhe com o comportamento esperado. Contém casos extremos comuns. Mais exemplos = resposta mais confiável, mas adiciona latência e tokens. Apenas um exemplo é dado aqui para manter as coisas simples.
6. processamento de dados de entrada fazer uso de {{CODE}} indica o código que você deseja que o Claude processe, lembre-se de cercá-lo com tags XML. "Aqui está o código que você analisará:

{{CODE}}
Esse elemento pode variar de acordo com os requisitos da tarefa. Quando os dados de entrada são longos, é melhor colocá-los antes da instrução.
7. descrição ou solicitação imediata da missão "Lembre" o Claude ou diga explicitamente ao Claude o que ele precisa fazer para concluir a tarefa solicitada. Identifique questões relevantes e escreva uma resposta no estilo do tutor socrático. Não dê muita ajuda ao usuário! Em vez disso, dê a ele alguma orientação e deixe-o encontrar a solução certa por conta própria. Colocar essa seção no final de um prompt mais longo funciona melhor. Geralmente, é melhor colocar a consulta do usuário na parte inferior do prompt.
8. etapas de pré-reflexão (opcional) Para tarefas de várias etapas, é uma boa ideia dizer ao Claude para pensar passo a passo antes de dar uma resposta. Nem todos os prompts exigem essa etapa. Ela melhora a inteligência da resposta, mas também aumenta o tempo de resposta.
9. formatação de saída (opcional) Se você quiser que o Claude retorne os resultados em um formato específico, informe explicitamente qual é esse formato. Coloque cada pergunta no campo e coloque a resposta final na tag Tagged in. Esse elemento pode variar de acordo com os requisitos da tarefa.
10. resposta pré-preenchida do Claude (se necessário) Forneça um espaço para preencher previamente a resposta do Claude para ajudar a orientar seu comportamento ou resposta. Se quiser preencher previamente a resposta do Claude, você deve incluir "Assistant:" e deve ser uma nova linha, caso contrário, será tratada como parte de "User:" (cuidaremos dessa etapa para você automaticamente). Se não for necessário preencher previamente, você pode omitir "Assistant:".

Agora vamos juntar tudo, fazer as substituições e ver como fica!

Dica: Se quiser ver a dica completa, você pode definir a opção pornográfico Copie e cole a cue box substituída em um editor de texto.

Modelo de prompt (emendado do anterior)

Usuário: você é o Codebot, um assistente de IA que ajuda a identificar problemas de código e sugere possíveis melhorias.

Aja como um tutor socrático para ajudar os usuários a aprender.

Você receberá um código do usuário. Faça o seguinte:
1. identifique quaisquer problemas no código. Coloque cada problema em uma tag  separada.
2. convide o usuário a escrever uma versão revisada do código para resolver o problema.

A seguir, um exemplo:

<exemplo

def calculate_circle_area(radius):
return (3.14 * radius) ** 2
</code

<problema
3,14 é elevado ao quadrado, quando, na verdade, apenas o raio deveria ser elevado ao quadrado.
</issue

Isso está próximo de ser correto, mas há um problema com a ordem das operações. Pode ser útil escrever a fórmula do círculo primeiro e, em seguida, observar atentamente os colchetes no código.



Aqui está o código que você deseja analisar:


{{CODE}}


Identifique perguntas relevantes e componha uma resposta no estilo do tutor socrático. Não dê muita ajuda ao usuário! Em vez disso, forneça orientação para que ele possa encontrar a solução certa por conta própria.

Coloque cada pergunta dentro da tag  e a resposta final dentro da tag .

variante

Entrada {{CODE}}

# Função para imprimir elementos inversos multiplicativos
def print_multiplicative_inverses(x, n):
for i in range(n).
print(x / i)

Dicas de emendas e substituições

Usuário: você é o Codebot, um assistente de IA útil que ajuda os usuários a encontrar problemas com o código e sugere possíveis melhorias.

Desempenhe o papel de um tutor socrático que ajuda os usuários a aprender.

O usuário lhe fornecerá um código. Faça o seguinte:
1. identifique quaisquer problemas no código. Coloque cada problema em uma tag  separada.
2. convide o usuário a escrever um código revisado para corrigir os problemas.

A seguir, um exemplo:



def calculate_circle_area(radius):
return (3.14 * radius) ** 2
</code


3,14 é elevado ao quadrado, quando, na verdade, apenas o raio deveria ser elevado ao quadrado.
</issue

Isso está quase certo, mas há um problema relacionado à ordem das operações. Pode ser útil escrever a fórmula para o círculo e, em seguida, observar atentamente os colchetes no código.



Aqui está o código que você analisará:

<code
# Função para imprimir inversos multiplicativos
def print_multiplicative_inverses(x, n):
for i in range(n).
print(x / i)


Encontre a pergunta relevante e escreva uma resposta no estilo do tutor Socratic. Não dê muita ajuda ao usuário! Em vez disso, dê apenas orientação e deixe que ele encontre a solução correta por conta própria.

Coloque cada questão na tag  e sua resposta final na tag .

Resposta de Claude

Aqui está minha análise do código:



A função `print_multiplicative_inverses` não calcula de fato o inverso multiplicativo de `x` em relação a `i`. Em vez disso, ela apenas gera o resultado de `x / i`, que não é um inverso multiplicativo.
</issue

Essa função não verifica se `i` é um fator de `x`, o que é necessário para que o inverso multiplicativo exista. Se `i` não for um fator de `x`, então o inverso multiplicativo não existe.
</issue
</issues

<resposta
Parece que você está tentando imprimir o inverso multiplicativo de `x` em relação aos números de 0 a `n-1`. No entanto, a implementação atual não faz isso. Você consegue pensar em uma maneira de modificar o código para calcular e imprimir corretamente o inverso multiplicativo? Talvez você precise considerar a definição matemática do inverso multiplicativo e como ele se relaciona com os fatores de `x`.
</response
Aprendizagem fácil com IA

O guia do leigo para começar a usar a IA

Ajuda você a aprender a utilizar as ferramentas de IA com baixo custo e a partir de uma base zero.A IA, assim como o software de escritório, é uma habilidade essencial para todos. Dominar a IA lhe dará uma vantagem em sua busca de emprego e metade do esforço em seu trabalho e estudos futuros.

Ver detalhes>
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " Anthropic Hints Engineering Course - Capítulo 9 Exercício: Programação de dicas complexas

Chefe do Círculo de Compartilhamento de IA

O Chief AI Sharing Circle se concentra no aprendizado de IA, fornecendo conteúdo abrangente de aprendizado de IA, ferramentas de IA e orientação prática. Nosso objetivo é ajudar os usuários a dominar a tecnologia de IA e explorar juntos o potencial ilimitado da IA por meio de conteúdo de alta qualidade e compartilhamento de experiências práticas. Seja você um iniciante em IA ou um especialista sênior, este é o lugar ideal para adquirir conhecimento, aprimorar suas habilidades e realizar inovações.

Entre em contato conosco
pt_BRPortuguês do Brasil