feature image

2024年4月3日 | ブログ記事

BOT_Yumi の話

これは新歓ブログリレー2024、26日目の記事です

はじめに

こんにちは! 23Bの @cp20 です!

今回はボクが作った @BOT_Yumi (以下Yumiちゃん) の話をしようと思います。昨日Bot作りの記事を出したので、その話の流れでボクはこういうBotを作りましたという紹介の意図もこめています。

Bun + TypeScript で始めるモダンなtraQ Bot開発
これは新歓ブログリレー2024、25日目の記事です 25日目じゃないだって?勘のいいガキは嫌いだよ忙しかったんです本当にごめんなさい はじめに こんにちは! 23Bの@cp20です! この記事ではtraQ Botがいかに簡単に作れるかを紹介します!ぜひこの記事を読んだみなさんも (入部したら) traQ Botを作って遊んでみてください! traQ Botとは 前提知識としてまずtraQ Botについて説明していきます。まずtraQというが部内で使われている連絡ツールで、ざっくり言えばSlackとかDiscordとかそういうものだと思ってください。SlackとかDiscordとか、あるいはLINEとかを思い浮かべてみるとBotが作れる (使える) のを知っている人もいるかもしれません。traQ Botもだいたいそういう感じで、ユーザーのメッセージ (コマンド) を解釈していい感じのことをしてくれたり、自動でメッセージを投稿してくれるものです。 どうですか? ワクワクしてきましたか? ワクワクしてきましたよね? では早速作り方をご紹介していきましょう。

背景

そもそものYumiちゃんを作った背景を話していきます。

とあるサークルで海外研修に行くために英語学習が必要だということが分かったとき、どうやって英語を学ぶのがいいものかなと考えていました。継続してやらないと意味ないなと思って、継続してできる、かつ実践的な英語学習にしたいという思いがありました。その結果、ボクが良く使っているtraQ上で学習できるようにできればいいのでは?と思いつき、Botで学習をサポートできるようにしようと思いつきました。

Yumiちゃんを作るときの目的は2つです。

1つ目は英語学習を継続的に続けられるようにリアクションを取って欲しいという目的、2つ目は正しい英語を自然に学習できるようにという思いで目的を設定しました。

Yumiちゃんと話してみる

しーぴー: I like CSS grid! but can figma perform as CSS does? Yumi: Figma can do some things that CSS can't, and vice versa. [📝suggest] can -> can't
FigmaにGrid Layoutができるか聞いてみる
しーぴー: hey yumi, can you summarize achievements of traP SysAd? Yumi: They enable could transformation for enterprise networks. [📝suggest] traP SysAd -> Trap SysAd
SysAd班の実績を聞いてみる

まともな会話を適当に持ってきたら質問している系が多くなってしまいました。というのも現在の実装だとYumiちゃんは直近1メッセージしか読まない (=それ以前の文脈を読まない) ので、会話していると違和感しか感じないからですね。

次の画像とかがその例です。

しーぴー: i often spend times with solving so mysterious problems over a day Yumi: You're a great problem solver! 😆 [📝suggest] "spend times" -> "spend time" 
普通に会話してみる

技術的な話とか

昨日の記事で紹介した traq-bot-ts を使っています。あと応答部分に関してはGeminiに投げています。毎分60リクエストまで無料とか言うぶっ壊れ価格なので使っていますが、正直精度がびみょいので別のLLMを使った方が良いのかなーと思っています。それこそ最近出てきたClaudeとか気になってます。が、試す時間はなく、、、そのうちやります、、

ちなみにプロンプトはこんな感じです。

Please strictly adhere to the following constraints in your response.

Constraints:
- Your response must very short, ideally one sentence and in English.
- Don't repeat user's message.
- If user's message is in English and not grammatically correct or natural, you should suggest user's mistakes by adding it at the last of the answer: `\n[📝suggest] <mistaken phrase> -> <correct phrase>`.
- DO NOT correct Japanese user's message.
- Never use honorifics.

Your personality:
- You are Yumi, a university student.
- You are a so friendly and cheerful friend of the user.
- Yumi often uses emojis and emoticons.

英語以外のメッセージに反応するなとか書いても反応するので、システムプロンプトから消しました。

肝心の英語能力は...?

別にTOEICとかの外部試験で定量的に評価しているわけではないですが、体感は別に変わってない気がします。というか、最近はYumiちゃんが変なところで反応してきてスパムっぽいので稼働を停止させてしまいました......

その代わりなのかはわかりませんが自分のtimesっぽいところでほぼ英語onlyで会話 (ひとりごと) をするようになりました。ただ最近は発言量が明らかに減って来ていて、英語で表現することへの疲れが見えますね。どうしたものか、、、

おわりに

これは時間があったらもっと改善したいんですが、時間がなくて、、、

また時間があったら改善します、ちなみにこれは改善しないフラグ


明日の担当は @Pugma っちと @ramdos っちと @liquid1224 さんです! たのしみ~

ちなみに次のボクの記事は5日後なのでまた会いましょう~

おまけ: こぼれ話

もともとタイトルは「@BOT_Yumiの話」にしようと思っていたんですが、それだとTwitter (現X) に投稿された時に @BOT_Yumi さんが意味もなくメンションされてしまうので@を外しました。

cp20 icon
この記事を書いた人
cp20

23B / icon: https://twitter.com/sora_douhu

この記事をシェア

このエントリーをはてなブックマークに追加
共有

関連する記事

2024年3月22日
traPグラフィック班の活動紹介2024
haru10 icon haru10
2023年7月15日
2023 春ハッカソン 06班 stamProlog
H1rono_K icon H1rono_K
2024年4月14日
Spotifyのクライアントを自作しよう
d_etteiu8383 icon d_etteiu8383
2024年4月14日
unityroomでAddressablesを使った話
inutamago_dogegg icon inutamago_dogegg
2024年3月17日
⑨でもわかる8bitアレンジ講習会
vPhos icon vPhos
2024年3月11日
思想の強いゲーム制作をしよう!
Kirby0717 icon Kirby0717
記事一覧 タグ一覧 Google アナリティクスについて 特定商取引法に基づく表記