あれ
あれ
2023年11月16日日記
昨日、狂ったようにプログラムを書いた反動で頭がうまく働かなかった。knownetでAPIを叩いている部分をNext.jsのServer Actionで置き換えようとしたが、理解が足りずにうまく動かずにいる。3000行ほど書いたけど全部捨てよっか。
とりあえず、AmplifyのGraphQL APIを叩くにおいては認証(認可?)でnext/headersを使わずにdocument.cookieを使った方が良いということがわかった。next/headersを使うと、Server Actionの呼び出し元のComponentに始まり、すべての呼び出し元となるComponentをServer Component(RSC?)にしないと動かなくなってしまう。しかもそれが連鎖するので影響範囲がでかい。地獄。サンプルでnext/headersを使うのをやめろ。
副業の受注が確定した。コンペで競合がつよつよエンジニア出してきてたらしいけど、私が勝った。イエーイ。単価が安すぎる説はある。
Cartesian Genetic Programmingで文章の類似度を学習をやってたこととかを伝えたのが効いたのだろう。怪しい研究はしておくものだ。怪しさ故に「やっとるな」って感じが出て良い。もちろんBERTのファインチューニングみたいな王道についてもやったことがあることを伝えておいた。
なんか大学の研究室で客員研究員をやらせてもらえそうな感じになっている。副業先への仲介をしてくれる会社の社長が、大学で教授をやっており、「どう?」という感じで声を掛けられた。縁やわ。大学行き直したいとか思っていたので、渡りに船だ。特に今の会社をやめる必要もなく、研究成果が出たら論文を出して博士号とろうぜという感じらしい。無職になって学費を払って大学に行くことを考えていたので、そんな都合の良いことをやっていいんだとなった。今までよくわからんものを作ってきたのが論文にできるかもしれない。
夕飯のあと、どうも物足りなかったので、買い置きたる栗を食べた。焼き栗のつもりで食べたら生だった。生でも甘みが感じられる。すごい。15分焼いたら半生だった。45分ほど焼いたらそれなりになった。そうこうしているうちに満腹中枢が刺激され、物足りなさは消えていた。
2023年11月14日日記
朝
特に記憶に無いです。
仕事
「Next.jsを使えば忌々しいAmplifyのDataStoreを無くせるんじゃね?」とか思って、社内システムの移植を開始した。もともとReactで動いていたので、3時間ほどでシステムがNext.jsの上で動くようになった。Next.jsの恩恵が受けられるのはこれからだ。
夜
「Next.jsを使えばBERTでSentence Embeddingを取るAPIをサーバーレスでつくれるんじゃね?」とかおもって実装した結果、比較的高性能な開発機であっても計算に3秒もかかることがわかり、検索には使えず無事死亡した。
デライトが落ちていた
「あれ」ってどんなんだったっけと思って、デライトで検索しようとしたところ、デライトが落ちていた(障害のお知らせ)。普段当たり前のようにデライトが使えているが、knownetの開発を通じてデライトが安定稼働していたことの異常さに気付きつつある。knownetの方はちゃんと動いている期間のほうが短い。
探そうとしていた情報については『t_wの輪郭』を参照して見つけられた。いざというときの保証として機能してくれた。
2023年11月13日日記
knownetが盛大にバグっていた。
無限にReactのレンダリングが走り、検索は動かずという状態だった。「何を見てたんだ?」とは思うものの、コードの変更において焦点外の箇所に波及してバグると、気づくことが非常に難しい。まじでコレを保守するの無理な気がしてきた。質的難易度が非常に高い。
自動テストをやったほうが良いのはわかっているが、自動テストがどうも導入しづらい。
Embeddingの類似度に基づいて関連付けの候補を出す機能 だの 検索結果から投稿を選んだ際に非表示の関連付けをつけて検索結果を強化する機能 だのを追加したいのだが、もはや認知的攻勢限界に達しており、これ以上機能を追加することは考えられない。バグが生まれる可能性が極めて高い。しばらくは理腑やバグつぶしに徹したい。もう少し難易度が下がってきたら機能追加を考えよう。
knownetのデータ変換コマンド2023年11月11日
aws dynamodb scan --table-name "Relation-cjmawb5ph5bldaq5adhzqfmvw4-staging" --attributes-to-get "id" | jq '.Items[].id.S' | xargs -P 20 -I{} aws dynamodb execute-statement --statement "UPDATE \"Relation-cjmawb5ph5bldaq5adhzqfmvw4-staging\" SET _version=0 SET _lastChangedAt=0 WHERE id='{}'"
2023年11月7日日記
日記を書く時、大体「何やってたっけ」って書いてから書き始めている。
健康診断
健康診断に行ってきた。健康診断の予約をしたら保険証のコピーをFaxで送れと言ってきたので、そんな時代錯誤なところなら空いているだろうと推量していったところ普通に混んでいた。ワーオ。
特に深く考えずに生活習慣病予防健診にしたのだが、人生初のバリウムを飲むことになってしまった。不味い不味いと聞き及ぶため、うわ〜〜と思いながら飲んだのだが、さほど不味くはなかった。時代の進歩とかで不味くなくなったのかもしれない。バリウムを飲んだ後は胃全体にバリウムを付着させるために、機械でグルグルされた。バリウムメリーゴーランドや。
昼食にホルモンラーメンを食べた
健康診断で絶食だったため、バリウムしか飲んでおらず、健康診断後は相当に空腹だった。前から気になっていた近所のホルモン丼屋さんを覗いてみたが、行列だった。諦めた。また今度行きたい。
仕方がないのでコレまた気になっていた近所のホルモン焼肉屋に行ってきた。昼はホルモンラーメンを提供している。ラーメンの提供は昼だけで、昼に店が開いているのは平日だけなため、非常にレアというか、食べに行ける機会が殆どない。
そういうわけで食べに行ったところ、ホルモンラーメンは非常に良かった。焼肉屋が片手間で作ってるんだろうと侮っていたがちゃんと美味しいとんこつラーメンで、その上に専門店らしく質の高いホルモンが乗っかっていた。コレで1000円なのだから、利益出て無いでしょって味だった。
当然この店も盛況で、私が店に入った後には次々に近所の会社の従業員たちが現われ、相席となった。最近相席をすることが多いな。
knownetの開発
相変わらずナレッジベースのknownetの改良をしている。ネチネチと。
検索フォームがコンテンツに重畳して表示する形式としているが、なんか気になったので、下にスクロールしたら隠れて、上にスクロールしたら現れるというのを試してみようとなった。メチャクチャ大変だった。
出したり隠したりの実装はすんなり行ったのだが、フローティング的にフォームをコンテンツの上に重畳して表示しており、色も煮ているのでどうにも識別に何がある。せっかくなので今っぽい感じにしようと思い、AppBarから白帯が出てくるタイプのUIにしようとしてしまった。そうしたところ、Chromeで表示したときにスクロールバーの箇所に白帯が表示されないというレイアウト崩れが発生した。散々、あれこれこねくり回したり、愚痴ったりしたが、どうやら解決方法はないようで、諦めてフローティングでの表示に戻してしまった。
フローティングで表示するならいい感じの角丸にしたいと思った。これも大変だった。検索フォームのUIパーツとして、Amplify UIのSearchFieldというやつを使っているのだが、こいつが角丸にすると外枠の線がおかしなことになる。Styleを直接当てるのが悪いのだろうと推量してThemeProviderを使ったが、コレもうまくいかない。同仕様もないので、検索フォームを自作する羽目になった。コレだから他人のライブラリを使うのはダメなのだ。
最終的になんとか形になったので、デプロイしておいた。だんだんマシな見た目になってきたと思う。
日記
今日も日記を書いている。だんだん文章を書く感覚が戻ってきた。あるいは文章を書く忌避感が消えてきた。
その日にやったことの統括としては、なるべく遅い時間に書いたほうが良いのだが、多くの人に呼んでほしいとか言う欲を出すと、ちょっと早めに書いて出したほうが良いのかもしれない。
2023年11月6日日記
『t_wの輪郭』からIMEに単語登録
朝から『t_wの輪郭』をいじっていた。IMEに単語登録するためのファイルを出力していた。まだデライトの投稿を取り込み切れていないので、ぜんぜん登録できる単語が集まらない。もうしばらくしたら取り込みが進むはずなので、明日また様子を見たい。
会社用のknownetに日本国憲法の全条文を投入
knownetを会社用にデプロイしており、コレの業務利用のデモンストレーションのために、日本国憲法をデータとして取り込んでいた。文章内に出現する各単語に対しては、ちゃんといい感じに関連付けるようにしてある。この作業は本当に良い勉強になった。「国権」が「国の権利」ではなく「国の権力」であることを知ることができた。そんな感じで午前は終わった。
昼休憩を使って郵便局にて手続き
郵便局に転居・転送サービスの届け出を出してきた。これを出すのはもっと早いほうが良かった。他の住所変更の何より先にやっても良いぐらいだった。何しろ、旧居への郵便が新居に転送されるのだから。
午後で本業をやっつける
毎日、上司との進捗報告があるので、ガガガッとBacklogのチケットを一つやっつけた。チケットを一つこなしておくとやった感が出る。
頭の調子が良いと本業がおろそかになって、逆に進捗が悪くなる減少がある。
しごおわの後に通院
恒例の通院。「調子いいっす」、「次回薬減らしましょうね〜〜」、終わり。
まじで調子が良いので、もう通院しなくても良いんじゃなかろうかとは思うものの、保険的に通院を続けている。不調が再来した場合にすぐに相談できる態勢を持っておきたい。
通院の後にトリキに行ってビールを飲んで移動の手間を償却した。
トリキで食べすぎたので散歩した
何駅か歩いた。30分は歩いた。
高級住宅街を突っ切る。景観が良い。公共の福祉って感じだ。治安が悪くなったらゲーテッドタウンが増えるんだろうか。そうなると散歩ができなくなる。治安大事。
徒歩のまま高輪ゲートウェイ駅に到着。高輪ゲートウェイ駅に来たのは初めてだったが、めちゃくちゃ作りかけって感じだった。でかい箱の中にとりあえず駅の機能だけがある感じ。
帰宅してknownetの検索機能をいい感じにする
意味的接続による検索の順位付けを思いついたので、実装してみている。実装してみたは良いものの、実験するデータがない。手元のknownetにはろくすっぽデータが入っていない。日本国憲法いれてぇ〜〜〜。めんどくせぇ〜〜〜。
あれ
knownetで他者による編集結果がちょっと遅れのリアルタイムで反映されるわけだが、クソである。
クソである。
どうクソかというと、投稿が編集順で並んでいるわけであるが、編集するとその投稿はページ上部に移動する。あなたが投稿を少し書き換えると、直ちにその投稿がページ上部に移動する。編集を続けたいにもかかわらず、投稿はあなたの視界から消え失せる。
あれ
knownetの曖昧検索
当初ベクトル検索を用いようとしていたが、検索速度や精度に問題が有るため取りやめた。
現在は検索語を分かち書きして、検索語を構成する句を含む投稿を取得、さらにその投稿と紐づく投稿を取得し、投稿のEmbeddingと検索語のEmbeddingのコサイン類似度で並び替えしている。
Embeddingの取得にはAmazon Bedrockを使っている。
knownetの2023年9月30日アップデート
- knownetの検索をアップデート
- Sentence EmbeddingをALBERTからAmazon BedrockのTitan Text Embeddings v2に変更
- 検索結果としてSentence Embeddingの類似順で100個だしていたのを、なんかいい感じに変更
- URLを変更
- 新URL: https://main.d3qyy5iftduw62.amplifyapp.com/
- 旧URL: https://stg.d3qyy5iftduw62.amplifyapp.com/
- バックエンドは同じなので投稿データはそのまま引き継がれている
- いい加減にドメインを割り当てたい
knownetを提案する文章のアウトライン
- パワーシフト:権力の源泉が知識へと遷移
- 物的力・物的資本からの遷移
- Apple:工場を持たない
- Uber:車を所有しない
- Google検索:書き手を所有しない
- 情報爆発に企業は取り込まれる
- 情報の微細化の影響
- 社会予測の精度向上
- 情報のロットサイズを小さくする
- 人間の情報処理能力がボトルネック
- 物的力・物的資本からの遷移
- 社会変化の加速
- ソフトウェアが世界を飲み込んだ
- 社会のソフトウェア化によって、社会がムーアの法則に従って変化する
- 非線形な世界の予測不可能性
- 絶えざる組織改編
- 会社組織にもソフトウェア的な変化が必要
- 逆コンウェイの法則:システムが組織構造を規定する
- Teamsのチームの限界:チームのゾンビ化
- 既存のアプローチの限界
- 階層構造の限界
- 「カレーうどん」は「うどん」か?「カレー」か?
- 硬直化した階層構造は現状を打破する発想を拒む
- Wikiの限界
- Teamsの限界
- 階層構造の限界
- 提案:多重階層型情報システムknownet
- 多重階層型情報整理
- 抽象と具象を行き来する
- 抽象と具象のジグザグな連想による知識の水平拡大
- 抽象と具象を行き来する
- ネットワークによる情報整理の効能
- 情報を辿れば目的の情報が見つかる
- 予測不可能な情報との接触
- 「友人の友人がアルカイダ」
- 一つのページが一つのチーム
- 分単位の組織改変
- 「ちょっと立ち話」のシステム的実現
- 分単位の組織改変
- 効率的な知識創造(よく考えるには?)
- 情報処理のCODE: Capture/Organize/Distill/Expressで情報を貯める
- 多重階層の弁証で知識を生産する
- 多重解消は抽象から具象を見渡し、対立の発見を促す
- 対立の解消は知識生産
- 多重階層型情報整理
あれ
knownetにベクトル検索を組み込みたいけど、週末にがっつり取り組まないと無理そう。
knownetにベクトル検索を実装
あれ
Power Virtual Agentsを触ったのだけど、なんかこう……デライトでいいじゃんってなった。
結局チャットボットはナレッジベースの一形態でしかなくて、「質問の提案」みたいなことをしてくれるが、それって階層構造的だよねという話。
knownetを推したいが、まだ運用体制とか整ってないので、まだその時ではない。いや、いい加減推していった方が良い気はしてきている。
あれ
knownetを社内に広めるにあたって、細かい理論はあえて説明しない(記述しない)という戦略を思つく。説明することで、「分かってないと書いてはいけない」みたいな考えになりうる。
ちょっとわかりにくい所に説明を置いておくぐらいでもいいかもしれない。
利用者の理解度に合わせてちょっとずつ開陳していってもいいかもしれない。
『As We May Think』のような、材料だけ置いておいて、あとは利用者が「再発見する」でもいいかもしれない。
まだknownetを上司以外の社員たちに紹介してない
なんか紹介するのが不安なのだ。
優しくボコボコにされそう。
誰も使わん未来の悲しさが見えたりもする。
社内ツールのネットワーク効果について思いを馳せる。
最悪一人で使えばよかろうや。
紹介はさっさとやりたい。「あいつよくわからんツール使っとる。情報流出や。」になるのは良くない。
恥ずかしい出来のうちに紹介して、ボコボコにされた方が良い。
「紹介するときに恥ずかしくなかったら遅すぎる」というのを前に何かで見た。
knownetはめっちゃ安価
クラウド利用料を高く見積もっても500円ぐらい。人が増えるほどお得。「月額100円のPKMSを作りたい」と思っていたが、結構実現できてる。
ほかのツールは人が増えるほど利用料が取られる。
t_wの余暇で開発なので、開発費は無料なのだ。「余暇開発なので無料」は結構欺瞞だけども。
やっぱ社内知識管理ツールは自前で運営すると安くて早くてうまい。
「広めたいけど広めると金がかかる」を乗り越えられる。
あれ
knownetがデライトを上っ面しかパクれてないことが分かる。
輪郭法は極めて単純ながら強力。
1週間でそれっぽいものが作れてしまった(色んな検討とか含めるともっと長いが)。
デライトが広まれば、他にもクローンが作られるだろうし、輪郭法の他の応用もされそうだ。
引き入れを再現するだけでは、ほんの一部にすぎないんだな。
GoogleやMicrosoftがデライトをパクってきたらどうするんだろうと思ってたけど、この構想のデカさならパクってもパクり切れず、別物になるだろう。
あれ
輪郭法を実装するだけなら簡単すぎる
輪郭法は極めて単純ながら強力。
1週間でそれっぽいものが作れてしまった(色んな検討とか含めるともっと長いが)。
デライトが広まれば、他にもクローンが作られるだろうし、輪郭法の他の応用もされそうだ。
ナレッジベースサービスのサービス名を日本語で100個考えてください
知識の広場
スマートナレッジ
ナレッジボルト
ヘルプドキュメント
知識の木
すべて知る
アンサーズナウ
ブレインベース
インフォフロー
マインドハイブ
シンクタンク
エキスパートイーズ
ラーンシェア
データバンク
インフォスフィア
マインドマップ
ワイズダムプール
ファクトファインダー
アイデアボックス
データスフィア
ブレイン信頼
ナレッジネット
ノウハウ
ラーンブースト
スキルスタック
インフォネクサス
インサイトX
ブレインウェーブ
データリンクス
ナレッジフロー
シンクシェア
マインドクラフト
知識の泉
情報の宝庫
知恵の森
ナレッジプラネット
賢者の書庫
学びの楽園
知識の庭
エキスパートのアトリエ
百科事典の館
ワンストップ知識
知識探検隊
インフォミックス
ナレッジコンシェルジュ
グレートマインド
知的冒険
クイックアンサー
プロフェッショナルヘルプ
エデュケーショナルハブ
ワイズメイト
アカデミックアシスト
質問マスター
インタラクティブ知識
スキルアップガイド
ウィズダムサポート
ナレッジパートナー
クレバーエッジ
スマートリンク
インテリジェントアドバイザー
データドリーム
情報ナビゲーター
ブレインブースト
ワールドオブワイズ
ナレッジコネクション
インサイトワールド
エキスパートエッセンス
マインドマップ
スマートヘルプ
グローバルアカデミア
インテリアドバイス
ナレッジクロスロード
インフォワンダーランド
スキルズユニバース
エンリッチメントプラザ
アドバンストアシスト
アカデミアヘブン
ブレインウェーブ
スマートステップ
ウィズダムウェル
エキスパートビジョン
ナレッジガーディアン
インサイトハウス
エデュケーションタワー
知識の種
ワイズワン
クレバーライブラリー
インテリジェントソリューション
スマートブレイン
ウィズダムワールド
ブレインポータル
インフォトロン
ナレッジ
あれ
仕事のソフトウェア開発進まないのに、趣味のやつがバシバシ進んでてアレ
作ってる趣味ソフトウェアが、会社に導入してやろうと画策してるナレッジベースシステムなので、お前何遊んでんねんとなるやつです