Gabriella439/grace

A prompt engineering functional programming language

何を解決するか

Grace はモデルへのプロンプト作成に特化したドメイン固有言語(DSL)です。モデルとのインタラクションを言語構文に直接統合することで、複雑なプロンプトチェーンの作成や、LLMからの構造化データの自動生成を簡素化します。

動作方法

Grace はプロンプトを一等級の概念として扱います。組み込みの prompt 関数は、型注釈に基づいて構造化データを返すことができます。言語の型チェッカーは、出力が後のコードでどのように使われるかを逆に推論することで、モデル出力を制約するための必要な JSON スキーマを自動的に推論できます。型が十分に記述されていれば、プロンプト本文を省略することも可能になります。

さらに、import prompt キーワードにより「コード生成」をサポートしており、モデルに特定の型を持つ Grace 式や関数を生成させ、同じプログラム内で実行できるようにします。

対象ユーザー

手動で JSON スキーマやボイラープレートコードを管理せずに、よりプログラム的で型安全な方法でプロンプトチェーンや LLM 駆動アプリケーションを構築したい開発者。

特徴

  • 統合されたモデルサポート:モデルプロンプトは言語に直接組み込まれており、外部のインポートや依存関係は不要です。
  • 型駆動のプロンプト:型注釈を使ってモデルの制約に適した JSON スキーマを自動生成します。
  • 型推論:結果がループや変数代入でどのように使われるかに基づいて、必要な出力形式を推論します。
  • チューリング完全なコード生成:LLM を使って Grace コードを動的に生成・実行できます。
  • インタラクティブ環境:ブラウザベースのプレイグラウンドとコマンドライン REPL の両方を提供します。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト