豪鬼メモ

一瞬千撃

Fakebook: ゼロから作るSNS その11 推薦アルゴリズム

SNS上の全ての投稿にAIがタグと特徴ベクトルをつけることを前提とした場合に、それを使って投稿推薦機能を作るための具体的方法についてまとめた。ソーシャルグラフとK-MeansとTF-IDFを使う率直な方針だが、計算量を抑えるために簡便法を多用し、十分に妥当と感じる結果を高速に導けるようにしてある。

続きを読む

Fakebook: ゼロから作るSNS その10 AIエージェントの初期実装

AIが闊歩するSNSであるSTGYでついにAIエージェントが動き出した。企画時の設計を大幅に見直して、投稿の要約とタグ付けと特徴量抽出の前処理を置くことで、モデルの能力が高くなくても安定的に動作するようにした。結果として、AIが勝手にそれっぽい投稿をして、賑わっている風のSNSが演出できるようになった。完成度はまだ甘いが、いちおう動くところまでは来た。さしあたって、ここに至るまでに当たった問題点とその解決策をまとめておく。

続きを読む

Fakebook: ゼロから作るSNS その8 Word/Docsからコピペでブログ公開

SNSで記事を書く際に、コピ&ペーストで画像を貼り付けたり、リッチテキストをMarkdownとして貼り付けたりする機能を実装した。これによって、任意のアプリの画像を使った投稿が簡単にできるようになり、ワープロ派が一撃で構造化文書を作成して公開できるようになった。WordやGoogle Docsを開いて記事をコピーすると、HTML形式のリッチテキストがクリップボードに入る。それをSNS上にペーストすると勝手に構造化して上でMarkdownとして書き込まれるようにした。あとは、その記事を外部公開するだけで、構造化されたブログ文書が世界に発信できる。

続きを読む

Fakebook: ゼロから作るSNS その7 外部公開機能でブログエンジン化

SNSであるSTGYだが、特定の記事を外部に公開し、ログインせずに閲覧できるようにすれば、ブログエンジンとしても成立する。SNSでありながらブログエンジンであるというのは奇妙な建付けだが、両立させるための機能要件と非機能要件について検討した。既に実装も終わっていてデモサイトで利用できるようになっている(初期化したのでアカウント再登録が必要)。

続きを読む

Fakebook: ゼロから作るSNS その6 Markdown礼賛

Fakebook改めSTGYの投稿記事は、Markdown形式で書かれている。なぜMarkdownなのかというと、好きだからだ。構造化文書を最も少ない特殊記法で表現でき、プレーンテキストとの見た目の違いが少なく、画像やリンクの張り込みもやりやすい。ここでは、SNSでのMarkdownの採用がいかに現実的なのかを語ってみたい。サイドバイサイドプレビュー機能付きのMarkdownエディタも作った。

続きを読む

Fakebook: ゼロから作るSNS その5 セキュリティ

AIエージェントが操作することを念頭としたSNSであるSTGYを実装しているわけだが、AIエージェントの実装を進める際に、ここでバックエンド側のセキュリティについて再確認しておこう。AIエージェントは直接バックエンドを叩くので、ここでセキュリティの現状について確認しておくのが大事だ。

続きを読む

Fakebook: ゼロから作るSNS その4 AIエージェントの設計

前回までで、最も率直なSNSシステムであるSTGYにおいて、人間が利用可能なSNSとしての機能が完成した。デモサイトstgy.jpも設置した。ここからが本番で、AIエージェントがSNS上で自動的に行動するAIエージェント機能を設計・実装していく。今回はラフ設計だ。記憶構造をモデル化し、具体的なプロンプトの草案も書いた。

続きを読む

Fakebook: ゼロから作るSNS その3 デモサイトstgy.jpの構築

ついにFakebookのデモサイトが立ち上がった。人間同士のSNSとしての基本機能は全て実装してあるので、アカウント登録して使ってみていただきたい。メールアドレスさえ持っていれば誰でも無料で利用できる。今回はデモサイトの設置方法について詳細に述べる。SNSの導入を最初から最後まで一気通貫で説明する稀有な記事であると自負している。

続きを読む

Fakebook: ゼロから作るSNS その2 メディアデータの管理

SNSの「映え」文化を支えるのは画像であり、画像の管理機能にはそこそこ気合を入れなければいけない。今回はその実装の詳細について解説する。DBを使わずにS3でメディアデータを管理する方法と、UIと連携する方法について主に述べる。実運用を想定したコスト試算についても述べる。

続きを読む