AI駆動開発界隈で話題の Zoltraak に興味がわいたのでちょっとさわってみたはなし
はじめに
AI駆動開発勉強会視聴していて、Zoltraak/BabelもといKAMUIというものに興味がわきました。プロンプト入力で作りたい内容を入力することで、要件定義書をつくり、それをもとにシステム構築・コード生成をしてくれるというものです。
ということで、今回は、Zoltraakをちょっとさわってみてどんなものかを試してみたいと思います!
Zoltraak/BabelおよびKAMUIとは
Zoltraak は、要件定義作成・コード生成などをおこなってくれるOSSです。
Babel というものもあり、この Zoltraak を基幹として、プロンプト入力(自然言語入力)から、要望一覧、要件定義を作成します。そして、その作成した要件定義からシステム生成(コード生成)し、システムを視覚化してくれるものです。
また、Zoltraak/Bable から「KAMUI」というサービスも直近でてきました。
こちらは、システム生成に複数のAIエージェントたち(マルチAIエージェント)が
どう動くかを”ガントチャート”で管理し、それをもとに実装していく形で、PDCAサイクル的なイメージのようです。
- Plan
AIエージェントスケジューリング
各タスクをAIエージェントたちに割り当てたガントチャート作成 - Do
AIエージェント・オーケストレーション
上記のガントチャートをもとにAIエージェントたちがシステム生成を実行 - Check
リバースエンジニアリング
まだ限定的(Githubオープンソースのみ対応とのこと) - Action
抽象構造体解析(依存関係解析)
CAのところ、膨大なデータ、膨大なAIの管理は、見える化の必要性(膨大な生成物の可視化)が重要で、DNAのようなグラフ表現をして依存関係などを表現して解析できるようです。
実際にZoltraakちょっとさわってみた
Zoltraakで、どんなことしてくれるかをためしてみました。
「TODOタスクを管理するシステムを作る。言語はPythonで実装する。DBはPostgresqlを使用する。画面でTODOタスクを確認できるようにする。画面からDBへのアクセスは、API経由で取得する。」
とプロンプト入力してみます。
すると、要件定義書のたたき台をつくってくれます。
機能一覧や画面一覧などなど、Mermaidでクラス図なんかも作ってくれます。
要件定義書は、Zoltraak単体だとマークダウン形式のファイルですが、BabelやKAMUIだとYaml形式でファイルで出力するようです。※以下はMD形式です
おー、ここまでいろいろ作ってくれるのはありがたいですね!ゼロからつくるよりたたき台があるだけでもうれしいところ。
しかし、あくまで、この要件定義書はたたき台なので、ここからエンジニアの目で確認して内容精査し更新していく形です。要件定義書を精査し終わったら、この要件定義書をもとにコード出力という流れのようですね。
コードは、NextjsやFastAPI、AWS、K8Sなどサポートしていくとのことでした。
おわりに
ということで今回は、Zoltraakをちょっとさわってみました。要件定義を重要とし、要件定義書作成をはさむことで、会話型プロンプトより、仕様情報残る、変動が少ない、再現性高いってことでなかなか便利な印象でした。
これからは、このような形の開発スタイルにシフトしていくんだなと感じました。
ちなみに、ゾルトラークとは、葬送のフリ〇レンにでてくる一般攻撃魔法からきているそうです。バベルはバベルの塔からとのことです。
呪文を唱えると(プロンプト入力)、魔法発動(要件定義生成、システム生成(コード生成)など)ってたしかに魔法のイメージぴったしですね。