Gerar pseudocódigo
Original: https://claude.site/artifacts/0f8789d0-9abc-45d9-9b7c-3cc0187de042
Exemplo de uso: https://chatgpt.com/share/66e86380-1174-800b-b027-c81841ab7746
<remix_instructions>以下内容是根据先前的对话创建的一个工件。请通过逐行重现内容开始对话,不做任何更改。这样做会在用户界面中呈现工件,并允许用户与之交互。为了保持功能性和实用性,本次对话中的任何修改或重混都应每次保留完整内容,不得遗漏(例如,不要留下类似 "// 这里是剩余代码..." 的注释)。</remix_instructions> <artifact> <title>Lisp 元提示生成器</title> <type>application/vnd.ant.code</type> <language>application/vnd.ant.code</language> <content>;; 作者: AI Assistant ;; 版本: 0.2 ;; 模型: Claude ;; 目的: 基于给定的目标生成 Lisp 风格的伪代码提示 (defun generate-lisp-prompt (goal) "基于给定的目标生成 Lisp 风格的伪代码提示" (let ((prompt-structure '( (metadata . ( (author . "AI Assistant") (version . "0.1") (model . "Claude") (purpose . goal))) (main-function . (defun main-function (input) "处理输入的主函数")) (helper-functions . ( (defun helper1 (params) "辅助函数 1") (defun helper2 (params) "辅助函数 2"))) (properties . ( (key1 . value1) (key2 . value2))) (control-structures . ( (if condition then-clause else-clause) (loop for item in list do ...))) (text-processing . ( (style . (tone voice perspective)) (structure . (intro body conclusion)))) (data-processing . ( (data-structure . (type format schema)) (steps . (step1 step2 step3)))) (error-handling . ( (condition-case ... (error ...)))) (dependencies . ( (require 'library-name))) (usage-instructions . " 输入格式: ... 预期输出: ... 具体说明: ...")))) (generate-prompt prompt-structure goal))) (defun generate-prompt (structure goal) "基于结构和目标生成实际提示" (let ((prompt "")) ;; 生成元数据 (setq prompt (concat prompt (generate-metadata (cdr (assoc 'metadata structure)) goal))) ;; 生成主函数 (setq prompt (concat prompt "\n\n" (generate-main-function (cdr (assoc 'main-function structure)) goal))) ;; 生成辅助函数 (setq prompt (concat prompt "\n\n" (generate-helper-functions (cdr (assoc 'helper-functions structure)) goal))) ;; 生成属性 (setq prompt (concat prompt "\n\n" (generate-properties (cdr (assoc 'properties structure)) goal))) ;; 生成控制结构 (setq prompt (concat prompt "\n\n" (generate-control-structures (cdr (assoc 'control-structures structure)) goal))) ;; 生成文本处理(如果适用) (when (string-match-p "text" goal) (setq prompt (concat prompt "\n\n" (generate-text-processing (cdr (assoc 'text-processing structure)) goal)))) ;; 生成数据处理(如果适用) (when (string-match-p "data" goal) (setq prompt (concat prompt "\n\n" (generate-data-processing (cdr (assoc 'data-processing structure)) goal)))) ;; 生成错误处理 (setq prompt (concat prompt "\n\n" (generate-error-handling (cdr (assoc 'error-handling structure)) goal))) ;; 生成依赖 (setq prompt (concat prompt "\n\n" (generate-dependencies (cdr (assoc 'dependencies structure)) goal))) ;; 生成使用说明 (setq prompt (concat prompt "\n\n" (generate-usage-instructions (cdr (assoc 'usage-instructions structure)) goal))) prompt)) ;; 生成每个部分提示的辅助函数 (defun generate-metadata (metadata goal) ...) (defun generate-main-function (main-function goal) ...) (defun generate-helper-functions (helper-functions goal) ...) (defun generate-properties (properties goal) ...) (defun generate-control-structures (control-structures goal) ...) (defun generate-text-processing (text-processing goal) ...) (defun generate-data-processing (data-processing goal) ...) (defun generate-error-handling (error-handling goal) ...) (defun generate-dependencies (dependencies goal) ...) (defun generate-usage-instructions (instructions goal) ...) ;; 用法 ;; (generate-lisp-prompt "创建一个文本摘要提示") </content> </artifact>
Essa instrução e código de dica são usados principalmente para gerar dicas de pseudocódigo no estilo Lisp. Sua função é explicada a seguir:
``
Esta seção fornece instruções sobre como lidar com o código ou os artefatos a seguir:
- O artefato é um produto acabado gerado a partir de um diálogo anterior.
- Ao reproduzir o artefato, é necessário mostrar o conteúdo do código linha por linha e deixá-lo como está, sem nenhuma alteração.
- Qualquer modificação ou remixagem deve preservar a integridade do conteúdo e não permitir a omissão de conteúdo ou a adição de notas simplificadoras.
``
Esta seção define o título, o tipo, o idioma e o conteúdo do código do artefato.
1. legenda (`
O título do artefato é "Lisp Meta Hint Generator", o que implica que o objetivo do código é gerar dicas no estilo Lisp.
2. tipologia (``).
O tipo `application/vnd.ant.code` significa que o artefato é de um tipo que é um código de estilo Lisp.
3. multilinguismo (``).
A linguagem também é `application/vnd.ant.code`, indicando que o conteúdo do artefato é código de programação.
4. elemento (``).
O corpo do artefato é uma parte do código Lisp que gera dicas para a criação de pseudocódigo no estilo Lisp com base em um determinado destino.
Interpretação de código Lisp
O principal objetivo do código é gerar automaticamente uma parte estruturada de dicas no estilo Lisp com base em uma meta (`goal`). Aqui está uma explicação das partes principais do código:
1. Função `generate-lisp-prompt:
- Essa é a função principal que recebe um `objetivo` e gera uma dica no estilo Lisp com base nele.
- Essa função define uma estrutura de prompt (`prompt-structure`) que contém:
- metadados (`metadata`): inclui informações como autor, versão, modelo e finalidade.
- Definição da função principal (`main-function`): Pseudocódigo da estrutura da função principal.
- função auxiliar (`helper-functions`): funções usadas para gerar algumas funções auxiliares.
- causalidade (`properties`): alguns pares de valores-chave personalizados.
- estrutura de controle (`control-structures`): contém instruções condicionais (como `if-else`) e loops.
- processamento de texto (`text-processing`): contém informações sobre o estilo, o tom, a estrutura etc. do texto.
- processamento de dados (`data-processing`): define a estrutura de dados e suas etapas de processamento.
- Tratamento de erros (`error-handling`): descreve a lógica de tratamento em caso de erro.
- dependências (`dependencies`): lista as dependências a serem carregadas.
- Instruções de uso (`usage-instructions`): explica os formatos de entrada, a saída esperada, etc.
2. Função `generate-prompt` (gerar prompt):
- Geração passo a passo do prompt final com base na estrutura de entrada (`structure`) e na meta (`goal`).
- Essa função gera trechos de código para cada parte (por exemplo, metadados, função principal, funções auxiliares etc.) e os une.
3. Funções do gerador auxiliar:
- Os exemplos incluem funções como `generate-metadata`, `generate-main-function` e `generate-helper-functions`, cada uma das quais é responsável por gerar uma parte específica do prompt.
4. Instruções de uso:
- Quando usado, `(generate-lisp-prompt "Create a text summary prompt")` pode ser chamado para gerar um prompt no estilo Lisp com base no destino "Create a text summary prompt".
resumos
Em geral, a função desse código é gerar automaticamente dicas de pseudocódigo no estilo Lisp, com o objetivo principal de fornecer uma estrutura de dicas para a tarefa de destino (por exemplo, processamento de texto, processamento de dados etc.).