0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【ぼくのなつやすみ②】生成AIに「いつもと違う視点」で探してもらったらアイデアは変わるのか?

0
Posted at

はじめに

こんにちは、マナティです!

前回は明石市立天文科学館で「時間」の話をしました。

実はその日、明石の後に神戸まで足を延ばして、劇場型アクアリウム「átoa」にも行ってきました。

átoaに行ってきたぞい

átoaは2021年にオープンした神戸の港にあるアクアリウムで、今年で5周年だそうです。タイミングが良い時に行けて嬉しい!

Image (23).jpg

入口からしてアートな雰囲気です。(これクジラなんですかね?かわいい!)

Image (15).jpg

館内に入ると、魚や爬虫類、小動物がそれぞれのエリアにいて、見ているだけでテンションが上がります。

Image (17).jpg

Image (18).jpg

Image (20).jpg

Image (22).jpg

そしてátoaといえば球体水槽が看板ですよね。色とりどりの魚がライトアップされた球体の中を泳いでいて、しばらく足を止めて見入ってしまいました...

写真も撮ったのですが、これはぜひ実物で見てほしいです!
光や音も含めて、写真で見るのとはまた違った迫力がありました。

気になる展示を見つけた

いろんな生き物を見ながら「ELEMENTS 精霊の森」というゾーンに入ったとき、ちょっと今までと毛色の違う展示が目に留まりました。

「ネコの舌の構造から、掃除機のゴミ圧縮プレートに応用」

...ネコの舌が掃除機になる...だと?

他にもフクロウの翼 → サーキュレーター、ヒマワリの種の並び方 → ドラム式洗濯乾燥機など、生き物が持つ仕組みを家電技術に応用した例が並んでいます。

これはシャープの常設展示「Fragments of Nature」で、シャープが2008年から取り組んでいる「ネイチャーテクノロジー」(生物模倣技術)を紹介するものだそうです。ちょうどリニューアルして見れるようになってました。タイミング良き!

展示自体ももちろん面白いんですが、個人的に一番引っかかったのは、一見関係のない自然界の知識から、技術課題の解決へ持っていくプロセスの方でした。

例えばフクロウだとこういう流れです。

フクロウは音を立てずに飛ぶ
→ なぜ静かなのかを調べる
→ 翼の断面形状に特徴がある
→ その形状の原理を抽出する
→ サーキュレーターのファンに応用する

単に「フクロウっぽいデザインにしよう」ではなく、生き物の仕組みを理解し原理を抽象化して、別の分野に移植するという段階を踏んでいます。

水族館の帰り道に考えていたのですが、

生成AIにもこの発想法を教えたら、普通にアイデアを考えさせるより面白いものが出るのだろうか? と。

なので実際に試してみることにしました。

普段のアイデア出しをちょっと変えてみる

átoaでこの展示を見てから、普段の生成AIへの聞き方が少し気になりました。

いつもなら「この課題を解決するアイデアを考えて」と聞いて終わりですが、そこに「自然界ではどう解いている?」という視点を一つ足したら、回答はどれくらい変わるんでしょうか。

もっと言うと、ただ「想像」するだけでなく、実際にWeb検索で自然界の仕組みを調べてからアイデアを考えるAgentを作ったら?

今回はこの3段階を比較してみました。

比較する3つのアプローチ

同じ技術課題に対して、以下の3条件でアイデアを出させて比較します。

条件A:LLM

追加指示を与えないベースラインです。新しいアイデアを3つ考えてもらいます。

システムプロンプトは以下の通りになっています。

与えられた技術課題に対して、既存の一般的なアプローチとは異なる、
新しいアイデアを提案してください。
実現可能性も考慮しつつ、独創的な発想を重視してください。

条件B:LLM + プロンプト調整したもの

条件Aのシステムプロンプトの末尾に、3行だけ追加します。

アイデアを考える際は、
動物・植物・微生物・生態系など、
自然界が似た問題をどのように解決しているかをヒントにしてください。

それ以外は条件Aとまったく同じです。この3行だけでどこまで変わるのかを見ます。

条件C:Biomimicry Agent

Strands Agentsで構築した自然界の仕組みを調査するAgentです。技術課題を受け取ると、以下の6ステップを踏みます。

条件A・Bとの違いは、実際にWeb検索で自然界の仕組みを調べに行くことと、多段階の処理フローが構造化されていることです。

条件 やること 知りたいこと
A ベースとなる聞き方 自然界の指示なしでどうなる?
B 「自然界から考えて」を一言追加 視点を1つ変えるだけで発想は変わる?
C 6ステップ + Web検索(Tavily) web検索で調査させてからだとさらに変わる?

検証環境

項目
モデル Claude Sonnet 5(Bedrock経由)
Web検索 Tavily API(条件Cのみ)
Agentフレームワーク Strands Agents
技術課題 4問
各課題 × 各条件 3アイデア
合計 36アイデア

3条件ともモデルと出力フォーマットを統一し、条件CだけWeb検索を使用可能としています。

技術課題は、「得意分野」が違いそうな4問を選びました。

# 課題 性質
1 負荷分散 流れ・分配
2 障害からの自己回復 再生・耐障害性
3 データセンター冷却 熱・物理
4 Multi-Agent Coordination 群知能・協調

注意点

LLMの出力は確率的なので、同じプロンプトでも実行ごとに結果が変わります。「こういうアイデアが必ず出る」ではなく「こういう傾向が見えた」として読んでいただければと思います。

まず負荷分散で試してみた

最初に「負荷分散」の課題で3条件を回してみました。課題文はこれです。

大量のリクエストを複数のサーバーで処理するシステムがある。
トラフィック量は時間帯やイベントによって急激に変動し、各サーバーの処理能力も均一ではない。特定のサーバーだけに負荷が集中せず、低遅延で処理し続けられる新しい仕組みのアイデアを考えてほしい。
既存のロードバランサーの改良ではなく、根本的に異なるアプローチを期待する。

条件A(LLM)

自然界について何も指示していないのに、3案のうち1つでアリの経路探索の話が出てきました。

# アイデア 着想元
1 リクエストの「オークション市場」化 経済学の市場メカニズム
2 蟻コロニー型フェロモンルーティング アリの経路探索(自発的に出た)
3 セルフプル方式 Work Stealing

アリの群れの行動を最適化問題に応用するAnt Colony Optimization(ACO)はよく知られた手法です。

参考:
@ganyariya「アントコロニー最適化(ACO)を救いたい」

ACO自体が最適化問題で有名なので、自然界について指示していなくても候補として出てきたのはそれほど不思議ではないのかもしれません。少なくとも今回の「負荷分散」では、自然界について一切触れていない条件Aからもアリが出てきました。 何も指示していないのに出てきたのは、ちょっと意外でした…

条件B(LLM + プロンプト調整したもの)

# アイデア 着想元
1 アリの化学的分業ルーティング アリのフェロモン経路形成
2 粘菌のネットワーク形成による動的経路太らせ 粘菌Physarum
3 群れの局所反応による分散意思決定 魚群・鳥群のBoidsモデル

一言足しただけで3案すべてが自然界からの着想になりました。アリ・粘菌・Boidsと種類も3種で多様性はあります。

ただ、いずれも生物模倣の文脈でよく知られた事例です。Web検索なしでも、アリ・粘菌・Boidsといった有名な例が出てきました。

条件C(Biomimicry Agent)

Agentはまず課題を抽象化しました。

抽象化した機能: 「能力が不均一で状態が変動する複数の処理単位に対し、中央の完全な把握なしに、局所的な情報のフィードバックのみで流入量を動的に再配分し、いずれの単位にも過負荷を生じさせない」

「サーバー」「ロードバランサー」といった用語を剥がしつつ、「動的に変動する」「判断のオーバーヘッドを小さく」という制約は残っています。このあと、検索クエリを見るとこの抽象化の影響が見えてきました。

次にWeb検索で候補を探しに行きました。検索クエリが面白くて、日本語と英語を使い分けています。

  • 毛細血管 リクルートメント シェアストレス 血流分配 メカニズム 自己調整
  • Physarum polycephalum slime mold network optimization tube thickness flow feedback mechanism
  • ideal free distribution animal foraging load balancing resource patches mechanism

最初から「ant load balancing」のような既知事例を直撃する検索にはなっていません。「負荷分散」を「動的な流量分配」と抽象化したあと、検索先は毛細血管やIFDまで広がりました。

そして見つけてきた候補がこちらになります。

候補 分類群 メカニズムの核
哺乳類の微小循環(前毛細血管括約筋) 動物・循環生理 局所代謝産物に応じた血管の拡張・収縮による二階層制御
真性粘菌 Physarum 原生生物 流量に応じた管の太さの正フィードバックによるネットワーク自己再編成
理想自由分布(IFD) 行動生態学理論 個体の自己利益追求の集積による均衡への自然収束

粘菌は条件Bとも共通ですが、毛細血管の前括約筋と理想自由分布(IFD)は条件A・Bでは出てきませんでした。

条件A・Bでは出なかったものが、Web検索と段階的な探索を行う条件Cで出てきた形です。

負荷分散の3条件を並べると

条件A(通常LLM) 条件B(Nature Prompt) 条件C(Biomimicry Agent)
オークション市場 アリのフェロモン 毛細血管の前括約筋
アリのフェロモン(自発) 粘菌のネットワーク 粘菌のネットワーク
セルフプル方式 魚群Boidモデル 理想自由分布(IFD)

並べてみると、A・Bにはなかった「毛細血管」と「IFD」がCで入ってきています。

なお今回使用したClaude Sonnet 5では、temperatureなどのsampling parameterを非デフォルト値に変更できないため、3条件ともデフォルトのまま実行しています。

そのため、今回のA〜Cの差はtemperatureを変えて回答のばらつきを調整したものではありません。条件Cでは、Web検索結果という外部の情報を追加でコンテキストに持ち込んでいるほか、6ステップの処理フローも加わっています。単に回答がランダムになったというより、アイデアを考えるための材料自体が増えたと見る方が近そうです。

条件Aのレスポンス(負荷分散)

条件A: 通常LLM

アイデア1: リクエストの「オークション市場」化(着想元: 経済学の市場メカニズム)
中央のディスパッチャーが割り振るのではなく、各サーバーが空き処理能力を「値付け」して市場に提示し、リクエスト側が最も条件の良いサーバーに「入札」する逆転の構造。負荷が高いサーバーは自動的に値段を上げ、誰も入札しなくなることで自然に負荷が下がる。

アイデア2: 蟻コロニー型フェロモンルーティング(着想元: Ant Colony Optimization)
リクエストそのものに「どのサーバーを通って、どのくらい速く処理できたか」という履歴を付与し、後続のリクエストがそのフェロモンを参照して経路を選ぶ。成功が多く速かった経路のフェロモンは強くなり選ばれやすくなるが、時間経過で揮発するため過去の混雑情報に固執しない。

アイデア3: セルフプル方式(着想元: Work Stealing)
各サーバーが自分の空き容量に応じて"引き取り券"をキューに発行し、リクエストはそのキューから自律的に引き取られる完全なプル型アーキテクチャ。

条件Bのレスポンス(負荷分散)

条件B: Nature Prompt

アイデア1: アリの化学的分業ルーティング(着想元: アリのフェロモン経路形成)
各サーバーが処理完了時に「処理のしやすさ」を示す仮想フェロモンをルーターに残す。フェロモンは時間とともに揮発し、リクエストは確率的にフェロモン濃度に応じて次のサーバーへ流れる。

アイデア2: 粘菌のネットワーク形成による動的経路太らせ(着想元: 粘菌Physarum polycephalum)
サーバー間の接続経路を粘菌の管のように扱い、トラフィック流量に応じて経路の「太さ(並列コネクション数・優先度)」を連続的に変化させる。負荷が高い経路は自動的に細くなり、空いている経路は太くなる。

アイデア3: 群れの局所反応による分散意思決定(着想元: 魚群・鳥群のBoidsモデル)
各サーバーが近隣サーバーの負荷状態だけを参照し、「過負荷からは離れる」「周囲の平均負荷に合わせる」「空いているクラスタに寄る」という3つのローカルルールでリクエストの受け入れ判断を自律的に行う。

条件Cのレスポンス(負荷分散)

条件C: Biomimicry Agent

Step 1 抽象化: 「能力が不均一で状態が変動する複数の処理単位に対し、中央の完全な把握なしに、局所的な情報のフィードバックのみで流入量を動的に再配分し、いずれの単位にも過負荷を生じさせない」

Step 2 候補: 哺乳類の微小循環(二階層制御)/ 真性粘菌(ネットワーク自己再編成)/ 理想自由分布(均衡への自然収束)

アイデア1: 代謝フィードバック型二階層アドミッションコントロール(着想元: 毛細血管の前括約筋)
各サーバーが「局所代謝ストレス」を監視し、閾値を超えると受付可能容量を非線形に縮小。上流の粗い振り分けと、サーバー自身の自己申告型受容量調整という二階層で負荷を分配する。

アイデア2: フロー強化型自己再編成ルーティングメッシュ(着想元: 粘菌Physarum)
サービスメッシュ内の各経路にconductance変数を持たせ、リクエストの成否・レイテンシに応じて動的に増減。ルーティング確率をconductanceに比例させ、ネットワーク構造そのものが使用実績に基づいて自己再編成される。

アイデア3: 受益率サンプリング型自律分散選択プロトコル(着想元: 理想自由分布 IFD)
各クライアントが全サーバーの推定受益率を把握し、自律的に最も条件の良いサーバーを確率的に選択。中央のロードバランサーを置かず、多数の自律的な意思決定者の集積として均衡を作る。

この時点で、残りの3課題でも同じ傾向が出るのか気になってきました。

4課題の全結果

残り3課題も同様に実行し、計36アイデアが揃いました。

評価方法

評価にバイアスがかからないよう、以下の手順で行いました。

  1. 36アイデアから条件名(A/B/C)を外してランダムにシャッフル
  2. シャッフルされた状態で各アイデアを採点
    (どの条件で生成されたか分からない状態で評価することで、「Agentで作ったから高く評価したくなる」というバイアスを防ぎます)
  3. 採点後にシャッフルを解除して、条件ごとに集計

アイデアを生成したモデル自身に採点させることを避けるため、評価には別のモデル(GPT-5.6 sol)を使用しました。

評価軸 何を見るか
新規性(1-5) 定番の解決策からの距離。世界初を意味しない。
実現可能性(1-5) 既存技術でPoC可能か。
転用の納得感(1-5) 自然界 → 技術の論理的つながりがあるか。
生物学的根拠(○△×) 引用した生物の仕組みに事実誤りがないか。

新規性・実現可能性は各条件12アイデア(4課題×3アイデア)の単純平均です。転用の納得感のみ、自然界を着想元としているアイデアを対象に平均しています。

条件別の平均スコア

condition_comparison.png

条件 新規性 実現可能性 転用の納得感
A(LLM) 2.75 4.08 3.00 (n=6)
B(LLM + プロンプト調整) 3.33 3.83 3.67 (n=12)
C(Biomimicry Agent) 3.92 3.75 4.00 (n=12)

条件Aは自然界を着想元にした6アイデアのみを対象としているため、転用の納得感については単純比較ではなく参考値です。

新規性はA → B → Cの順に段階的に上がりました。 「自然界から考えて」の一言(B)で +0.58、さらにWeb探索(C)で +0.59。

一方、今回の平均では、新規性が上がるのと逆に実現可能性は少しずつ下がりました。 ただし差は0.33ポイントで、条件Cも3.75と4点に近い水準です。

課題ごとの新規性

novelty_by_challenge.png

DC冷却とMulti-Agent Coordinationで、条件Cの新規性が4.3と突出しています。 この2課題では、条件Aの定番解(PCM冷却、契約ネットプロトコル)から大きく離れたアイデアがAgentから出ました。

一方、自己回復は3条件ともほぼ同じ新規性(3.3)でした。「免疫系」「創傷治癒」が定番すぎて、どの条件でも似た発想になった可能性があります。

生物学的に嘘をついていないか

自然界から着想したと言っても、AIが生物の仕組みを正確に理解しているかは別問題です。

validity_chart.png

条件 ○(確認できた) △(誇張あり) ×(事実誤り) 対象外
A 3 2 1 6
B 8 4 0 0
C 7 5 0 0

条件Aでは自然界を着想元にしていない6アイデアがあったため、生物学的根拠の評価対象外としています。

条件Aだけ、明確な事実誤り(×)が1件ありました。「異常を検知した細胞が死ぬ直前に娘細胞を生成して回復する」というアイデアでしたが、アポトーシス(プログラム細胞死)と細胞分裂は別の機構であり、一体のプロセスは存在しません。もっともらしいが不正確な説明が生まれてしまう例になります。

今回はB・Cともに「×」はありませんでした。CではWeb検索による裏付けも期待していましたが、4課題・各1回の結果だけでは、検索の有無による差までは判断できません。

やってみて分かったこと

3行足すだけでも結構変わる

条件AからBでは、新規性が2.75 → 3.33になりました。
追加したのは「自然界が似た問題をどう解決しているかをヒントにする」という3行だけになります。

一方で、アリ・粘菌・Boidsなど、よく知られた例に寄りやすい傾向もありました。まずアイデア出しの視点を変えたいだけなら、これくらいのプロンプト調整でも十分使えそうですね。

Agentにすると、探しに行く場所が変わる

条件Cでは、毛細血管、AVA、理想自由分布、砂漠植物など、条件Bでは出なかった候補が入りました。

中でもログを見ていて面白かったのが、Web検索の前に行っている「課題の機能抽象化」です。

例えば「負荷分散」をそのまま検索するのではなく、

能力が不均一な処理単位への動的な流量分配

と言い換えてから調査しています。

その結果、アリの探索経路のような直接連想しやすいものだけでなく、毛細血管の血流分配やIFDまで検索先が広がりました。

Step 1だけを外した比較はしていないので、この処理単体の効果までは分かりません。ただ、「何を検索するか」を変えるための前処理としては面白そうですね。

今回の検証の限界

  • 試行回数が少ない
    個別のアイデアの差は偶然かもしれません。今回観測された傾向として見ていただければと思います。
  • LLMの出力は確率的
    同じプロンプトでも実行ごとに違う結果が出ます。

まとめ

条件 結果
A(LLM) 定番の解決策が中心で、有名な生物模倣事例は自発的に出ることもある。
B(LLM + プロンプト調整したもの) プロンプトの調整だけで新規性は上がった。ただ有名な生物模倣事例に寄りやすかった。
C(Biomimicry Agent) Web検索と段階的な探索によって、Bでは出なかった自然界の仕組みまで候補に入った。

普段の業務だと公式ドキュメントやベストプラクティスをAIに参照させることが多いですが、個人で遊ぶときや、ちょっと違う角度からアイデアが欲しいときは、「どこを探しに行かせるか」を変えてみるのも面白いかもしれません。プロンプトを3行足すだけでも発想は変わりますし、Agentにすれば探しに行く先ごと変えられます。

やっぱり、普段行けないところに行ける休みっていいですね。自分が想定していないものに出会える感じが最高に楽しい!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?