← 기사 목록
日本語https://zenn.dev/topics/ai/feed

カメとGemmaで紐解く、AIエージェントの仕組み

추출된 키워드

23
Gemma·5Turtle-Gemma·5ツール呼び出し·5Tool Calling·5AIエージェント·5エージェンティック・ワークフロー·4Agentic Workflows·4Python Imaging Library·3LLM·3Python·3PIL·3Google·3Gradio·3LOGO·3ハルシネーション·2タートルグラフィックス·2turtle_engine.py·2move_turtle·2turn_turtle·2set_pen_state·2set_pen_color·2オープンモデル·2推論エンジン·2

원문

5,342
カメとGemmaで紐解く、AIエージェントの仕組み

カメとGemmaで紐解く、AIエージェントの仕組み

cover

🐢 キャンバスに話しかける

もしあなたが私と似たような世代なら、初めての「プログラミング」体験は、まぶしいブラウン管(CRT)モニター上の小さな三角形だったかもしれません。

FORWARD 100
と打ち込むと、小さなカメが画面上に線を引いていくのを見つめていたあの時間。それはまさに魔法でした。自分でコンピューターを動かしているという実感があったからです。(参考: LOGO

最近、私は Turtle-Gemma というAIプロジェクトを通じて、この魔法に再会しました。現代のAIの世界で、あの頃のワクワク感をそのまま蘇らせてくれるプロジェクトなんです。

コマンドをわざわざ入力する代わりに、ブラウザでマイクのボタンをクリックして「赤い星を描いて」と話しかけるだけ。ほんの数秒後には、AIエージェントがLogoのコードを書き、それを実行して、デジタルキャンバスにあなたのリクエストを描き出してくれます。

turtle gemma screenshot

単に楽しいおもちゃのプロジェクトというだけでなく、これは現代のAI「エージェント」が実際にどう動いているのかを理解するための、最も効果的な方法でもあります。少し甲羅の中をのぞいてみましょう。

🛠️ すべてをつなぎ合わせる

いくつかの異なる技術を組み合わせて、シームレスなひとつのループにつなぎ合わせる時の、あの独特な達成感。Turtle-Gemmaがやっているのはまさにそれです。

アーキテクチャを見てみると、とても美しくてシンプルなパイプラインになっています。

  • 入力:Gradioのウェブインターフェースが、音声やテキストのリクエストを受け取ります。
  • 思考:GoogleのGemmaモデルがその入力を受け取り、エージェントとして機能します。
  • 描画:カスタムビルドの「ヘッドレス」なカメのエンジン(
    turtle_engine.py
    )がエージェントからの指示を受け取り、PIL(Python Imaging Library)の画像上に絵を描きます。

一人のクリエイターとして、私はこのアプローチが大好きです。未来を感じさせるものを作るのに、大げさなエンタープライズ向けのスタックなんて必要ないんだと思い出させてくれますからね。クリーンなPython環境、オープンモデル、そしてシンプルなUIライブラリ。これだけあれば、口に出した思考を一枚の画像に変換できるんです。

💭 AIが考える様子を眺めて、「ツール呼び出し(Tool Calling)」の謎を解く

最近AI界隈をチェックしている方なら、「エージェンティック・ワークフロー(Agentic Workflows)」や「ツール呼び出し(Tool Calling)」といった言葉を耳にしたことがあるでしょう。なんだか重々しくて難しそうに聞こえますよね。通常、これらはAIがデータベースにクエリを投げたり、JSONを解析したり、天気APIを取得したりといった、強力だけれども目に見えないタスクを指すことが多いです。

Turtle-Gemmaは、そんなツール呼び出しの過程を可視化してくれる、最高に心地よいビジュアライザーなんです。

Gemmaに「赤い星を描いて」とお願いしたとき、モデルは単に生の画像ファイルを出力するわけではありません。必要な手順を考えて、与えられた「ツール」を使わなければならないのです。ここでのツールとは、文字通り

move_turtle()
turn_turtle()
set_pen_state()
set_pen_color()
の4つだけです(参考: turtle-gemma/config.py)。

AIが声に出して推論していく様子を観察できます。

  • 「ユーザーはタートルグラフィックスを使って赤い星を描きたいようだ。星は多角形であり、通常は前進と特定の角度での回転を繰り返すことで描画される。」
  • ツール呼び出し 1:
    set_pen_color("red")
  • ツール呼び出し 2:
    move_turtle(100)
  • ツール呼び出し 3:
    turn_turtle(144)
  • (これを5回繰り返す)

LLMにキャンバス上での物理的で連続した手順を出力させることで、抽象的だったAI推論の「ブラックボックス」が完全に視覚化されます。もしAIがハルシネーション(幻覚)を起こしたり論理を間違えたりしても、無言でコードがクラッシュするわけではありません。その代わり、完璧な星ではなく、少し歪んだ奇妙な星ができあがるのです。まさに、モデルがリアルタイムで考えている様子を目の当たりにしているわけです。

😋 幸せなアクシデントを楽しむ

もちろん、これは2D空間をナビゲートしようとしているAIなので、常にすべてが完璧にいくわけではありません。でも、そこがまた面白いところなんです。

プロンプト:

draw a x-mas tree
(クリスマスツリーを描いて)

x-mas tree

クリスマスツリーをお願いしても、AIが幹を描くのを忘れてしまい、下から緑色の線が1本だけ飛び出した奇妙な三角形になってしまうこともあります。またある時は、自分の現在の向きを少し勘違いして、おかしな線を引いてしまうことも。

こうした小さな「間違い」が、なんだかとっても愛おしいんですよね。LLMは決して間違えない魔法の脳みそではなく、言葉を幾何学にマッピングしようと一生懸命に頑張っている推論エンジンなんだと気づかせてくれます。

🏖️ 砂場で遊んでみよう

私たちは、メールを書いたり、サーバーのデバッグをしたり、スプレッドシートを解析したりといった真面目な作業にAIを使うことに多くの時間を費やしています。Turtle-Gemmaは、AIを使ったプログラミングが、ただの楽しい遊びであってもいいんだと教えてくれる素晴らしいリマインダーです。

プロンプト:

draw a gangnam style
(カンナムスタイルを描いて)

Gangnam Style

ツール呼び出しが実際にどう動くのか見てみたい方、あるいは単に言葉から形が生まれる喜びを体験してみたい方は、ぜひリポジトリをクローンして、Gradioアプリを立ち上げ、試してみてください。強くおすすめします。

さあ、カメに星を描くように話しかけてみましょう。きっとあなたを笑顔にしてくれるはずです。

GitHubで編集を提案