#kintone100日チャレンジ Day060:基本機能に欲しい!定番の「文字数カウンタープラグイン」にAI要約をつけてみた
面倒解決エンジニアの森田ユウゴです。
台湾からお届けする「#kintone100日チャレンジ」の60日目。
久しぶりにnoteに戻ってきました。
Day20ぶりなので、40日ぶり…。
各種ブログサービスの使いわけを試していて、結局Zennが一番使いやすい。でも100日チャレンジは「技術ブログ」とは違うのでnoteくらいがちょうどいいのかな…という気持ちの問題で選定しています。
本日は、広報担当者やデータ入力スタッフ向けの「文字数カウンタープラグイン」を開発しました!
「文字数カウンタープラグイン」について
🎯 なぜ開発したか?(現場の課題とベネフィット)
現場の「不」: すでに市場には無料・有料問わずいくつかこのようなプラグインがあることからわかるとおり、kintoneの複数行テキストフィールドには標準で文字数をカウントしたり、入力上限を設けたりする機能がありません。そのため、決められたフォーマットがある際に「保存ボタンを押してエラーが出てから文字数を削る」「別のツールで文字数を数えてからコピペする」という無駄な作業が発生しがちです。
導入後の世界(ベネフィット): リアルタイムで入力文字数を把握できるようになり、文字数超過のストレスから解放されます。今回は定番の機能に加え、指定文字数を超えた場合はAIが自動で要約・短縮してくれる機能を気持ち程度につけてみたので、手作業で文章を削る時間も削減できます。
✨ これで出来ること(機能概要)
まずはこちらをご覧ください。
リアルタイム文字数カウント機能: フォーム上の「スペース」フィールドに、対象フィールドの現在の文字数をリアルタイム表示します。全角・半角・改行・最長行などの内訳も細かく確認可能です。
文字数上限・警告チェック機能: フィールドごとに「最大文字数」と「警告割合(%)」を設定可能。上限を超えると保存時にエラーを表示し、データの品質を担保します。
AI連携による「おまかせ要約」機能(おまけ): GASのAIプロキシを経由し、文字数が上限を超えた際に「要約」ボタンが出現します。クリックすると、AIが意味を保ったまま指定文字数以内にテキストを短縮してくれます。
課題
現時点では下記のような課題が残っています。
アクセスキーの保存先に関するセキュリティ懸念
今回の実装ではAIプロキシへアクセスするためのキーをプラグインの設定画面に入力し保存しています。しかし、kintoneセキュアコーディングガイドラインにおいては、kintone.plugin.app.setConfig()(プラグインの設定)への認証/認可情報の保存は、一般ユーザーが閲覧できるフロントエンドに露出するため推奨されていません。本番運用する場合は、隠蔽用のプロキシAPI(kintone.plugin.app.setProxyConfig())を利用するため中継サーバーが必要です。
AIの文字数カウント精度のブレ
生成AIは日本語の厳密な文字数カウントを苦手としています。そのため、一度の要約で上限内に収まらないケースを考慮し、裏側で「最大3回まで再帰的に短縮処理を依頼する(リトライ処理)」という力技を実装しています。
標準機能への渇望
文字数カウントは非常によくある要件であり、競合プラグインも多数存在します。これだけ市場に需要がある機能なので、やはりプラグインを入れるまでもなく、本来はkintoneの基本機能として備わっていてほしいですね。
さいごに
明日もお楽しみに!
下記のブログもご覧ください!
👉 【#kintone100日連続チャレンジ】AIにkintoneカスタマイズを100%任せたらどこまでいけるか?現役フリーランスの「100 Days of kintone Hacks」始動!
