Zoltraak使おうぜみんな①

フリーレンでいうところの「魔法史の本」に該当します。

時系列順に魔法学を学ぶことで得られる知見もある。

# 参考資料
Qiitaで編集する都合上、先頭にある方が参照しやすいのでまとめます。

1. [元木大介@生成AI塾&魔法Zoltraak創造中（@ai_syacho）さん / X](https://twitter.com/ai_syacho)
2. [dai-motoki/zoltraak](https://github.com/dai-motoki/zoltraak)
3. [zoltraak チュートリアル web版※名称不明](https://zoltraak-web.vercel.app/)
4. [dai-motoki/niwatoko](https://github.com/dai-motoki/niwatoko/tree/main)
5. [niwatoko チュートリアル web版※名称不明](https://niwatoko2.vercel.app/)

2024年5月10日コメント
XのコミュニティやDiscordなどもあるのですが、取り急ぎXとGithub（Zoltraak）から情報を編纂しているので私よりも早いペースでキャッチアップしたい方は探してみてね

---

# 前書き

Zoltraak（ゾルトラーク）という「自然言語プログラミング」言語が2024年4月に生まれました。

生まれて程なくして、Zoltraakは「自然言語フレームワーク」、「自然言語プログラミング」はNiwatokoという棲み分けが進みます。

この両者はセットで扱います。

つまりZoltraakを追いかけても、Niwatokoを追いかけても、辿り着くところは一緒です。

さて、自然言語プログラミングとは何でしょう？
今までの機械語、中間言語、高級言語とは何が違うのか？

言葉通り受け取るならば、自然言語プログラミングとは、日本語でコンピュータに指示を出すと動いてくれる……というイメージが湧いてきますね。

学生の頃コンピュータに抱いていた幻想を思い起こさせます。

これはある種「魔法」なのでは？そう思い、Zoltraakを徹底的に使うことを決意し、ここに記録を残します。

余談ですが、私の夢は魔法使いです。

「魔法」とはいくつかのニュアンスを含んだ、曖昧な言葉です。
 - 人々の心を揺さぶる術
     - 手品
     - 演劇
     - 映画
     - 絵画
     - パフォーマンス
 - 超上級者の生み出した技術体系
     - メタプログラミング
     - 自然言語プログラミングZoltraak
     - 古武術
 - 未知のもの全般
     - 神
     - 精霊
     - 言霊
     - 超科学
     - 理解の及ばない（不勉強な）概念
 - 現出する物理法則を無視したとしか思えない表現
     - 超能力
     - ファンタジー
     - ファイヤーボルト
     - サンダガ
     - ゾルトラーク
 - 呪い（まじない）
     - 魔法陣
     - 錬金術
     - 呪術
     - 祈り
     - 降霊術
 - イデア的な表現
     - 万能薬
     - 賢者の石
     - アカシックレコード

魔法が使えるようになりたくて、魔法の定義が自分の中で曖昧な頃から色々とやってきました。

習得済み魔法リスト
 - プログラミング（初学者）
 - HADO（中級者）
 - 熱意を伝える（＝マインド）
 - パラレルキャリア

今回学ぶ魔法「Zoltraak」は超上級者の生み出した技術体系だと思っています。

認知することも難しいし、理解することも難しいし、体得することも難しい。

しかしやがて、形を変えて（Zoltraak由来のプロダクトが何かしらの市場を握る）普及していくと思われます。

今習得すれば魔法使いですよ皆さん！

ここからZoltraakのキャッチアップが始まります。
時系列順なので長くなりますがご容赦ください。

---

# 2024年4月11日

ゾルトラークという言葉自体は葬送のフリーレンから来ております。

>やっぱ生成AIってゾルトラーク、どーん、みたいな強さあるけど、細々とした細々した攻撃の魔力検知的な所は弱くてそのためのシステム構築は必須。
>[Xより引用](https://x.com/ai_syacho/status/1778354735021740032)

かの大魔法使いもインスパイアされました。
アニメや小説はよく読め、皆の衆！

葬送のフリーレンはそこまで作中で魔法学を深堀するわけではないのですが、魔法が学問として積み重なっているコンテキストが作中のいたるところでにじみ出ており、非常に興味深い作品です。

魔法の体系化と生成AI活用の体系化は近しいものがあるのかもしれませんね。

後述しますが他の作品からもインスパイアされることになります。

---

# 2024年4月12日
自然言語プログラミングという発想が形になり始めた


>ドキュメントプログラミングしていて思ったんだけど、これ抽象度高いからそのままAIに対するプロンプトとして使ったらいいんじゃない？
>
>具体的なプログラムをプロンプトに入れると、それに引きずられて変なコードになるんだよね。
>
>これが解消できる。
>[Xより引用](https://x.com/ai_syacho/status/1778750493919158416
)

>ドキュメントプログラミングというか、自然言語プログラミングだわ。
>[Xより引用](https://x.com/ai_syacho/status/1778765258527850951)

当初はドキュメントプログラミングという仮名だったみたいで、以下のワークフローを仮説検証していました。

>1. プログラム書かせる
>2. 何度も部分修正して自分好みのアウトプットにする
>3. ドキュメントプログラムにする
>4. コメントアウトのみ取り出す
>5. LLMのプロンプトにする
>6. ドキュメントのみをCursor で修正
>[Xを参考に作成①](https://x.com/ai_syacho/status/1778754949956170083
) [Xを参考に作成②](https://x.com/ai_syacho/status/1778757812723605938
)

非常に再現性が高いらしく、のちに生まれるZoltraakの中核を為す考え方となります。

---

# 2024年4月14日
Zoltraakの中間生成物がPython、となった

>Pythonファイルは自然言語のドキュメントをシステムに実行してもらうための「中間生成物」になってしまった。
>
>この時代の早さよ。。
>[Xより引用](https://x.com/ai_syacho/status/1779480353339752707)

実情はもっと早くからこうなっていたのでしょうが、確信を持ったのがこの日なのでしょうね。

---

名称が自然言語プログラミングで統一された2024年4月15日

>自然言語プログラミングアーキテクチャ案
>
>1. 喋る → 文字起こし
>2. 文字起こし → ドキュメント（自然言語プログラム）
>3. ドキュメント → 高級言語（pythonなど色々）
>4. 高級言語 → システム実行
>5. 1 ,2 にFB、Cursor等で部分修正
>
>開発時に意識するのは1,2,5のみになる。
>[Xより引用①](https://x.com/ai_syacho/status/1779529172760895857)

https://x.com/ai_syacho/status/1779537279771664439

https://x.com/ai_syacho/status/1779552600482103766

https://x.com/ai_syacho/status/1779555187088371876

アンケートが取られ（忘れました）、名称が統一され、15日当たりから本格的に使われるようになりました。

---

# 2024年4月16日
Zoltraakのアーキテクチャが改良された

>1. ゴールから設計書生成（ゴールシークはこの1つ）
>2. 設計書からプログラム生成
>3. プログラム実行をPDCA
>4. 成功したプログラムを詳細設計書化。次回以降詳細設計書を利用
>5. ゴールをクラス、設計書内の関数が詳細設計書となる。
>
>これでいっしょ上がり。
>[Xより引用](https://x.com/ai_syacho/status/1779931655190536248)

設計書の作成だけでなく、プログラムの作成も行いたいわけですね。
現時点での実装度で利用を決めるか否かを判断するのは早計であり、とりあえず使い続けてみることで、かの大魔法使いが見ている世界を片鱗だけでも見ることが叶うのかもしれません。

---

# 2024年4月17日
自然言語プログラミングの名称がふわふわしている

https://x.com/ai_syacho/status/1780268889294975237

https://x.com/ai_syacho/status/1780534766032638167

まだZoltraakではなかったようです。

---

# 2024年4月19日
実行可能なコードをPDCAするためのワークフロー考案が進む

https://x.com/ai_syacho/status/1780949844372426788

https://x.com/ai_syacho/status/1780954561458663765

要件定義書を基にプログラムを書かせ（高級言語コンパイルと呼ばれる）たあとにほぼ確実に発生するシステムエラーをAIに脳筋修正してもらおうという方向性で進みそうです。

IT土方みたいなものですね。
私の場合ですが、AIを使ってシステムエラーを解消しようとしていたときに、エラーの内容をAIにコピペして質問していたりしました。
存外、ワークフローを自然言語で定義できそうです。

また、自然言語プログラミングmotokiという呼称で固まっていたのですが、その見直しが行われ始めた日でもあります。

---

# 2024年4月21日
Zoltraakが生まれた

https://x.com/ai_syacho/status/1782000283486421395

https://x.com/ai_syacho/status/1782056653560655948

 **今日がZoltraak記念日だ！**

（余談：Xの検索機能を使いすぎてたまに表示順がバグります🥹）

---

# 2024年4月22日
自然言語プログラミングがOSS化しそうだな、という

https://x.com/ai_syacho/status/1782135528491741580

この日のつぶやきは自然言語プログラミングに限ったことではない話かもしれませんが、結果としてZoltraakがOSSになっているんですよね。

https://x.com/ai_syacho/status/1782117714540322819

元木氏自身も常識が何であり、非常識が何であるのか、常日頃からキャッチアップしています。

https://x.com/ai_syacho/status/1782407147080585275

キャッチアップしながらも、Zoltraakの試運転・開発が爆速で続いています。

https://x.com/ai_syacho/status/1782214594137858137

Zoltraak内からリクエストされるプロンプトはこの日、世に公開されました。

https://x.com/ai_syacho/status/1782419273899798851

もうすぐだ、もうすぐZoltraakが世の中に出るぞ…！

---

# 2024年4月23日
名称が固まり、Zoltraakのビジョンの言語化が進む
また、Zoltraakに関する情報発信が爆発的に加速する日

https://x.com/ai_syacho/status/1782439299193229590

プロンプトの暗号化が進んでいたり、

https://x.com/ai_syacho/status/1782398215075299376

コンパイル形式が順次構造ベースになったり、

https://x.com/ai_syacho/status/1782443788134490526

ゾルトラークが汎用的な自然言語プログラムを目指す構想となったり（≒バベルの塔）しました。

構想やプロトタイプは4月中頃からずっとある状態ですが、名は体を表すといいますし、Zoltraakでいこう！となったここ数日あたりからビジョンが洗練されていきましたね。

https://x.com/ai_syacho/status/1782599353234031027

Zoltraakを始めとする自然言語プログラミングは、言霊を如何に扱うか次第で、「社会を再構築するための」魔法となる、というビジョンに続きます。

https://x.com/ai_syacho/status/1782704935538454580

また、この時点でZoltaakは「自然言語フレームワーク」、改めて自然言語を用いたプログラミングはbabel（後のniwatoko）だということが図示されています。

https://x.com/ai_syacho/status/1782701937219211407

ついでにZoltraakの名前の変遷も図示されました。

https://x.com/ai_syacho/status/1782660316180226557

なぜZoltraakとBabel（Niwatoko）は切り分けられたのか、その理由も述べられました。

https://x.com/ai_syacho/status/1782602106966606253

Babelが仮称であることも明記されます。

https://x.com/ai_syacho/status/1782600893965422923

Zoltraakは数学、日本語、英語、プログラム全てを扱うことができる、とのことです。これまでの実験を経て、やはりZoltraakは統一言語足り得る。

https://x.com/ai_syacho/status/1782875808463544563

今後、自然言語プログラミングでフレームワークや型（守破離のニュアンス）を作る際のアプローチがこちらに。

https://x.com/ai_syacho/status/1782569522790326276

余談ですが、かの元木大魔法使いは #生成AIエンジニア塾 の熟成を不定期に募集しており、要チェックです（私は毎回見逃し三振しておりお恥ずかしい…）

https://x.com/ai_syacho/status/1782697887094472854

※自然言語プログラミングを本格的に扱いたい方は、元木氏の会社へラブレターを送るのもひとつの手かもしれませんね。開発メンバーと積極的にディスカッションしているので。

---

# 2024年4月24日
使用するLLMの選定が行われる。また、zoltraakコマンドの公開（当時はGPLライセンス）

https://x.com/ai_syacho/status/1782887288994680907

Claude Haikuとgroqのllama3で、Zoltraakに関する出力速度テストが行われました。

デフォルトの設定でClaude Haikuが入力されているのは、これがきっかけと言えそうですね。

https://x.com/ai_syacho/status/1782873402984063052

vendorの限定も一時期検討されていましたが、ここはアップデートによって今後変わることでしょう。

https://x.com/ai_syacho/status/1782819063582085425

また、元木大魔法使いがずっと強いビジョンを掲げて動く理由が言語化された日でもあります。

https://x.com/ai_syacho/status/1783120019448344846

GitHubに公開される日はもう少し先ですが、コマンドとして公開されています（Xで公開している様子が確認できていないので調査中）


---

# 2024年4月25日
Zoltraakを使って作ったホームページをポン出し

https://x.com/ai_syacho/status/1783185014991077449

フロントエンドを高いクオリティで作れてしまうらしい。

https://x.com/ai_syacho/status/1783194763321356758

すごすぎる。

https://x.com/ai_syacho/status/1783195103789736236

作り方も公開されてます（4月25日から現在まで、何度もバージョンアップされてるので参考程度に）

https://x.com/ai_syacho/status/1783206757868966305

4月25日時点ではZoltraakは稀に要件定義書→プログラムのポン出しを一発で行なってくれるようです。

https://x.com/ai_syacho/status/1783214192868405377

フォルダの自動生成もできます。

https://x.com/ai_syacho/status/1783211844758614188

GitHubの最初に表示されるイラストもこの日、生まれました。

https://x.com/ai_syacho/status/1783228989638901997

競合他社が今後出すプロダクトで爆死する可能性を憂いつつ、引き続き爆速爆進です。

https://x.com/ai_syacho/status/1783215781435539807

統一言語の名前はBabelからKotodamaに代わりそう？

---

# 2024年4月26日
Zoltraakの信頼性を証明

https://x.com/ai_syacho/status/1783548203599819094
モジュールの呼び出しや変数の定義が行えていることを確認中。

https://x.com/ai_syacho/status/1783584993320808611

その後の調整でシステムのディレクトリ生成に成功しました。

https://x.com/ai_syacho/status/1783595523846615194

2024年5月11日時点で、Zoltraak上には[grimoire](https://github.com/dai-motoki/zoltraak/tree/main/zoltraak/grimoires)（グリモワール）というマークダウンファイル置き場があるのですが、こちらは自然言語プログラムのパッケージ群＝魔導書置き場、となります。

グリモワールからファイルを呼び出すことで、異なる目的の出力を行うことができるんです。

https://x.com/ai_syacho/status/1783559631132152218

グリモワールの力を借りて生成した要件定義書を基に修正して、実行ファイルへとコンパイルさせることで、作りたい成果物を作れるようになる、というワークフローが読み取れます。

https://x.com/ai_syacho/status/1783589301579853958

少し話がそれるのですが、高級言語の変数とZoltraakの変数の記憶領域は少し考え方が異なるようです。
多くのシステムが複雑に通信しあっている中で、どのシステムが記憶領域を確保しているのか、という考え方に見えます。

https://x.com/ai_syacho/status/1783599290352578851

さて、グリモアールをファンタジーの世界になぞらえると、グリモアールの中に綴じこまれた精霊（パッケージ）を術式に編み込むことで、知の巨人たるLLMに対して良質なプロンプトを提供し、その結果出力を得られる。
ということで我々はよく働く精霊を作ることに注力していきましょう。

https://x.com/ai_syacho/status/1783536454146429089

grimoireだけでなく、Zoltraakそのものも拡張することが可能です（これを読んで試したくなった方は先にバージョンアップされたNiwatoko,Zoltraakをそれぞれ試しましょう）

https://x.com/ai_syacho/status/1783512140688814426

また、こちらのように使い方を解説している情報も参考にしてみましょう。

---

# 2024年4月27日。
First Commit

https://github.com/dai-motoki/zoltraak/commit/9a773159882d3866f302f8128bc19d89d97652a6

ここから歴史は動き出す。
まだソースはない。

---

2024年4月28日のCommit「最初の一歩」

https://github.com/dai-motoki/zoltraak/commit/f031eb5693a6ee26460e422f8cd40d08952af692

ソースコードにはコメントが小まめに書かれています。
人によっては可読性が低いと捉えるかもしれませんがこれはコーディングにも生成AIが使われていることを示唆しています。
一方でコメントが書かれていない箇所についてはフレームワークなどによって自動生成されたか、難読化が行われたか、書かせるまでもなく自分で書けるものか。
つまりZoltraak自身も自然言語プログラミングに近い形態で開発されている様子ですね。
（当然生成されたソースコードは本人は理解している）

理解していないコードがあったとしても、生成AIにコピペして意味を聞き出せばいいわけです。

コーディングスキルは読める程度に求められる。
一方で設計能力、質問力、言語化能力が多分に求められる予感。

ドキュメントやアーキテクチャについては最新のバージョンを読んだ方が正確に理解できる（はずな）ので、キャッチアップにおいては全部無視しましょう。

書かれているソースコードよりも、ソースコードを生成するために埋め込まれたコメントの方が重要度高そうですね。
Zoltraakの要件を定義しているようなもの。

コメントを読んでいくと、「最初の一歩」の段階で、「要件定義書」「戦略コンサルタント納品ドキュメント」「講義資料」「講義で使う問題」「FAQページ」「ホームページ」「エージェント（コンシュルジュ

とり急ぎZoltraakを使いたい方は、ソースコードと公式のドキュメントを読めば1日で始められそうですね。

同日の別Commitにて、

https://github.com/dai-motoki/zoltraak/commit/812eb48457d0f9eac0fb3e0153142ce0ef63da67

Zoltraakは「呪文を高速・広範囲な術式展開と強大な魔法の発動を可能とする自然言語システム」と定義づけられました。
 → 他の魔法がすでに存在していて、それらを掛け合わせて汎用的かつ強力にPC作業をサポートしていくツールとなりそうです。ソースを見ているとClaudeへアクセスするためのAPIキーを求められそうな感じしますからね。

 こちらのCommitでは、

 https://github.com/dai-motoki/zoltraak/commit/ed8a1e1fa497c0cbd2577a075ad4642f79154831

 Windowsに対応するために文字コードの修正、そもそもの多言語対応、プロンプトの検索機能などが実装されました。

 Commitだけを見るとよくわからないのですが、詠唱→自然言語変換機のリストとして存在していたsettingsがgrimoires（グリモワールズ）にリネームされました。

 https://github.com/dai-motoki/zoltraak/commit/983b5f07ee21bb213a3985d12fcb730db9c8a0fa

 言葉通りに捉えると、魔術の手引書集、ということになるので頭の片隅に置いておきましょう。

 高速な開発が続いているZoltraakですが、少数精鋭のコアメンバーがいて、デザイナー担当、開発担当などしているようです。

 https://github.com/dai-motoki/zoltraak/commit/e61c0fb7c40b93907d4ad22f683deb0299f2fffc

スピナー（Now Loading的な表示）表示の実装など、デザイン面の実装が進み始めていきます。

---

2024年4月29日Commit「汎用言語魔法 -lの導入」

https://github.com/dai-motoki/zoltraak/commit/c701b73aa494e921483e85ccc913dba91f6101b3

出力言語を指定できるようになったようです。英語で要件定義書を書いたり、英語のドキュメントを日本語化したりが楽にできるポテンシャルを感じますね。

こちらのコミットにて、外部からのPRが受け入れられ始めました。

https://github.com/dai-motoki/zoltraak/commit/3f7ba0ad87d93c04dd3742537ee9195e5d27904b

Zoltraakではissuesの作成が歓迎されており、誰しもがOSSコミッターになるチャンスがあります。追加したい機能も、バグも大量にあるので、ひたすら勉強と実践あるのみ！

Zoltraakを開発している主要メンバーはMAC x Cursorなため、既に対応が始まっているWindows移植を始めとしたマルチプラットフォーム対応などにも大きな需要がありそうですね。
（[直ぐに削除された](https://github.com/dai-motoki/zoltraak/commit/c4639da48ef904a25266b23636615ec577016bdf)項目なため、現在はもう対応が済んでいるのかも）

https://github.com/dai-motoki/zoltraak/commit/a965e17fa5060d034418de7be96956cd8e895a88

---

まとめ
まだZoltraakが全くわからない。キャッチアップが終わるまで延々と更新されます。

いいねやストックをして、更新通知見に来てくださいね。

Zoltraakの変遷が見れますよ。