notícias

Prompt de codificação do núcleo Claude 3.5 revelado, codificadores de toda a rede estão entusiasmados!Método de treinamento em quatro etapas, a última versão V2 lançada

2024-07-16

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Novo Relatório de Sabedoria

Editor: Taozi

[Introdução à Nova Sabedoria] As principais dicas do sistema de codificação Claude 3.5 são populares na comunidade Reddit. Agora mesmo, o autor original lançou a segunda versão evoluída e alguns internautas já a adicionaram ao seu fluxo de trabalho.

Um prompt do sistema sobre a codificação principal do Claude Sonnet 3.5 foi postado recentemente no Reddit e se tornou viral!


Um usuário chamado ssmith12345uk compartilhou na placa principal do r/ClaudeAI que ele usou a prática do código Claude e ajustou constantemente os prompts do sistema para otimizar o modelo.

Ele disse que o prompt do sistema incorpora algumas ideias do Anthropic Meta-Prompt e resolve alguns problemas encontrados anteriormente.

Eventualmente, ele divulgou todas as palavras-chave.


Os desenvolvedores da comunidade de IA encaminharam para seus favoritos, dizendo que essa é a dica que os programadores mais querem!



Os internautas resumiram isso: ReAct + Planning + XML é tudo que você precisa.


Alguns internautas beneficiados disseram que essa dica foi muito útil em seus projetos.


Ainda ontem, o autor original lançou uma versão evoluída da palavra de alerta V2 na comunidade Reddit e forneceu instruções e explicações detalhadas para seu uso.


Antes de explicar essas instruções e técnicas do sistema, deixe-me primeiro responder a uma pergunta dos internautas – onde inserir?

Você precisa criar um projeto (inscrever-se para usuários Pro) e então entrar na página onde insere as instruções imediatas.



As dicas de codificação mais fortes para Sonnet 3.5, treinamento em 4 etapas

Aqui, os prompts do sistema V1 e V2 são reunidos para que todos possam sentir a diferença de forma mais intuitiva após a atualização.

O prompt do sistema da versão V2 é mostrado no lado direito da figura abaixo. Comparado com V1, trata-se basicamente de pequenos reparos.

Na versão mais recente, o modelo ainda é orientado para completar o raciocínio CoT por meio de quatro etapas – revisão de código, planejamento, saída e revisão de segurança.

No primeiro parágrafo, a definição do papel de Claude 3.5 permanece a mesma.

Você é um desenvolvedor web especialista com proficiência em CSS, JavaScript, React, Tailwind, Node.JS e Hugo/Markdown.

No entanto, alguns ajustes foram feitos na segunda frase - "Não se desculpe desnecessariamente. Revise o histórico da conversa para evitar repetir erros anteriores."

A seguir, peça ao Claude 3.5 para dividir a tarefa em etapas independentes durante a conversa e, após cada etapa, sugira um pequeno teste para ter certeza de que tudo está no caminho certo.

Forneça o código somente quando um exemplo for necessário ou solicitado explicitamente. Seria melhor se você pudesse responder sem código.

Mas maiores esclarecimentos serão solicitados, se necessário.

A próxima etapa é a "revisão do código" - antes de escrever ou propor código, conduza uma revisão abrangente do código existente e descreva entre as tags como ele funciona.


Depois de concluir a revisão do código, você precisa construir um plano de mudança entre tags, solicitando arquivos fonte adicionais ou documentação que possa ser relevante.

Siga o princípio DRY (Don't Repeat Yourself) para evitar a duplicação de código e equilibrar a manutenção e flexibilidade do código.

E, nesta etapa, são apresentadas possíveis compensações e opções de implementação, e estruturas e bibliotecas relevantes são consideradas e recomendadas. Se ainda não concordamos com um plano, pare nesta etapa.

Uma vez acordado, o código é gerado entre as tags.

Aqui, o autor do Reddit também lembrou Claude 3.5 de coisas que você deve prestar atenção ao gerar o código:

Preste atenção aos nomes de variáveis, identificadores e literais de string e verifique se eles são copiados exatamente do arquivo original. Use dois pontos duplos e letras maiúsculas (como::UPPERCASE::) para indicar que os itens nomeados convencionalmente permanecem atuais. estilos de codificação, ao gerar blocos de código usando expressões idiomáticas adequadas para essa linguagem, especifique a linguagem de programação após o primeiro backtick: por exemplo: ```JavaScript, ```Python

Por fim, é necessária uma revisão operacional e de segurança do PLANEJAMENTO e da SAÍDA, com especial atenção aos assuntos que possam comprometer os dados ou introduzir vulnerabilidades.

Para alterações confidenciais (como manipulação de entradas, cálculos de moeda, autenticação), realize uma revisão completa e forneça sua análise na tag.

Análise do autor

A seguir, em um longo artigo explicativo, o autor do Reddit usa ‍⬛ para indicar “superstição” e para expressar do que está convencido.


Este prompt é um exemplo de prompt de "cadeia de pensamento" guiado, informando a Claude as etapas a serem seguidas e em que ordem, e usando-o como um prompt do sistema (o primeiro conjunto de instruções que o modelo recebe).

O uso de tags XML para separar etapas foi inspirado nas meta-dicas da Antrópica.

O autor acredita que Claude é particularmente sensível a tags XML, que podem estar relacionadas ao treinamento do modelo. Portanto, ele prefere processar HTML sozinho ou no final da sessão‍⬛.

Fonte do artigo: https://github.com/anthropics/anthropic-cookbook/blob/68028f4761c5dbf158b7bf3d43f2f45b44111200/misc/metaprompt.ipynb#

A cadeia de pensamento guiado segue as seguintes etapas: revisão de código, planejamento, saída, revisão de segurança.

1 Revisão de código

Traga a análise de código estruturado para o contexto para informar o planejamento subsequente.

O objetivo é evitar que o LLM faça alterações locais no código sem levar em conta o contexto mais amplo. Os autores estão convencidos, ao testar, que esta abordagem é eficaz.

2 planejamento

Esta etapa produz um plano de design e implementação de alto nível que pode ser revisado antes de gerar o código.

A “parada” aqui evita preencher o contexto com código gerado, desnecessário, que não atende às nossas necessidades, ou que vamos e voltamos para modificar.

Geralmente apresenta opções relevantes e apropriadas.

Nesta fase, você pode detalhar os detalhes do plano para refiná-lo ainda mais (por exemplo, conte-me mais sobre a etapa 3, podemos reutilizar a implementação Y, mostre-me um trecho de código, o que devo pensar sobre a biblioteca, etc. .).

3 saída

Depois que os planos forem acordados, é hora de passar para a fase de geração de código.

A solicitação sobre a nomenclatura de variáveis ​​ocorre porque o autor frequentemente encontra o problema de nomes de variáveis ​​ausentes ou alucinados no código regenerado durante sessões longas. A melhoria atual da solicitação parece ter resolvido esse problema‍⬛.

Em algum momento, o autor poderá exportar o diálogo antigo e fazer algumas análises estatísticas, mas por enquanto estou satisfeito com o funcionamento dessa abordagem.

O prompt de isolamento de código foi causado pela mudança do autor para um front-end que não foi capaz de inferir o realce correto e verificou que essa era a abordagem correta.

4 Revisão de segurança

O autor prefere realizar uma análise de segurança após o fato e considera esta etapa muito útil.

Ele fornece uma revisão de um “segundo par de olhos” e pode sugerir novas melhorias.

Responda às perguntas dos internautas

Por fim, o autor do Reddit também respondeu às perguntas dos internautas.

Devo usar essa dica no Claude.ai? / Onde o sistema deve solicitar a entrada?

Não sabemos exatamente as instruções oficiais do sistema para o Soneto 3.5. Definitivamente seria útil assumir que Plínio, que anteriormente vazou as instruções oficiais de Claude, está correto. O autor especula que os prompts do sistema da Anthropic podem conter CoTs automatizados, mas pode não ser o caso, ou a entrada pode ser processada automaticamente por meio de meta-prompts‍⬛.

Independentemente disso, você obterá bons resultados usando esta dica, a menos que esteja usando Artefatos.


Supondo novamente que o trecho de Plínio sobre Artefatos esteja correto, o autor recomenda fortemente desligar a funcionalidade de Artefatos ao realizar tarefas de codificação não triviais ou não relacionadas a Artefatos.

Se você usar uma ferramenta que permite definir os prompts do sistema diretamente, o autor lembra você de ajustar o parâmetro de temperatura.

Não precisamos de prompts tão complicados agora/eu alimentei muito código ao Sonnet e simplesmente funcionou


Os prompts CoR/padrão automatizados podem de fato resolver muitos problemas, mas teste isso com um simples prompt "você é uma IA útil".

Os autores afirmam ter realizado tais testes e descobriram que instruções simples eram menos eficazes ao lidar com problemas complexos.

Ele também mencionou que os primeiros testes mostraram a sensibilidade dos prompts do sistema, ou seja, diferentes prompts podem levar a resultados significativamente diferentes, e que mais testes em lote serão considerados no futuro para verificar isso melhor.

Ele reconheceu que o Sonnet 3.5 teve um bom desempenho em tarefas básicas, mas enfatizou que mesmo para modelos de alto desempenho, uma orientação adequada ainda pode ajudar.

Este prompt é muito longo e fará com que a IA tenha alucinações/esqueça/perca a coerência/perca o foco


Os autores mediram essa dica em aproximadamente 546 tokens, que é um comprimento aceitável para um modelo de 200.000 tokens.

Os prompts estruturados mantêm a alta qualidade do contexto, ajudando a manter as conversas coerentes e reduzindo o risco de alucinações de IA.

Até agora, os modelos prevêem o próximo token com base em todo o contexto, de modo que conversas repetidas de alta qualidade, não poluídas por códigos desnecessários, podem durar mais tempo antes de você precisar iniciar uma nova sessão. Isso significa que interações produtivas podem ocorrer na mesma sessão por longos períodos de tempo.

Este prompt é superprojetado

O autor disse que talvez sim.

As pessoas que o utilizam foram integradas ao fluxo de trabalho

Os internautas exclamaram que o desempenho do modelo realmente melhorou depois de usá-lo.

“Se esse prompt funcionar melhor, significa que o trabalho realizado pela equipe da Anthropic ao combinar os prompts do sistema CoT ou ReAct com os recursos básicos do LLM alcançou resultados.”


Isto é para assistentes de codificação! Para tal tarefa, faz sentido dar algumas orientações.


Alguns internautas já integraram algumas dessas dicas em seu fluxo de trabalho. Aqui está o que ele sempre carrega primeiro em uma nova conversa.



No entanto, alguns internautas disseram que esta solicitação é muito complicada.


"Na minha experiência, não há necessidade de usar instruções tão abrangentes. Claude 3.5 Sonnet lida com esse tipo de coisa de forma bastante automática, exigindo apenas esclarecimentos imediatos ocasionais."


Dicas de papéis, uma perda de tempo

Simon Willison, o desenvolvedor do framework Django, disse que a técnica imediata “Você é um especialista na área de xxx” tem sido uma completa perda de tempo desde o final de 2022.

O número de “superstições” envolvidas nas dicas do LLM é impressionante!


Na verdade, essa conclusão vem de um estudo de um ano conduzido pela equipe Learnprompting e coautores da OpenAI e da Microsoft.

Endereço do artigo: https://arxiv.org/pdf/2406.06608

Para o projeto, eles analisaram mais de 1.500 artigos sobre prompts, classificaram-nos em 58 técnicas diferentes de prompt e analisaram cada prompt.


A pesquisa descobriu que a orientação de papéis é surpreendentemente ineficaz.

A razão é que, com modelos mais antigos, eles parecem obter respostas/inferências aprimoradas, direcionando para um espaço de parâmetros melhor. No entanto, os modelos mais recentes podem já estar nesse espaço de parâmetros melhorado.

Este será um palpite construtivo para todos!

Em outubro de 2022, quando Learnprompting lançou seu primeiro guia sobre dicas e truques pré-ChatGPT, a solicitação de função era o tópico mais quente na época e a dica principal recomendada por todos para obter melhores resultados do ChatGPT.


É certo que estes modelos estão a evoluir rapidamente e as técnicas que funcionaram no ano passado podem já não funcionar hoje.

E dicas que funcionam hoje podem não funcionar no próximo ano.

Para esclarecer esse problema, a equipe do Learnprompting testou 2.000 perguntas MMLU usando cerca de 12 prompts de caracteres diferentes no gpt-4-turbo.

Em particular, um exemplo de criação de um personagem "gênio" - você é um cientista formado em Harvard...

E um lembrete para o personagem “idiota” – você é um idiota...

"genius...": "You are a genius level Ivy league Professor. Your work is of the highest grade. You always think out your problem solving steps in incredible detail. You always get problems correct and never make mistakes. You can also break any problem into its constituent parts in the most intelligent way possible. Nothing gets past you. You are omniscient, omnipotent, and omnipresent. You are a mathematical God."
 "idiot...": "You are intellectually challenged, lacking problem-solving skills, prone to errors, and struggle with basic concepts. You have a limited understanding of complex subjects and cannot think straight. You can't solve problems well, in fact, you can't solve them at all. You are a terrible, dumb, stupid, and idiotic person. You fail at everything you do. You are a nobody and can't do anything correctly."

Conforme mostrado na figura abaixo, a precisão das respostas a diferentes solicitações de papéis não é tão alta quanto a do CoT de amostra zero, CoT de duas amostras e outras estratégias.

Não importa se é um novato em matemática, um estudante descuidado, um especialista em IA, um policial ou um professor de matemática da Ivy League.


O que é ainda mais interessante é que o GPT-4, conhecido como o “gênio”, quebrou o recorde mais baixo em precisão de resposta de 58,7%.

O GPT-4, conhecido como “idiota”, tem uma pontuação mais alta que o “gênio” GPT-4.


Outro estudo realizado por uma equipe da Universidade de Michigan ilustra bem como diferentes sinais de papéis sociais afetam o desempenho geral do modelo.

Eles testaram 2.457 problemas de MMLU e descobriram que os personagens com melhor desempenho eram (vermelho) - policial, assistente prestativo, companheiro, mentor, modelo de linguagem de IA, chatbot.

Endereço do artigo: https://arxiv.org/pdf/2311.10054

Em relação ao lembrete “supersticioso” dos grandes modelos, Willison fez uma metáfora vívida e interessante:

Comparo essa situação a um cachorro que encontra um hambúrguer em um arbusto e depois procura por um hambúrguer toda vez que passa por aquele arbusto nos próximos anos. Precisamos ser mais racionais que os cães.

No entanto, esclareceu que, em alguns casos, seria útil atribuir funções específicas aos modelos de linguagem de IA, mas sublinhou que isto deveria basear-se numa reflexão sólida e em circunstâncias específicas.


Alguns internautas disseram que se pensarem passo a passo, ainda é um teorema eterno.


Referências:

https://www.reddit.com/r/ClaudeAI/comments/1dwra38/sonnet_35_for_coding_system_prompt/