見出し画像

カードに追加されたWebHookを通じて生成AIボットと連携する

v2.9リリース

Essential Workwareの新しいバージョンであるv2.9をリリースしました。App StoreもしくはGoogle Playを通じて入手もしくは更新可能です。

製品名称の変更

今回リリースバージョンまでは従来のまま「Essential Workware」という製品名ですが、今後は製品名称を変更します。会社名と同じ「ClipCrow」が新名称です。経緯と詳細は以下のとおりです。

  • 汎用な製品設計を重ねた結果、必ずしも生活必需産業(Essential Work)のみをターゲットとするものではなくなってきた。WEB版の準備も進み、今後は全産業向けに展開する。ただし生活必需産業固有の要件として、モバイルプラットフォームにこだわり、スマホだけで管理者機能も完結させてきた設計は今後も続ける

  • 会社名と製品名を合致させることで、当該製品へのコミットメントを市場に向けてアピールする

  • 製品の課金をはじめる直前である、いまのタイミングが製品名変更を行うのに適当であると認識した

  • 製品の改修やWEBの記載変更は順次行っていく。完全に変更完了するのは次々バージョンであるv2.11(2025.1.14ストア申請予定)を想定している

ゲスト権限ユーザーの情報可視範囲を制限する-DAO対応機能(3)

フリーミアムでは提供していませんが、Essential Workwareは既にユーザーの権限を複数選択肢より適用できるようになっています。この機能はワークスペースを有償化することで利用できます。フリーミアムの場合は潜在的に全員が管理者である状態ですが有償化すると、ユーザーに「管理者」「スタッフ」「ゲスト」から選択して権限付与し、それぞれ利用できる機能範囲や情報の可視範囲が変化します。
現時点ではオンラインで有償化するための契約・課金の用意ができていないことから、直接プロフェッショナルサービスや周辺SIをご提供させていただいている場合にのみの提供ですが、次の四半期内にオンラインでの契約・課金をシステム的に実装して広く公開する計画です。

今回のリリースでは、案件対応として進めているDAO連携実現の一部で、全てのカードにゲストにも可視とするかどうかのオプトイン設定を行わせるようにし、v2.7でリリースしたグローバルナビゲーションのユーザーごとの設定(これはフリーミアム範囲でも利用できます)に組み合わせて、同じワークスペースの中で立場が異なる人々が立場に応じた程度の情報共有をできるようにしました。
医療従事者と患者との間でインフォームドコンセントの補完をおこなったり、製品ベンダーとその顧客との間でサポート業務をEssential Workwareのワークスペースに乗せていくということなどが利用ケースとして想定されます。

DAOでは、地域創生で観光や治安、防災、相互扶助などのテーマをもって多数の市民で協働することとなります。取り組みに参加するのが必ずしも働き盛りの健常者とは限らず、高校生など未成年であったり、高齢者や障害者であったりすることもあります。そのときに参加者の家族や保護者とも情報共有をスムーズに行わせたいという要望がありました。一連のリリースで対応してきたワークスペースにゲストを迎え入れる機能は、組織nに対する個人1ではなく、n対nの情報共有関係を柔軟に構築できるようにすることを目標としています。
DAO対応でもうひとつの大課題は、背後のスマートコントラクトサーバーと連携して、参加者の成果を正当に評価する仕組みの構築です。貢献の報酬としてトークンを付与するため、Essential Workware側から常に状態の変化を外部に通知して連携する仕組みが求められました。

外部連携でのWebHook定義、カードへの追加

これまでも用意していた外部との連携機能のアーキテクチャを見直して、今回のリリースで新しいWebHookを提供します。このWebHookは前述のDAO連携案件でスマートコントラクトサーバーにタスクの完了と完了からの差し戻しを取りこぼし無く即時に通知するため必要となったほか、より需要の高そうな応用として生成AIボットの組み込みが、また別の案件から示唆されました。

昨今のLLMやRAGの急速発展により、生成AIボットを組織内展開して生産性を上げたい、DXしたい、という引き合いが急増しています。PaaSで提供されるクラウドLLMを活用して割とすばやく手間なく高度なボットを実装できるようになりました。
これまでは一番たいへんだったボットが流暢な自然言語で有用な内容を喋るところはLLMの民主化パワーによって容易になっても、ユーザーが自然言語で何か入力して結果を得るためのNLUI(Native Language User Interface)は自前で別途に用意しなければなりません。利用者の認証も必要であれば出力結果の保存やその後の検索などそれなりに機能が要求されてきます。

Essential Workwareはこの生成AIボットがNLUI、つまりはチャット画面を必要とするところにソリューションを提供します。ボットの本体は個別に構築されるとして、そのクライアントとなるチャットを、やはり労力少なく即座に開始できるようにチャット画面で発生したイベントをWebHookを通じて外部サーバーに連携させる仕組みを用意しました。これはタスクの状態を連携させる機能とほぼ同じものです。Essential Workwareはタスクを実現するカードが背後に必ずチャット画面を持っていることから、極めて合理的な設計が可能となったのです。

外部連携は、API利用のためのスコープとトークンを管理し、WebHookの定義を保持する役割を持ちます。ここまでは従来よりある機能ですが今回はこの外部連携をユーザー(=人間)と同様にカードのファシリテーターに登録できるようにしました。高度に発展したボットは人間と見かけが変わらなくなるという予想より、外部連携設定をユーザーとほぼ同じ概念として捉え、ユーザーと見かけが同じように振る舞うようにUI上の演出を行っています。

DAO連携ではタスクの状態変化でWebHookが発火させていて、生成AIボットとの連携ではチャット上でのメンションをきっかけにWebHookを発火します。メンションの作法は他のユーザーに対して行うのと同じで、まさに外部連携を人のように扱っています。
WebHookは指定された外部サーバーのエンドポイントURLに対してPOSTでイベント時のコンテキストを送ります。操作ユーザー・当該カード・ワークスペース・外部連携の設定内容とイベントデータであるチャットメンションの内容やタスクの状態ログを含むので、受け取った連携先サーバーでは状況に応じたコンテンツの生成や対応動作を実装することができます。

NEXT

今回機能はアーキテクチャの大きな変更を伴って開発に手間取り、予定よりも3日遅れのリリースとなりましたが、次のバージョンはその分スプリントを短縮して巻きをいれ、当初のスケジュールどおりに12/23にストア申請を行う予定です。
現時点ではWebHookもフリーミアムでは提供していない機能なのですが、前世紀の米国のゴールドラッシュで49ersがカリフォルニアに殺到したときリーバイスが鉱山町でジーンズを売ったように、生成AIボットブームで皆がボットを作る傍らでクリップクロウはNLUIを提供すべく、次のバージョンでWebHookの機能をフリーミアムに開放する予定です。

リリースノート

  • ナビゲーション

    • アップデート後の再起動時に言語設定が継続しなくなっていた不具合を修正する

    • 2レーン表示の画面サイズでデバイス画面を表示したときの不具合を修正する

    • ホームのサブ画面でフィルターを操作した結果、リストに表示するカードがなくなったときの表示

    • ワンアクションで値を設定しているダイアログを値設定後に「適用」ボタンを押すスタイルに戻す

    • 未保存で遷移しようとしたとき、注意喚起のため、戻るアイコンを警告色表示へ変更する

  • カード

    • カードに並んだ項目をドラッグして順番を変更するとき、項目を掴みやすいようにUIを改善する

    • カードの報告項目で必須としたチェックボックス型の項目の動作の不具合を修正

    • ゲスト権限ユーザーの情報可視範囲を制限する

    • 外部連携を、カードのファシリテーターとして追加できるようにする

    • カードのActionログを条件のあったユーザーへ通知する

  • タスク

    • 「期限日を変更」ボタンの表示の制限だった担当者条件を廃止し、皆が変更できるようにする

  • チャット

    • 上部のツールバーをダブルクリックするとチャットの最初に飛ぶ操作を用意

  • タグ

    • タグ設定画面の詳細仕様をゲスト機能への対応で改修する

  • 外部連携

    • イベントを監視したいカードにユーザーが個別にWebhookを組み込むようにする

    • WebHookの発信時には、ワークスペース・カード・外部連携・ユーザーのメタ情報を添えて引き渡す