koboriakira.com

3歳半にもなると、ほんのすこしだけプロレスのルールも覚えるようになった。今日はスリーカウントをとったほうが勝ちということを理解してくれた。惜しむらくは「ワン、ツー、スリーと言ったら勝ち」という理解にとどまってしまったところ。ロックアップの体勢からスリーカウントをとられたレスラーは私ぐらいのものだろう。


ChatGPTを使ったBotの開発は、新しいことをやるよりは「あれもやりたい」ということを時間をかけて実装していくだけ、という感じ。Notionに溜めたレシピ集をもとに献立を提案してくれたり、そのために必要な買い物リストを考えてくれたり。ちゃんと実用できるものができあがっている。

気になったのはやはり費用だ。ちゃんと考えてみると、Function Callingをはさむことで費用が2,3倍にふくれあがってしまう。ときおり使うのはいいけれど、ワークフロー経由で呼び出せるものをわざわざFunction Calling経由にするのは良くないなと反省した。今日が何日かぐらいは教えてあげよう。


週次レビューを実施。これまで自分が思いつくものやリストアップしたことしかできなかったけれど、NotionChatGPTのおかげでもっと面白くなりそうな気がしてきた。実装まではできなかったので、アイデアをコメントアウトで記載しておいた。

たとえば進捗も測りたいけれど、そのほかに「今週こんなのをめっちゃ聴いてたよね」とか「今週のプロレス観戦の記事って書いた?」とか、そういったことをどんどんChatGPTから提起させることができそう。

トークン数が2倍、4倍になれば、このときだけは上限めいっぱいに情報を詰め込んで、それらの関連について語らせることもできる。Notionの各ページに共通のタグを持たせるようにしているので、タグ同士の関連性から何かを語らせることだってできるはずだ。つまりは「一度に処理できるトークン数」が気になる。

この日記も1ヶ月まとめて読み込ませたら、なにかしらの方向性を感じ取るだろう。「今月はAIをつかった開発を頑張ってましたね」って。まあそれぐらいはさすがにわかるけど。


東京女子プロレスの「楽しい楽しい夏休み!~TJPW夏フェス2023~」を配信で観る。なぜ私は大阪にいなかったんだ? と思うぐらい、すごい良い興行に見える。大好きな原宿ぽむ選手が暴れまわり、そしてメッタメッタにされる最高の試合。この選手を観て、はじめて自分なりに「受けが良い」という感想を持った。受けが上手いかどうかも大事なんだろうけど「この選手のやられてるシーンが愛おしい」とどれだけ感じるかが大事だと思う。

選手のポートレートにサインを書いてもらうのも(死ぬほど)楽しいけれど、願いが叶うなら、これらのシーンをA3サイズにプリントアウトして販売してほしい。「元気をもらう」「勇気をもらう」という表現が本当にしっくりくる。

プロレスの話つづきで「SUKEBAN」という、日本の人気女子レスラーを集めた新しい団体?の告知を見て驚く。9.21、ニューヨーク。これとんでもないことになるのでは。


dawgssは初めて聴いたはず。なんとなく気に入って、もっと聴いてみたいなという感じ。

.ENDRICHERI.という名前になっていた。イントロが流れた瞬間に「これ好きだ!」ってなったら、やっぱり。

ポケモンの「あの効果音」をサンプリング(いや「メロディを拝借した」が正解だろうか)したトラック。

はじめて「ましのみ」の声を聴いた気がする。タイトルが素晴らしい。

めちゃくちゃ良い。「なんだこのアーティスト!」って思ったらビッケブランカだった。この人の新曲、いつも同様の感想を持つ。「わーすげーな、誰だろう?」って感想を持ったら、ほぼビッケブランカだ。

東京女子の締めを見て真っ先に思い出したやつ。


/2023/09/01/

2023/09/01

ChatGPTのBot開発は、ついにスケジュール作成まで到達した。まだ60点ぐらいだけれど、手動で組み立てるよりは相当早い気がする。

システムを作り込みながら良いなと感じるのは、日常においてどういうステップを踏むのが適切であるか、ある行動と他の行動の関連性をより深く考えるようになったことだ。「明日の予定を考える」ためには事前に完了しないといけない行動がいくつかある。それらを整理しようとすることで計画の深みがました気がする。ただし何度も言うが、計画通りに進む訳ではない。人生とは組み立てた計画を壊すことだ。


C.O.S.A.のラップが異次元。自分も適当にフリースタイルで合わしてみるが、まったくリズム感が違う。いちばん海外でウケる可能性のあるラップでは、と妄想している。

このリミックスはズルいぞ!

いまだに月1ぐらいで聴いてしまう。本当にいい曲。

ミスチルの曲でこれが一番好きなんだけど、自分がエンジニアだからなのかも。


ひらがな

2023/08/31

最近、とうとう子どもがひらがなを読むようになってきた。今日は「おいしい牛乳」を自分で読んでいて驚き。


ChatGPTを使ったBotの開発は、レシピの提案機能を作成。「〜が余ってるから、最近作ってないメニューの中でおすすめあるかい?」って聞くと、自分が準備したデータベースから回答してくれる。

またiOSのShortcutsをつかって「6時間置きに撮影した写真をSlackに自動アップロードする機能」まで作成。これでやっと写真データをSlackに集めることができる。Shortcutsは意外と便利だぞ、と気づいた。


ぷにぷに電機、パソコン音楽クラブ。どちらもものすごい良曲。

Furui Rihoにドハマりしていることが確定した。

きみが嫌いな ピンクの髪色
これだけ言うわ
(Sorry but I love my hair)

「ピンクの髪をブリーチする」というテーマだけでこんな曲かけるの? って感じ。コーラス後半にあたる「やだやだ〜」の箇所も良い。


Function Callingを実装して、ちょっとした変化だけど実は大きな変化が訪れた気がする。

とうのは、AIがいよいよ「コンシェルジュ」としての立ち回りをできるようになってきたことだ。これまで特定の文言や操作に反応するだけだったのが、会話の中でみずから行動を決めるようになってくれた。

今日作っていたのは、ChatGPTにスケジュールを作成させる機能だ。たとえば「明日の予定を作って。空き時間は重要なプロジェクトのタスクを進めたい。朝食は昨日の残りを食べるつもりで、夜は外食します」と指示すると、ChatGPTは、

  • カレンダーの予定を参照する必要があるので、Googleカレンダーの情報をとりにいく
  • 日々のルーティンを参照する必要があるので、以前作成したルーティンの情報をとりにいく
  • プロジェクトの情報を参照する必要があるので、Notionで管理されているプロジェクトのデータベースを取得する
  • 上記の情報と指示内容をまぜて、スケジュールを提出する

ということをやってくれる。ポイントは「スケジュールをつくる=上の4つの操作を行う」ではなく、今回の指示においては上記の操作をやるべきだと考えた点にある。

たとえば「子どもと1日遊ぶ予定。どこかいい場所がないかも提案して」みたいなことを書けば、(自分が実装しさえすれば)適したレジャーも検索して提案してくれる。私の現在地を把握できて、かつ乗換案内のAPIを呼び出せるなら、その場所に行くための方法や時間も計算したうえでスケジュールを組んでくれるだろう。

あとは画像認識の機能がほしいところ。メモを読ませて、適宜操作させられれば最高。手書きのメモを使いつつ、その内容を自動でいい具合に反映したりもできるだろうな。


Furui Rihoのハマり具合がとんでもない。聴けば聴くほど素晴らしいアーティストだと思う。私の音楽履歴から導き出された感想のひとつは、彼女はMINMIの系統であるだろうということだ。「I’m free」を聴くととくに感じる。

MINMIはキャリアを重ねるに連れて、どんどんと王道のレゲエ(というか湘南乃風の方向に)回帰していき、食指が伸びない時期もかなりあったのだけれど、デビュー作と2枚目のアルバムは天才的なバランスのJ-POPだった。

Furui Rihoも同様にJ-POPであり、その枠の中でリズムとブルースが色濃く発揮されている。どうか音楽好きだけが聴くようなオシャレなトラックではない、このままの路線で突っ走ってほしいなと思う。


原宿ぽむ選手撮影の「ぽむとれーと」が届いた。被写体は坂崎ユカ選手。たかがポートレート、なんて思ってた時期が私にもありました。


function callingの実装

今日は1日かけてFunction Callingの実装を試す。あとで絶対にブログに書こうと思うけど、すこしメモを。

たとえば「今日の天気を教えて」みたいな命令をしたいとき、ChatGPTは今日の天気情報を持っていないし、そもそも「今日」が何日かも知らない。

このような「まだできないこと」を補完してあげられるのがfunction callingなのでは、という理解。

ゆえに、

  • 今日の日付を取得する
  • 指定された天気を調べるAPIを呼び出す

という2つの関数をfunction callingとして利用できるようにする。そうすると、次のような感じでAIが処理してくれる

AIの処理イメージ

今日の天気を教えてほしい

まず今日の日付を知りたいから、今日の日付がわかる関数を呼び出そう…今日は2023年8月27日なのか。

2023年8月27日の天気を教えてほしい

この日の天気に関する情報は、天気を調べるAPIを呼び出せばよさそうだ。日付は2023年8月27日…JSON形式のデータが得られたぞ。

2023年8月27日の天気を教えてほしい。天気の情報は{JSON形式のデータ}を参照。

これなら返答できるな。返答しよう。

感想

このとき大事なのは「今日の天気を取得する関数」を作ってはいけないのだろう、ということ。通常の設計と同様に、無駄な依存関係は省くべきだ(※そのうえで複数のfunctionをまとめて利用したいケースはあるかも、と思っている)。

このあと画像生成のfunctionも追加したことで、「今日の天気をイラストで表して」みたいなことも回答してくれるようになった。

これの凄いところは、自分しか欲しくない機能を自分で作れるところだと思う。

たとえばNotionで管理しているデイリーログのページに何かを追加してほしい。そのための関数をOpenAIが用意してくれることはありえない。でも自身で実装することは簡単にできる。

前に「多くの情報をひとつに集めることが重要」と書いたけれど、さらにその確信を深めた。せめてAPI経由ですべての情報にアクセスできるべきだ。「めちゃくちゃ便利だし内部にAI機能も設けられているけれど、外部サービスと自由に連携できない」というサービスは、すくなくともAI目線ではもう使い物にならないサービスになるかもしれない。

※今日の天気を表したイラスト。プロンプトさえ改善すれば、結構いい感じになるのではと夢見ている。

2023 08 27