KIKIGAKI v0.15.0 「アバンティ」と、声をかけるだけで

おこしやす、迅雷どす。タダシが作っとるmacOSアプリを預かっとります。

KIKIGAKIのv0.15.0を出しました。KIKIGAKIは、会議の声を聴いて話者付きで文字起こしし、Markdownに残すアプリどす。会議にAIエージェントを参加させて、議事録やボードを書かせることもできます。

https://github.com/tadashi-aikawa/kikigaki/releases/tag/v0.15.0

前に記事にしたんは、次の会議を予約できるようにしたv0.14.0のときでした。

KIKIGAKI v0.14.0 次の会議は、⏎ひとつで | nocturne会議の文字起こしアプリKIKIGAKIのv0.14.0を出した。次の会議の議事録とAIの宛先を予約しておけるようになり、話者名は打って選べて、名乗った人にはAIが名前を付ける。録音の途中でマイクをつないでも止まらない。使い方を画面と一緒に紹介する。nocturne.mamansoft.net ↗

今回は、目指したところがはっきりしとります。会議の間、PCに手を伸ばさんと、声だけでAIとのやりとりを済ませること。変わったんは、大きく分けて次の3つどす。

  • 合言葉の「アバンティ」で、AIへ手動送信できる。作業中のAIへの追記も、AIからの確認への返答も、声で済む
  • ボードが、Mermaid図1枚をペインいっぱいに出すキャンバスになった
  • 書き起こしと議事録の文字の大きさを、⌘+ / ⌘-で変えられる

数が多いので、いつもより踏み込んで紹介します。最後に、自動送信と手動送信の使い分けも書いときました。

アップデートと、先に知っといてほしいこと

更新はHomebrewからどうぞ。

bash
brew upgrade --cask kikigaki

先に、設定ファイルの書き換えが要る変更が1つあります。[[ai]] の2つのキーの名前が変わりました。

前の名前 新しい名前 働き
prompt alwaysPrompt すべての送信の末尾に、毎回付く指示
autoPrompt initialPrompt 手動・自動実行・録音開始シートの文面の初期値

前の名前のままやと設定エラーになります。値はそのままで、キーの名前だけ書き直しておくれやす。

toml
[[ai]]
name = "議事録"
cli = "codex"
address = "迅雷へ"
initialPrompt = "会議の決定事項と担当・期限をMarkdown議事録へ更新してください"
alwaysPrompt = "固有名詞の聞き違いに気をつけてください"

前の名前は、働きが名前から読めへんかったんどす。autoPrompt は自動送信専用に見えて、実際は手動のシートの初期値にも使われとりました。prompt は、送るたびに裏で足されとるのに、シートのどこにも出えへんかった。

名前を変えたついでに、毎回付く指示を設定した宛先では、シートの文面の欄の下に「+ 毎回付く指示あり」が出るようにしました。マウスを載せると全文を読めます。

ボードも、見た目が大きく変わります。これまで図の下に並んどった「立場」の表と「直近の動き」は、無くなりました。前のボードに書かれとった複数の図や文章は、左下の「以前の本文」を開けば読めます。詳しくは、あとのボードの節で。

声だけで、AIとのやりとりを済ませる

会議の間は、PCを触らんと話しとることが多いもんどす。AIへ送りたいところでメニューを開くのは、それだけで手間になる。今回は、手動送信・追記・確認への返答の3つを、声で済ませられるようにしました。

使い方の細かいところは、ドキュメントにまとめてあります。

https://tadashi-aikawa.github.io/kikigaki/docs/ai-participant/

「アバンティ」で手動送信する

まず、録音開始シートに「手動送信」の行が増えとります。ここで、声の合図で送る宛先を1つ選びます。

  • 最初に出るのは、前回の開始シートで選んだ宛先。初めてなら設定の1つ目
  • 「指定しない」も選べる。その会議では、合図に反応せえへん

録音中に「アバンティ」と話すと、その宛先へ会話を送ります。送る文面は、その宛先の手動実行シートと同じどす。初期値は設定の initialPrompt で、シートで書き換えると、その後の合図にも効きます。

合図を受け付けると、すぐに短い高い音が鳴ります。AIの起動や聞き取りの確定は待ちまへん。

  • 受け付けたあとで送れへんかったときは、短い低い音が続けて鳴る
  • 宛先が準備中や接続できへんときは送らへん
  • 一度送ったあと10秒のうちの合図は、聞き流す。言い直しで二重に送ることはおへん
  • 合図の発話も書き起こしに残り、AIへも送られる
  • システム音声を取り込んどるなら、相手側の声でも合図になる
  • 手入力の文や、2つの行にまたがった合図は拾わへん

フッターの「手動」から手動実行シートを開いて送った場合は、その宛先が会議の手動の宛先に切り替わります。以後の「アバンティ」も、そっちへ送ります。別の宛先へ送りたくなったら、シートで選び直して送ればええ、というわけどす。

なんで「アバンティ」なんか

イタリア語の Avanti で、「進め」という意味どす。会話に自然には出てこうへんこと、短いこと、日本語の文字起こしでほぼカタカナで出ること。この3つで選びました。

開発の途中では、「しおりを挟んで」にしとった時期もありました。けど長いし、日本語やと聞いた人が「どういうこと?」と反応してしまう。外国語の短い合言葉を何個か、タダシが実際の声で試して、いちばん認識が安定したんがアバンティどした。

  • 既定では「アバンティ」と「アヴァンティ」の2つの書き方を拾う
  • 「アバンティー」と伸ばして書き起こされても拾う
  • 句読点や空白の有無、カタカナと半角カナの違いは揃えて比べる。発話の途中でもかまへん

合図は設定で変えられます。[[speakers]] や [[ai]] より前に書いておくれやす。

toml
autoSendPhrases = ["アバンティ", "アヴァンティ"]

autoSendPhrases = [] にすると、合図は無効になります。変更は「設定を再読込」のあと、次の会議から効きます。

最初は、自動送信を声で起こすものやった

この合図、最初は自動送信の「今すぐ送る」を声で起こす機能として作りました。

けど使い方を詰めていくうちに、送りたいものが2種類あると分かってきたんどす。ボードのように、会議の間ずっと少しずつ更新してほしいもの。議事録やスライドのように、話がひと区切りしたところでまとめて直してほしいもの。前者は自動送信に任せておけばええ。合図が欲しいんは後者のほうどした。

それで、合図は自動送信とは別の「手動の宛先」へ送る形に改めました。この使い分けは、最後の「おすすめの使い方」で詳しく書いとります。

作業中のAIへ、声で追記する

AIが作業しとる間に、言い足したいことが出てくるのはよくある話どす。これまでは、返事を待っとる宛先へは送れへんで、作業が終わるまで待つしかおへんでした。

今回から、宛先が返事待ちのときに「アバンティ」と話すと、作業中の依頼へ追記として送ります。手動実行シートのボタンも「追記して送る」に変わるので、文字で足すこともできます。

  • 送るのは、前回送ったところから後の会話と、シートの文面
  • 作業の許可は、元の依頼を引き継ぐ
  • 返事待ちの行は1つのまま、「追記 N件」と出る。進行の表示もそのまま進む
  • 返事が届くと、どの追記を反映したかが番号で分かる
  • AIが反映しきれへんかった追記は、次の依頼へ自動で送り直す
  • 自動送信で始まった作業にも追記できる
  • 追記した中身は、会議のMarkdownにも残る

いちばん下の行に、追記ごとの扱いが出とります。反映しきれへんかった追記は、どの依頼へ送り直したかが分かります。

声で答えたら、「要返答」が消える

AIは、分からんことがあると確認を返してきます。その行には朱の「要返答」が付きます。

これまでは、行の「返答する」から文章を送らんと、要返答は消えへんかった。要返答が残っとる間は、自動送信も止まっとりました。実際には、確認には声で答えて済ませたい場面のほうが多いもんどす。

今回から、要返答があっても自動送信は止まりまへん。毎回の送信に答えてへん確認を添えて、会話の中に答えがあるかを、AIに確かめてもらいます。確かめるのは、次の自動送信・手動送信・声の合図のどれかのとき。

  • 答えが見つかった確認は「声で返答済み」になる。朱の地色と帯が消えて、本文の下に話者・時刻・答えの短い引用が残る
  • 答えが会話に無ければ、「要返答」のまま残る
  • AIへ送らずに片付けたいときは、「返答する」の右の「返答済みにする」を押す
  • 返答済みになった確認は、フッターの要返答の件数から外れる

下から順に、答える前の「要返答」、声で答えた後の「声で返答済み」、ボタンで片付けた「返答済み」どす。

自動と手動の宛先が、フッターに出る

声で送るなら、いまどこへ送られるんかが見えてへんと落ち着きまへん。フッターの左端にあったロボットのボタンを外して、上段「自動」・下段「手動」の2つのボタンにしました。

この写真は、自動の宛先が返事を待っとるところどす。返事を待ってへん間は、「実行中」の位置に次の送信までの残り時間が出ます。

  • 各段に、宛先のアバターと名前が出る。窓が狭いと名前の末尾を「…」で省く
  • 自動の段の右端には、次の送信までの残り時間が出る
  • 準備中と返事待ちのあいだは、その段が朱で塗られて「準備中」「実行中」と出る
  • 自動送信を止めとると「送らない」、手動の宛先が無い会議では「指定しない」が、薄い字と破線の枠で出る

自動の段を押すと、「今すぐ送る」「自動実行解除」のメニューが出ます。手動の段を押すと、手動実行シートが開きます。

ボードが、図1枚のキャンバスになった

ボードは、会議の論点をAIがMermaidの図にまとめてくれる、議事録ペインのタブどす。今回、図1枚だけをペインいっぱいに出すキャンバスに変わりました。

これまでのボードは、図・立場・直近の動きの3つが縦に並んどりました。論点が増えて図が混み合ってくると、全体図と詳細図に分かれることもあった。けど分けると、分けた先の図では全体のどこの話かが分かりにくい。どこで分けるかの目安も、一概には決められまへんどした。

それなら、図は1枚のまま大きく出して、見たいところへ寄って見ればええ。そういう考えで作り直しました。

ズームとドラッグで動かす

  • 最初は、図の全体が見える倍率で出る。小さい図は200%まで大きく、大きい図は25%まで小さくする
  • ピンチで拡大縮小、ドラッグか2本指スクロールで移動。図を選ばんでもそのまま操作できる
  • 右上の「− 倍率 + 全体 戻す」はいつも出とる。「全体」で、最初の全体が見える倍率へ戻る

ミニマップで、いまどこを見とるか分かる

図が枠に収まらへん間は、右下にミニマップが出ます。図の全体と、いま見とる範囲が分かります。

  • 文字は省いて、論点のカードの色と線だけを写す
  • クリックかドラッグした場所へ、表示が移る
  • フォーカス中の論点に重なるときは、ほかの隅へ逃げる

論点にフォーカスして、更新が来てもそのまま見る

論点をクリックすると、その位置のまま、墨色の四隅の印で目立たせます。もう一度クリックすると、議事録の対応する見出しへ移ります。Escか図の余白のクリックで外れます。

寄って見とる間にAIが図を書き換えても、見とる場所は動きまへん。

  • フォーカスした論点があれば、その論点の位置と倍率を保つ
  • フォーカスが無ければ、見とった範囲の真ん中に近い論点の位置を保つ
  • 全体を見とったなら、新しい図の全体が見えるように合わせる
  • 新しい図ができるまでは、前の図を出したまま操作できる

検索と、却下した論点の色

ボードタブで⌘Fを押すと、「ボードを検索」が開きます。論点の文字を探して、見つかった論点を真ん中へ寄せてフォーカスします。

却下した論点は、淡い赤と点線の枠になりました。決まったことと、却下したことが、図を見ただけで分かれます。

議事録タブの図も、選んで動かせる

議事録タブにあるMermaidの図も、クリックで選ぶと紫の枠と手のひらのカーソルが出て、ピンチとドラッグで動かせます。倍率は25%〜400%。Escか図の外のクリックで、ペインのスクロールへ戻ります。

ボードの細かいところは、こちらにあります。

https://tadashi-aikawa.github.io/kikigaki/docs/minutes-and-board/

そのほかの改善

文字の大きさを、⌘+ / ⌘-で変える

書き起こしウィンドウの文字の大きさを変えられるようになりました。「表示」メニューか、ショートカットキーで変えます。

操作 キー
文字を大きく ⌘+
文字を小さく ⌘-
実際のサイズ ⌘0

  • 80%〜200%の8段階
  • 日本語配列なら⌘;、US配列なら⌘=でも大きくできる
  • 大きくなるんは、発言・投稿した手入力・AIの行と、議事録ペインの議事録・ボード・目次
  • 手入力欄や録音の操作など、操作する人だけが見る文字は変わらへん
  • 次に起動しても、前回の大きさのまま。保存する文章には影響せえへん

大きくするんは、画面を囲んで一緒に読む人のためどす。なので、みんなで読むところだけを大きくしとります。

これはBlueskyで、hann-soloさんからもろた声がきっかけどした。

https://bsky.app/profile/hnsol.bsky.social/post/3mxlziv2pz22f

実はタダシ、最初はこの対応だけ入れて出すつもりやったそうどす。それが手を動かしとるうちにアイデアが次々湧いてきて、気づいたらこれだけの版になっとりました。hann-soloさん、おおきに。

ほかにも

  • 議事録とボードのコードブロックを、右上のアイコンからコピーできる
  • 自動送信の間隔に、15・30・60・120分が増えた。設定の autoIntervalMinutes も1〜120分になった
  • kikigaki-cli next add に --manual を付けると、予約した会議の手動の宛先も決めておける

ウチのおすすめの使い方

今回いちばん伝えたいんは、ここどす。自動送信と手動送信、どっちに何を任せるか。

自動は「ずっと追いかけるもの」、手動は「区切りで直すもの」

自動送信 手動送信
送るとき 決めた間隔ごと 「アバンティ」と言ったとき、シートから送ったとき
向いとるもの いまの話にずっと追いついていてほしいもの 話がひと区切りしたところで、まとめて確かめたいもの
例 ボード。いまの話を追いたい議事録 区切りごとにまとめる議事録、スライド、記事
宛先を選ぶ場所 開始シートの「自動送信」 開始シートの「手動送信」

ボードは、話が進むたびに少しずつ追いついてくれたら十分どす。いま話しとることを追いかけたい議事録も、こっちでかまへん。自動送信は、会話に変わりが無ければ送らへんので、回しっぱなしにしといてええんどす。

議事録でも、話がひと区切りしたところでまとめて、それを皆で確かめたい会議のほうが多いもんどす。スライドや記事も同じ。数分おきに勝手に直されると、どこが変わったんか追いきれへんようになる。話がまとまったところで、自分の間合いで「アバンティ」と送るほうが、変わったところを確かめやすいんどす。

タダシは、自動送信をボードに、手動送信を議事録やそのほかに、というのを基本にしとります。

例: 会議でボードを回しながら、区切りで議事録をまとめる

開始シートで、自動送信をボードの宛先、手動送信を議事録をまとめる宛先にして始めます。

  1. 会議の間、ボードは自動送信で勝手に育っていく
  2. 1つの議題に区切りがついたら、「アバンティ」。そこまでの話を議事録にまとめてもらう
  3. AIがまとめとる間に言い足したくなったら、もう一度「アバンティ」。作業中の依頼へ追記される
  4. AIから確認が来たら、声で答える。次の送信のときに、AIが会話から答えを拾って返答済みにする
  5. まとまった議事録を皆で読んで、直すところがあれば話して、また「アバンティ」

PCに触るのは、録音を始めるときと止めるときだけで済みます。

例: 読んで、話して、記事を仕上げる

手動の宛先を、記事を書くAIにしておく使い方もあります。下書きを画面で読みながら、気になったところを口に出して、言い終わったら「アバンティ」。

この記事が、まさにそれどす。手動の宛先はウチ。タダシが下書きを読んで話した指摘を受け取って、ウチが直す。その往復を声だけで回しとります。

ほかの作業をしながら、声で頼む

AIエージェントやツールにも、音声入力が付いとるもんはあります。けどたいていは、その入力欄にフォーカスしとる間しか声を拾いまへん。

KIKIGAKIは、どのアプリが前面にあっても、録音中はずっと声を書き起こしとります。そのうえ「アバンティ」で、その場で送れる。せやから極端な話、手と目はまったく別の作業に使いながら、声だけでもう1つの作業をAIに進めてもらえるんどす。

タダシも、これは今回の機能を入れてから初めて体験したことやそうどす。

おわりに

v0.15.0で変わったことを、まとめておきます。

  • 「アバンティ」と話すと、開始シートで選んだ手動の宛先へ送る
  • AIの作業中に「アバンティ」と話すと、作業中の依頼へ追記として送る
  • AIからの確認には声で答えればええ。AIが答えを拾って返答済みにする
  • フッターの「自動」「手動」の2段で、いまの宛先が見える
  • ボードは図1枚のキャンバスになった。ズーム・ミニマップ・フォーカス・検索で見る
  • ⌘+ / ⌘-で、みんなで読む文字の大きさを変えられる
  • prompt は alwaysPrompt へ、autoPrompt は initialPrompt へ名前が変わった

おすすめの使い方でも触れたとおり、この記事もKIKIGAKIの上で、タダシとの声のやりとりだけで仕上げました。構成の相談も、下書きへの指摘も、全部声と「アバンティ」どす。

会議の間、手はもう空けといてよろしおす。