擬似コードを生成する
Original: https://claude.site/artifacts/0f8789d0-9abc-45d9-9b7c-3cc0187de042
使用例: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>
このヒント命令とコードは、主にLispスタイルの擬似コードヒントを生成するために使用される。その機能を以下に説明する:
<`。
このセクションは、その後に続くコードや成果物をどのように扱うかについての指示を与える:
- 成果物は、以前の対話から生まれた完成品である。
- 成果物を複製する場合は、コード内容を一行ずつ表示し、変更せずにそのままにしておく必要がある。
- どのような修正やリミックスも、内容の完全性を維持し、内容の省略や簡略化した注釈の追加は許されない。
`
このセクションでは、アーティファクトのタイトル、タイプ、言語、コード内容を定義する。
1. キャプション (``)。
タイトルは "Lisp Meta Hint Generator "で、Lispスタイルのヒントを生成することを意味している。
2. 類型論 (``)。
application/vnd.ant.code`型は、成果物がLispスタイルのコードであることを意味する。
3. 多言語主義 (``)。
言語も`application/vnd.ant.code`で、成果物の内容がプログラミングコードであることを示している。
4. エレメント (``)。
成果物の本体は、与えられたターゲットに基づいてLispスタイルの擬似コードを作成するためのヒントを生成するLispコードの一部である。
Lispコード解釈
このコードの主な目的は、ゴール(`goal`)に基づいて構造化されたLispスタイルのヒントを自動的に生成することである。以下にコードの主な部分を説明する:
1. generate-lisp-prompt`関数:
- これは `goal` を受け取り、それに基づいてLispスタイルのヒントを生成するメイン関数である。
- この関数はプロンプト構造体(`prompt-structure`)を定義する:
- メタデータ (`metadata`): 作者、バージョン、モデル、目的などの情報を含む。
- 主な機能定義 (`main-function`): 擬似コードのメイン関数構造。
- ヘルパー関数 (`helper-functions`): ヘルパー関数を生成するための関数。
- 因果性 (`properties`): いくつかのカスタムキーと値のペア。
- 制御構造 (`control-structures`): 条件文(`if-else`など)とループを含む。
- テキスト処理 (`text-processing`): テキストのスタイル、トーン、構造などに関する情報を含む。
- データ処理 (`data-processing`): データ構造とその処理ステップを定義する。
- エラー処理 (`error-handling`): エラーが発生した場合の処理ロジックを記述する。
- 依存関係 (`dependencies`): ロードする依存関係をリストアップする。
- 使用方法 (`usage-instructions`): 入力フォーマットや期待される出力などを説明する。
2. generate-prompt`関数:
- 入力された構造 (`structure`) とゴール (`goal`) に基づいて、最終的なプロンプトを段階的に生成する。
- この機能は、各部分(メタデータ、主関数、補助関数など)のコード・スニペットを順番に生成し、それらをつなぎ合わせる。
3. 補助発電機の機能:
- 例えば、`generate-metadata`、`generate-main-function`、`generate-helper-functions` などの関数があり、それぞれがプロンプトの特定の部分の生成を担当する。
4. 使用方法:
- これを使うと、`(generate-lisp-prompt "Create a text summary prompt")` を呼び出すと、"Create a text summary prompt" というターゲットに基づいてLispスタイルのプロンプトを生成することができる。
概要
全体として、このコードの機能は、Lispスタイルの擬似コードヒントを自動的に生成することであり、主な目的は、ターゲットタスク(テキスト処理、データ処理など)のためのヒンティングフレームワークを提供することである。