![見出し画像](https://assets.st-note.com/production/uploads/images/152744949/rectangle_large_type_2_7a85229175b92366e4059afe7927d811.png?width=1200)
開発向けゾルトラーク解説講座2024-08-17まとめ
この講座では創造魔法ゾルトラーク (Zoltraak) の初期アプリ、系譜、新Pythonクラス Zoltraak Klein 動作原理とデモを紹介します。
創造魔法ゾルトラーク (Zoltraak) とは元木大介氏が開発した『簡単なリクエストを入力するだけで、AIがビジネスドキュメントやソフトウェア、絵本やキャラクター生成などのデジタルコンテンツを自動生成してくれるフレームワーク』です。
セミナー動画
公開スライド
セミナー内容要約
ゾルトラークとは
ゾルトラークとは元木大介氏が発明した、デジタルコンテンツを簡単に生成するツール。
プロンプトを入力する代わりにユーザーは「リクエスト」を入力し、「コンパイラ」と呼ばれるテンプレートを選択することで、要件定義書を自動生成する。
生成された要件定義書はさらに領域展開されることで、ソースコード、本の目次、キャラクター設定、ホームページなど、さまざまな形式のデジタルコンテンツに変換される。
ゾルトラークの系譜
Zoltraak (Classic): 元祖となるコマンドラインアプリ。
Zoltraak UI ウェブアプリ: ゾルトラーク Classicをベースに、Webアプリとして開発されたもの。
ゾルトラーク・クライン (Zoltraak Klein): ゾルトラークのエッセンスをクラス化した、UIに依存しないライブラリ
ゾルトラーク NEXT(?): 詳細は不明だが、ゾルトラーク Classicをパワーアップさせたバージョンが開発されている可能性がある。
クラシックの使い方
リクエストとコンパイラの選択・入力: 生成したいコンテンツの内容を「リクエスト」として入力し、作成に使用するテンプレートである「コンパイラ」を選択する。
要件定義書ファイル名の生成: リクエスト内容に基づき、AIが要件定義書のファイル名を生成する。
要件定義書の中身生成: 選択されたコンパイラとリクエスト内容、フォーマッター(言語や形式の指定)を組み合わせ、生成AIに送信して要件定義書を作成する。
領域展開: 要件定義書に基づき、実際にコードやコンテンツを生成する処理。
領域展開とは何か?
領域展開とは要件定義書の内容をアーキテクトに渡してプログラムを生成させる一連の処理のこと。
アーキテクト(建築家)とは「領域展開の内容を日本語で記述した指示書」と「その指示書からコード生成させるPythonコード」から構成される。
日本語で書かれた指示書を生成AIに渡しPythonコードに変換させるという高度なテクニックが実装されている。
用語整理
リクエスト(プロンプト): あなたが作りたいもの・要求内容
コンパイラ: 要件定義書を作るためのテンプレート
魔法図書館Grimo: 複数コンパイラの保管場所
要件定義書: あなたのリクエスト内容が詳しく書かれた資料
魔法術式: リクエスト➡要件定義書 生成プロセス
領域展開(領域術式) 要件定義書➡デジタルコンテンツ 生成プロセス
アーキテクト: 領域展開内容が書かれた指示書+Pythonコード
Zoltraak Klein の紹介
ゾルトラーク Classic の基本思想を継承しつつ、Pythonクラス化されている。
ユーザーは ZoltraakKlein クラスを自身のプログラムに組み込むことでゾルトラークベースのアプリを開発できる。
フレームワークとしての普及を目指し、UIに依存しない設計となっている。
pip で利用可能
pip install zoltraakklein
Zoltraak Klein の動作フロー
ユーザー入力: リクエストとコンパイラを指定してゾルトラーク Klein クラスのインスタンスを生成する。
一括処理: cast_zoltraak() メンバー関数を呼び出すと、命名、要件定義書生成、領域展開が順次実行される。
個別処理: 必要であれば、各ステップを個別に実行することも可能。
成果物出力: 生成されたコンテンツは、指定のフォルダに出力される。
生成物メニュー: 生成されたファイルの一覧を表示するメニューも出力される。
質疑応答
質問: 要件定義合成後、後続の領域展開を行わずに要件定義書を修正することは可能ですか?
回答: Zoltraak Classic ではできません。 Zoltraak Klein では手動で修正する場合は、一括呼び出しではなく個別に呼び出して領域展開を呼ぶ前に修正を行うことで可能です。このクラス自体には要件定義書を修正する機能はないため、手動での修正をお願いする形になります。
Zoltraak Classic では -p オプションをつけることで自動で生成AIに修正させる機能はありました。 Zoltraak Klein は生産ラインというコンセプト上後戻りをしないことを想定しているため、自動修正機能は搭載されていません。質問: Windowsネイティブで動作しますか?
回答: Pythonが動作する環境であれば、Windows、Mac、Linuxでも動作します。ただし各環境に合わせてコンテンツ生成エンジンとしてMarp CLI, Mermaid CLI, Voicevox などを用意する必要があります。質問: リクエストは単文よりも具体的に長文で書いた方が良いのでしょうか?
回答: 重要なキーワードはできるだけピックアップした方が良いですが、長文で書く必要はありません。「~が欲しい」といった文章はAIにとってはコンテンツを作成する上で情報にはならず、ヒントになりません。必要なキーワードだけを提示し、それ以外はAIに考えさせるようにしましょう。質問: ソースコードはどこに格納されていますか?
回答: Zoltraak Klein は今回はデモバージョンでまだコードすべては公開されていません。詳細はについては次回のセミナーで説明します。
(セミナー公開後GitHubにてコードを全て公開しました)質問: プログラミング用途での質問です。 Claude だけで要件定義作成、コード生成をするのと比べて Zoltraak を使ってスピードが速いのは分かりましたが、精度も高いという認識でよろしいでしょうか。
回答: Claude の精度によります。 Zoltraak は要件定義書を読み込ませてコードを生成させるため、関連性のあるコードは必ず出てきます。しかし、これはバベル (Babel) でも同じ課題が出てくる可能性があります。質問: 要件定義書を作成してくれるコンパイラは自分で作成・改造できますか?
回答: コードを直接編集すれば改造できます。コマンドラインバージョンとしてクローンし、直接コードを編集してください。質問:プレゼン資料生成のデモはできますか?
回答:時間オーバーのため生成物のみの紹介しました。
今後の展開
Zoltraak Klein の正式リリース: ライブラリを公開し、GitHubを通じて世界に向けて発信する。
(現在リリース済み)アーキテクトの増強と調整: 生成可能なコンテンツを増やし、アプリの機能を強化する。
バベル開発への貢献: ゾルトラークの開発を通じて、元木氏の開発する「バベル」プロジェクトに貢献する。