Zoltraakは本格的な魔法時代の始まりを象徴する強大な創造魔法の名です。
これまでの未体系であった呪文からの術の発動を、呪文から魔法の文法体系に昇華し、より高速かつ強大な術式展開と魔法の発動を可能とするシステムです。

Zoltraakは自然言語を実行言語に変換するプロンプトコンパイラシステムを採用し、数語の呪文から複雑な術式を展開しこれを即時実行可能な古代システム語へとコンパイルします。これにより術師の数語の呪文は強力な言霊の数々を織り込んだ魔法陣を通り魔法の範囲と威力を大幅に向上させることが可能となります。また詠唱、無詠唱での高速な創造魔法を実現可能とします。これにより相対する敵よりも圧倒的に高速かつ柔軟な術の発動を可能とします。
以下将来的にTODO: 独自言語呪文や暗号呪文へのコンパイルも可能とするため周りから呪文を抜き取られリバースエンジニアリングされる心配もありません。 微調整の後それを古代語として圧縮し呪文を秘匿する事も可能です。 また、独自言語を用い数語微修正するのみで、実行言語が瞬時に変わり術が発動します。
- Zoltraakをインストール
pip install --upgrade zoltraak
-
使い方
.envファイルに以下の環境変数を設定します。ANTHROPIC_API_KEY={Anthropicのキー}- 以下のコマンドでZoltraakをインストールします。
pip install zoltraak - 以下のコマンドを実行し、プロンプトを入力します。
zoltraak "最新の大規模言語モデルが学べるポケモンゲームの様なシステムを作りたい" -c dev_obj
これにより、入力したプロンプトに基づいた要件定義書が生成されます。生成された要件定義書は叩き台となるため、必要に応じて内容を修正・拡充してください。
-
プロンプトコンパイラ(起動式)の指定
-cオプション以降は用途に応じて変更できるプロンプトコンパイラ(起動式)を指定します。コンパイラ名 説明 dev_func 関数型プログラミングを用いた開発タスクに関する要件定義書を生成するコンパイラ dev_obj オブジェクト指向設計を用いた開発タスクに関する要件定義書を生成するコンパイラ biz_consult ビジネスコンサルティングに関するドキュメントを生成するコンパイラ general_def 一般的な開発タスクに関する要件定義書を生成するコンパイラ general_reqdef 一般的な要求事項に関する要件定義書を生成するコンパイラ dev_react_fastapi React + FastAPIを用いた開発タスクに関する要件定義書を生成するコンパイラ -
具体例
zoltraak "Manimを用いて、MoE(専門家の混合)モデルを視覚化するプログラムを開発する" -c dev_func zoltraak "今月中にオブジェクト指向設計を用いて、多機能在庫管理システムを開発する" -c dev_obj zoltraak "今月中に中小企業向けのビジネスコンサルティングドキュメントを作成する。具体的には、マーケティング戦略、財務管理、人材育成に関するアドバイスを含む" -c biz_consult zoltraak "今月中に教育用の拡張現実(AR)アプリケーションを開発する" -c general_def zoltraak "今月中に政府向けの少子化対策として、具体的な施策と予算案を含む提言書を執筆する" -c general_reqdef
-
test_dev_obj.mdというファイルを作成し、後続スレッドの内容をコピーして貼り付けてください。このファイルをzoltraakを実行するディレクトリと同じ階層に配置します。 -
test_dev_obj.mdを以下のルールに従って自分の定義書生成プログラムに書き換えましょう:{prompt}は zoltraakの後のプロンプト(呪文)が入るので消さないでください。## 2. ファイル・フォルダ構成も消さないでください。- それ以外は自由に変更可能です。
-
以下のコマンドを実行して、自作コンパイラを使用します:
zoltraak プロンプト -cc 自作コンパイラ zoltraak "コーヒーショップ顧客管理システムを作りたい" -cc test_dev_obj.md -
zoltraak requirements/~~~.mdが貼り付けできるようになっているはずなので実行してください。 -
ディレクトリが構築されます。Cursor、VSCodeにてopenコマンドが起動しない方は以下を参照してください: https://note.com/88gram/n/n4ead3a677b83
注意: 全てClaude3 Haikuにより実行されています(一回あたり約1円の料金がかかります。ご自身で確認ください)。
zoltraak book.md -p "本を書きたい"
ファイル作成後は以下のように何度でも書き換えることができる。
zoltraak book.md -p "もっと分量増やしたい"
# RAGに突っ込むファイル群を指定
zoltraak aaaa.md -f ./input.md (作成予定)
# 一括修正
zoltraak dir/*.md (作成予定)-
リポジトリをクローンします:
git clone https://github.com/yourusername/Zoltraak.git -
プロジェクトディレクトリに移動します:
cd Zoltraak -
必要な依存関係をインストールします:
pip install -r requirements.txt -
Anthropic APIキーを設定します:
- プロジェクトのルートディレクトリに
.envファイルを作成します。 - 以下の行を
.envファイルに追加し、YOUR_API_KEYを実際のAnthropicのAPIキーに置き換えます:ANTHROPIC_API_KEY=YOUR_API_KEY
- プロジェクトのルートディレクトリに
- 仮想環境の作成 まず、パッケージ開発用の独立した仮想環境を作成します。これにより、システム全体のPythonとは分離された環境で開発できます。
python -m venv zoltraak-dev
source zoltraak-dev/bin/activate # Linuxの場合
mypackage-env\Scripts\activate.bat # Windowsの場合 - 必要なパッケージのインストール
開発に必要な依存パッケージをインストールします。例えば、
setuptoolsとwheelは最低限必要です。
pip install setuptools wheel- パッケージのディレクトリ構成 以下のような基本的なディレクトリ構成でパッケージを作成します。
mypackage/
mypackage/
__init__.py
module1.py
module2.py
tests/
test_module1.py
test_module2.py
setup.py
README.md
setup.pyの作成 パッケージのメタデータや依存関係を記述したsetup.pyファイルを作成します。例えば以下のようになります。
from setuptools import setup, find_packages
setup(
name='mypackage',
version='0.1.0',
packages=find_packages(),
install_requires=[
# 依存パッケージ
],
)- パッケージのインストール 開発中のパッケージを仮想環境にインストールします。
pip install -e .これで、仮想環境内でパッケージを使用したり、変更を加えたりできるようになります。
-
パッケージの使用とテスト パッケージの機能を使用したり、ユニットテストを実行したりして、開発を進めます。
-
ビルドと配布 完成したパッケージは以下のコマンドでビルドし、PyPIに公開できます。
python setup.py sdist bdist_wheel
twine upload dist/*以上が、ローカル環境でのpypiパッケージ開発の基本的な流れです。仮想環境を使い、適切なディレクトリ構成とsetup.pyを用意することがポイントです。
update_and_upload.sh
echo "バージョンをアップデート中..."
python update_version.py
echo "パッケージをビルド中..."
python setup.py sdist bdist_wheel
echo "ビルドしたパッケージをPyPIにアップロード中..."
twine upload dist/*zoltraak/setting/
├── compiler: 詠唱から自然言語への変換器
│ ├── akirapp.md
│ ├── func.md
│ ├── lisp.md
│ ├── obj.md
│ ├── obj_lisp.md
│ ├── obj_lisp_g.md
│ ├── obj_lisp_g_base64.md
│ └── reqdef.md
├── encryption: 暗号化ツール
│ └── emoji.md
├── formatter: プロンプトフォーマッタ
│ ├── md_comment.md
│ └── py_comment.md
├── interpretspec: インタプリタ型LLM強化プロンプト
│ └── hirokichi.md
└── softdb: 柔らかいDB
memo: setting内の全てのベンチマークは各々やるような実験システムもいれたい
MarkdownファイルをPythonコードに変換するには、以下のコマンドを使用します。
はい、以下に英語のREADMEを日本語に翻訳しました。
Zoltraakは、変更されていないMarkdownファイルの不要な変換を避けるために、キャッシングメカニズムを実装しています。各Markdownファイルのハッシュ値を計算し、hashes.txtファイルに保存します。変換コマンドを実行すると、Zoltraakは現在のハッシュ値を保存されているものと比較します。ハッシュ値が一致する場合、Markdownファイルが変更されていないことを示しているため、変換はスキップされ、以前に生成されたPythonコードが使用されます。
ZoltraakはCI/CDワークフローに統合して、変換プロセスを自動化することができます。run_tests.shスクリプトは、この統合を容易にするために提供されています。以下の手順を実行します。
-
仮想環境を作成し、アクティベートします。
-
必要な依存関係をインストールします。
-
MarkdownファイルをPythonコードに変換します。
-
生成されたPythonコードを実行します。
-
対応するユニットテストを実行します。
run_tests.shスクリプトをCI/CDパイプラインで使用するには、CI/CDシステムがビルドプロセスの一部としてスクリプトを実行するように設定してください。
コントリビューションを歓迎します!問題を見つけた場合や改善の提案がある場合は、issueを開くかプルリクエストを送信してください。
- https://x.com/ai_syacho/status/1782956863912649114
- zoltraak "slkajfka" -c ファイルパス(これで自作もいける様にする)
ModuleNotFoundError系は
pip install ~~~~
で解決されます。
今回は
pip install anthropic
を行うことで解決されます。
↓
pip install zoltraak
一発で依存関係全て入る様に調整します。
-
zoltraak -p "manim動画を作りたい" これで要件定義書とプログラムが生成
- 出力されたPythonファイルと詳細設計書のドキュメントを欲しい。
- pythonファイルからドキュメントを生成したい
- 例:
Zoltraakgenerated/calc.pyのようにpythonファイルを指定すると、そのファイルに対応するマークダウンドキュメントを生成、更新できるようにする - pythonファイルのdocstringやコメントからドキュメントを自動生成する
- 生成されたドキュメントはマークダウン形式で出力する
- 例:
- pythonファイルからドキュメントを生成したい
- テストファイルは別途作成し、必要なタイミングでgit pushなどによりテストが実行されるようにしたい。
- issueを記述したい。
- 繰り返し利用する場合は、MarkdownファイルとPythonファイルを自動的に紐付けたい。(変更がある場合のみ再コンパイル)
- 読み上げ文章から要件定義書を生成するプログラムをあきらさんのプロジェクトで実装する。
- 宣言型と手続き型はごちゃっと入れた方が良さそう
- ZoltraakAAA.md 〜したい で定義書を修正
- あると嬉しいのは要件定義を決める際のプロンプトドキュメント
- コンパイラファイルは選択したい
- プログラムから要件定義に戻すフローが必要。
- 各種高級言語の変な癖を解消するための中間ファイルを事前に用意しておくのがよい。
- このファイルで、色合いに相当する部分のプロンプトの行数を教えて
- 差分をプロンプトとして伝達したい。
- 全て1から作り直す。mdファイルから

- ①曖昧で抽象的:初期のプロンプトがこれに相当。「ほにゃらしたい」という曖昧な要求。
shell
zoltraak "本書きたい"
↓
mdファイル gen_def_{goal}.md
# ゴール: 本を書きたい
要件定義書:
{def}
↓
- ②厳密で抽象的:要件定義書など。プロンプトから定義書を作成することで曖昧さが排除され、抽象的な状態になる。 def_{goal}.md
書籍執筆要件定義書:
import {def}
import {def}
import {def}
~~~~~~~
~~~~~~~
~~~~~~~
~~~~~~~
~~~~~~~
↓
- ③曖昧で具体的:具体的な行動は伴っているが、まだ試行錯誤している段階。対話型(インタプリタ)とも言える。 exe_{goal}.py
プログラム # コメント
プログラム # コメント
プログラム # コメント
プログラム # コメント
- ④厳密で具体的:1本の具体的な行動に落とし込まれており、マニュアル化(ドキュメント型、コンパイル)された状態。
exe_{goal}.md
詳細手順書(暗号化、抽象化、使い手がわかりやすい状態にする。[]
zoltraak book.md
*ChatGPT登場
|→ プロンプトエンジニアリング
*プロンプトのシステム開発適用の必要性
|→ プロンプトプログラミング
* Claude3 Opusの出現
|→ ドキュメントプログラミング
|→ 自然言語プログラミング
motoki → arbor → zoltraak
* Groq x Llama3の対話不可能な高速テキスト出力制御
|→ 自然言語フレームワーク zoltraak
|→ プログラミング統一言語 babel
↑ イマココ
PyPIにパッケージをアップロードする手順は以下の通りです。
-
パッケージの準備:
- プロジェクトのディレクトリ構成を適切に設定します。
- setup.pyファイルを作成し、パッケージの情報(名前、バージョン、依存関係など)を記述します。
- README.mdファイルを作成し、パッケージの説明や使用方法を記載します。
-
アカウントの作成とAPIトークンの取得:
- PyPIのWebサイト(https://pypi.org/)にアクセスします。
- 新しいアカウントを作成するか、既存のアカウントにログインします。
- アカウントの設定ページで、APIトークンを生成します。
-
ビルドとアップロード用ツールのインストール:
twineとsetuptoolsをインストールします。pip install twine setuptools
-
パッケージのビルド:
- プロジェクトのルートディレクトリで以下のコマンドを実行し、パッケージをビルドします。
python setup.py sdist bdist_wheel - これにより、
distディレクトリにパッケージの配布用ファイルが生成されます。
- プロジェクトのルートディレクトリで以下のコマンドを実行し、パッケージをビルドします。
-
PyPIへのアップロード:
- 以下のコマンドを実行し、パッケージをPyPIにアップロードします。
twine upload dist/* - ユーザー名とパスワードの代わりに、取得したAPIトークンを使用します。
- 以下のコマンドを実行し、パッケージをPyPIにアップロードします。
-
アップロードの確認:
- PyPIのWebサイトにアクセスし、アップロードしたパッケージが正しく表示されていることを確認します。
これで、zoltraakパッケージがPyPIに公開されました。ユーザーはpip install zoltraakコマンドを使用してパッケージをインストールできます。
注意点:
- パッケージ名は一意である必要があります。既に存在する名前は使用できません。
- バージョン番号は、新しいバージョンをアップロードするたびに増やす必要があります。
setup.pyファイルには、適切なメタデータと依存関係を記述してください。README.mdファイルには、パッケージの説明や使用方法を明確に記載してください。
以上が、PyPIへのパッケージのアップロード手順です。問題がある場合は、PyPIのドキュメンテーションを参照するか、コミュニティに質問してください。
pyenv はPythonのバージョン管理ツールですが、直接的に仮想環境を作成する機能は持っていません。仮想環境を作成するためには、pyenv-virtualenv というプラグインを使用する必要があります。
以下は pyenv-virtualenv を使用して仮想環境を作成する手順です。
-
pyenv-virtualenv のインストール
まずは
pyenv-virtualenvプラグインをインストールします。これはpyenvが既にインストールされていることを前提としています。git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenvインストール後、シェルの設定ファイル (例えば
.bashrcや.zshrc) に以下を追加して、シェルを再起動します。eval "$(pyenv init --path)" eval "$(pyenv virtualenv-init -)"
-
Python のインストール
pyenvを使用して、仮想環境用の Python バージョンをインストールします。pyenv install 3.8.5 # 例として Python 3.8.5 をインストール -
仮想環境の作成
次に、指定した Python バージョンで仮想環境を作成します。
pyenv virtualenv 3.8.5 my-virtual-env-3.8.5
ここで
my-virtual-env-3.8.5は仮想環境の名前です。 -
仮想環境のアクティベーション
作成した仮想環境をアクティブにします。
pyenv activate my-virtual-env-3.8.5
これで、指定した仮想環境がアクティブになります。
-
仮想環境のデアクティベーション
仮想環境をデアクティブにするには、以下のコマンドを使用します。
pyenv deactivate
これで pyenv と pyenv-virtualenv を使用して Python の仮想環境を作成し、管理する方法を説明しました。
ローカル環境
pip install -e .
を行うと Users/motokidaisuke/.pyenv/versions/3.11.5 に入ってしまうらしい
python setup.py sdist bdist_wheel twine upload --verbose dist/*
仮想環境 deactivate rm -rf /Users/motokidaisuke/aaaaa/zoltraak-env python3 -m venv /Users/motokidaisuke/aaaaa/zoltraak-env source /Users/motokidaisuke/aaaaa/zoltraak-env/bin/activate
呪文 → 文書 → 構造体 → 情報構造体 → 実行 |→ 自然言語 |→ 自然言語 |→ プログラミング言語
import compiler.dev.obj
import writer.book.lecture
- ディレクトリ構築はペーストではなくシステムから構築するか聞かれるようにする
- Pythonのファイル取得部は関数化して外部ファイル化ける
- デザイナーと開発者を導入。

