https://scrapbox.io/files/64bc04c3993879001c92a546.png
2023-07-22
毎月開催しているプロジェクト持ち込み型継続開発型ハッカソンです。 当日の実況
遅刻しそうnishio.icon
会場なうnishio.icon
nishio.icon
https://scrapbox.io/files/64bb3b7d7962d3001c829b6d.png
プロジェクト持ち込みは初めてなのでメモ
プロジェクト紹介をするのも初めて、ドキドキ
プロジェクト紹介
一言で言えば「デジタル技術やAIを使ってより良い議論の仕組みを作ろう」というプロジェクトです
Wikiの一種、Scrapbox上での非同期な議論を6/27からスタートしていて、500ページ以上のコンテンツが生み出されています
ソフトウェア開発としては今「コモレビカガミ」という感想収集プラットフォームを作っています。これができるとAIにとって扱いやすい形で大勢の主観データを集めることができるようになります。
# 今日の作業内容 Today’s Mission:
1. プロジェクトに興味がある人が居ればScrapboxの参加方法を伝えたり、どういうことに関心があるかをヒアリングしたりする ここから参加: オモイカネに参加する 2. 残りの時間は感想収集プラットフォーム「コモレビカガミ」の開発をする(nishio)
3. 今までScrapboxで行われた、SFプロトタイピングにおけるAIの利用を分析し、普通に雑談できるレベルでわかりやすくする(niryuu)
# こんな人にきて欲しい People needed:
誰でも
done!
予告なくniryuuさんに振ってしまってすみません🙇
完全にノリ
memo
# こんな人にきて欲しい People needed:
- 誰でも
「誰でも」 はエンジニアに限らず誰でも
もう少し具体的に書けばよかった
エンジニア向けのオンボーディングが用意されてないので〜という話をした
あまり上手くない説明
「多様な視点が重要なので」という積極的な理由で今後もエンジニアに限らず誰でもウェルカム
「知らない人が雑にわかる」ということが重要なので、雑談は割と募集中niryuu.icon あー、ブレイクアウトルームにわかれるのねnishio.icon
ここはイベントに参加してない人でも自由に書き込んでいいです!
物理会場の人、イベントのオンライン参加のZoomの人、イベント以前からScrapboxにいる人、の3通りいるけどみんなコミュニケーション取れるといいね!
オンライン参加ですよろしくお願いします!SSS.Leopom.icon
普段から友人との議論の場所として,Scrapboxを活用していたので,それとAIを合体させたシステムと聞いて非常に興味を持ちました!
Zoomの方?nishio.icon
そうです!
Scrapboxから毎日自動でデータを抜き出してベクトル検索できるようにする仕組みを実装したのだけど、いま予算の関係で止まってますnishio.icon
僕はそれをまず直すべきなのか?!nishio.icon
メモ
名前は本名である必要はない
資料
自己紹介
初参加です。よろしくお願いします。
コミュニケーションツール(?)とAIの掛け合わせに興味を持ちました。
経緯
同じ状況から異なる考え方の主人公が行動するストーリーを作る実験nishio.icon
ペアを作れるということが革新的
小説を見た後どうやって収束
台湾でUberの規制の議論に使われた事例
なぜ小説を読んで投票?
投票して可視化することに使われているPolisがまず先にあり、投票の前にまず前提知識の共有方法が必要だということで手前に入口としてSFプロトタイプをつないだ
という文脈を知らない人は先に小説を見るので混乱しがち、いい説明が必要…
ロールをプレイすることによって
共感してなかった人に共感する
感染者の保健所運営のロールをプレイ
感染のグラフを見ながら意思決定
ゲームを作って体験してもらう
アンケート調査
学習目標の達成、あらかじめ決められたものの達成になってしまう
クラスタリング
最終的なレポートな可視化に限らず
みんなの意見の分布を観測すると後の議論がより良くなる
Polisの良いところは人の集団がクラスタされるので仮想的なペルソナになる 「クラスタAさん」がどういう意見を持っているかが抽出されることによって、人間に理解しやすくなる
AIに要約させると納得感が得られやすい
https://scrapbox.io/files/64bb4b59331c87001caed063.jpeg
4900円のノートパソコン
脈絡なくて笑った、どういう流れだろう?inajob.icon
niryuuさんが「今買ってきた」と言ってた(脈絡ない)nishio.icon
あー、勉強会に来たけどパソコン忘れた的なはなしかinajob.icon
そうですらないので本当に脈絡ない(隣のMacBookもniryuuさんの)nishio.icon
予想外に脈絡がなかったwinajob.icon
どんな話題でも書いて良い
それが広がっていくかどうかは他の人たちが拾うか次第
SSS.Leopom.iconmemo
文章をベクトル化することによってトピックを分析したり,単語だけでない文章自体の類似性を検索できるようになる
LLMsにそれを学習させることによって,過去に行われた議論を踏まえた対話エージェントを作成することができる.
エージェントを使用することで,過去の人々と話をしたり議論を深めたりすることができる.
→さらにフレームワークとして転用するとこでさまざまなサービスに展開可能!
正確に言うとこれを「学習」と呼ぶのは(そういうプレスを打つ企業はあるが)イマイチだと思いますnishio.icon
langchainを使ったマルチエージェントシミュレーション
人間以外、森なども議論に参加するSSS.Leopom.icon
2024-06-22 これを読み返して、まさに昨日、東京都の代理人都庁くんの話が出てたのを連想したnishio.icon AIに関する議論にAIが参加すべき
掲示板エージェント
いくつものキャラクターができるといい
AIに異なるScrapboxのデータを読ませて共通の質問に議論させた話
AIに議論させた
未来の予測ではなく、発展の経路を見ることで学びがある
可能性世界をAIでたくさん生成できるようになると、点推測ではなく分布として推測できるようになる
過去の自分との対話ができるメモツールが欲しい的な話
過去の議論を踏まえて発展形を使ったりしたい
日記を書ける人はすごい
自分が書いたものではなくてもEvernoteに溜め込んだクリップとかと会話したいよね
古典的なカントはChatGPTが学習してるけど新しい本とも会話したい
オードリータンとか
自分の本棚と会話したい
断片的に書くことができるのがScrapboxの良いところ
「書く」ことの心理的ハードルを下げてどんどんアウトプットすることを促すのが有益
文章を書かないといけないときもChatGPTに生成させたらいい
自分の日記(テキストデータ)をChatGPTに接続してみたい
2通りある
A: Scrapboxはプライベートプロジェクトも作れるので日記をそちらに貼る方法
B: Pythonが少しかかるならCUIで動くスクリプトがあるのでそれの読み込み部分をいじる
ここの一番上にあるのがGithubのリンク
inajob.iconはtwitterのデータでやってみたことがあるinajob.icon
twitterのアーカイブ機能で自分の全tweetをダウンロードできるので、これを使った
AIの使用を分析するniryuu.icon
ScrapboxからのJSON export
https://scrapbox.io/files/64bb5b04ad1db5001baa6cb9.png
このエクスポートをGithub Actionsで1日1回実行している
Q: 毎日APIを叩くのはすごくお金がかかるのでは?
A: そんなことない、結構安い
Ada v2 $0.0001 / 1K tokens
「コーディングを支える技術」を丸ごと埋め込んで$0.13(3/22)
当時Embedding APIのコストは$0.4 / 1M Tokenだったので今だと1/4になる
.envについて
.envという名前のファイルを作ってそこに書く
サンプルがあった方がいい
これは僕がAPIキーをGithubに間違えてアップロードしてしまわないようにファイルを分けてあるだけ
Pythonコードに直接書き込んでも良い(うっかり人にシェアしないように気をつけてね!)
code: error
(chatScrapbox) matsuiyoutarou@matsuiyrounoMBP scrapbox_chatgpt_connector % pip3 install dotenv
ライブラリ名が間違っているnishio.icon
以下のコマンドを実行して、必要なライブラリをインストールします。
$ pip install -r requirements.txt
Embedが重たい
APIキーを作って24時間の間は遅い
そもそもこのコードは速度を気にせず実装したので遅い
メモ: 既存のデータと単に会話したい人に対してはWebサービス版の方がハードルが低いが「自分のデータと会話したい」という人にはCUI版の方がハードルが低いnishio.icon
後者を作ったのが3ヶ月も前なので頭から消えていたが、このプロジェクトへの入り口として良い一歩かもしれない
↓エラーメッセージ
SSLError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/cl100k_base.tiktoken (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1108)')))
会社のファイヤーウォールがブロックしている??
直接ダウンロードする
できた!
Bing Chatに論文のアブストラクトを入力して質問させる研究
GPTがメッセージ全体を生成して人間が手直ししたものは、生身の人間が独力で書いたものより役立ち度が高いnishio.icon
中間報告
中間報告に向けて要約
を書こうと思ったがGPTにやらせればいいか!
gpt.icon日本語での報告の要点:
このメモは、オンラインイベントに参加している参加者の実況をまとめたものです。イベントはScrapboxを活用したコミュニケーションツールとAIの掛け合わせに関するものでした。参加者はAI小説やSFプロトタイピングについての議論を行い、Polisというプラットフォームを活用して議論や投票を行っていました。
参加者はAIに要約させることで共感を得る方法や、Scrapboxをベクトル化して対話エージェントを作成するアイデアに興味を持っていました。また、AIが異なるScrapboxデータを読んで共通の質問に対して議論する例や、マルチエージェントシミュレーションにAIや人間以外の参加者を追加するアイデアも提案されていました。
最後に、APIキーを管理するための.envファイルや必要なライブラリについての情報も共有されていました。
人力整理
- 中間報告
- プロジェクトの経緯などの説明。英語でもできた
- コミュニケーションツールとしてのScrapboxとAIの掛け合わせに関して
- 参加者はAI小説やSFプロトタイピングについての議論を行い、Polisという意見集約プラットフォームの活用について議論を行っていました。
- AIに要約させることで共感を得る方法や、Scrapboxをベクトル化して対話エージェントを作成するアイデアに興味を持っていました。
- AIが異なるScrapboxデータを読んで共通の質問に対して議論する例や、マルチエージェントシミュレーションにAIや人間以外の参加者を追加するアイデアも提案されていました。たとえば、人間以外、森などをチャットボットとして議論に参加させるアイデアが出て面白い
- ソフトウェア開発的には、
- 「Scrapboxをベクトル化して対話エージェントを作成する」に関して
- 参加者が自分のScrapboxやテキストファイルでの日記データを持っていたので、まずはCUIでそのデータと会話をすることを試しました。
- 1つAIとの対話記録を選んで見ています
中間発表done
シャッフルタイム
フォームを書くとScrapboxの書き込み権限が手に入る
ここに書き込みしてもらう
kazuki jinnouchi.icon
初参加!
ようこそ!nishio.icon
SF書いてみたいと思って1ヶ月が経過してしまいました。
Social Hack Daysでのオンボーディングを整理して2ヶ月後にやりやすくする必要がある
まずScrapboxへの参加方法を説明
トラブった人のサポート
ここに書き込みしてもらう
「どこに書いたらいい」問題をなくす
次は個々の人のニーズを聞く
たくさん一度に人が来るとここができない
今回は二人ともPythonができて「Scrapboxをベクトル化して対話エージェントを作成する」に興味があったのでそれをやった
対話エージェントとは
人間に対する応答が帰ってくる
ChatGPTもその一つ
上手く動かない原因
もともと仕事の目的でAnacondaが入っている
Numpyのバージョン違いが発生した
venvで別環境を作ろうとした
会社マシンなので管理者権限でスクリプトの実行が禁止されていて仮想環境のactivateができない
これはちょっと難しい状況だなぁnishio.icon
会社など組織支給の環境で使うには
開発環境の構築が問題ならGoogle Colabで動かせばいいのではないか説
データはGoogle Driveにおいてマウントすればいい
対AIコミュケーション学が必要
未来現代文
参加証明NFT
https://scrapbox.io/files/64bb9243c5da76001b8315d0.jpeg
次回
10回目を迎える国内最大級のシビックテックカンファレンスの日時とエリアが決定しました🥳 11/25(土)に東京都内に会場を設ける予定です! キーノートスピーカーやセッションについては追ってコミュニティSlackなどでお伝えしていくので乞うご期待🤩 #cfjsummit https://pbs.twimg.com/media/Fw9QFcVacAUexnz.jpg
- 最終報告
- 上手く動かないケース、会社マシンなので管理者権限でスクリプトの実行が禁止されていて仮想環境のactivateができない
- Google Colabで動かす案が言語化された
- ChatGPTとの対話ログを説明しながら雑談することで、対話ログへの理解だけでなく何を目指しており、AIなどについてどう考慮すればいいかなどがより明らかになった
- ChatGPTが体が木になったり山にくっついたりするカチカチ山を生成した異常性に気づけた (気になるinajob.icon)
- 雑談、zoomで画面共有しながらやればよかった
# 本日の嬉しかったこと・ありがとう Today’s Flyinghigh:
- 想定より手前の、すでに実装済みの対話エージェント作成ツールに結構ニーズがあることに気づけた、一人に実際に使ってもらえた、もう一人の解決方法も方向性が見えた(nishio)
- 未来現代文(人間対人間ではなく人間対AIにおける言語コミュニケーション)を想像することができた。(坂本)
- (niryuu)開発するすると言っておきながらAPIを使っていなかったが、今日初めて使えた!
- 他の人も後で書いといて〜(nishio)
issues
タスクとして切り出されたものをやるかどうかはさておきメモしておく
メモしないと忘れてしまうから
Social Hack Daysでのオンボーディングを整理して2ヶ月後にやりやすくする
Scrapbox ChatGPT ConnectorをGoogle Colabで動くようにする?
Omoikane Embedの高速なEmbedを組み合わせる?
分析して小説に感想を書こう
自分も書こう
「未来の現代文の授業は今とは違うはずだ」という着想に基づいた小説を作る