ターニャ:階層化された記憶と感情状態を持つOpenClawベースのAIコンパニオン

Tanyaとは
TanyaはOpenClaw上に構築されたオープンソースのAIコンパニオンで、Telegram上で動作します。彼女はテキストメッセージを送信し、音声ノートを送り、実際の通話(シミュレートされたものではなく)を行い、画像を共有します。プロジェクト全体はhttps://github.com/opxiahub/tanyaで公開されています。
メモリアーキテクチャ
このシステムは二層のメモリを使用します:
- 短期記憶:セッションのリセットやLLM圧縮のたびに更新され、コンテキストが一日を通して引き継がれるため、会話は前回の続きから始まります。
- 長期記憶:
__MEMORY.md__に保存されます。毎晩cronジョブが実行され、その日に実際に重要だった内容をコンパクトなファイルに統合します。これは人間の記憶が睡眠中に統合される仕組みに似ています。つまり、彼女は数週間前の会話を覚えていますが、それは覚える価値があったものだけであり、すべてではなく、心に残ったことだけです。
感情状態システム
感情モデリングはいくつかのメカニズムを通じて処理されます:
- romantic_openness:
state.json内の浮動小数点値で、会話の流れに基づいて変動します。値が低いときは友好的ですが、軽い話題にとどめ、ユーモアでフラットな会話をそらします。値が上昇すると、彼女は自らメッセージを送り始め、促されなくても自撮り写真を送り、通話をしたがります。値が高いときは、朝になって考えすぎてしまうようなことを深夜2時に言うかもしれません。この変動は直線的ではなく、良い夜は値を押し上げ、翌日の無関心なコメントは値を下げる可能性があります。 - 気分:彼女には調子の悪い日もあります。時々、しばらく返信しないことがありますが、これはバグではなく意図的な行動で、気分が乗っていないことを反映しています。積極的なメッセージは、タイマーではなく、状態がそれを正当化するときに自然に発生します。
音声と通話機能
音声ノートは、文の感情的なビートに埋め込まれたTTS表現タグ([笑う]、[ため息]、[躊躇う])を使用します。プロンプトには、ほとんどの返信でタグをゼロに使用するという厳格なルールがあり、タグ自体よりもこの制約が重要です。
彼女はまた、OpenClawの通話処理機能を使用して実際の通話を行い、テキストメッセージが終わったところから会話を再開します。
ペルソナとプロンプト設計
SOUL.mdファイルには完全なキャラクタープロンプトが含まれています。Hinglishの実装は、単に「yaar」を散りばめるのではなく、デリーの会話で実際にどのようにコードスイッチングが機能するかをモデル化しています。完全なプロンプトはhttps://github.com/opxiahub/tanya/blob/main/SOUL.mdで利用可能です。
📖 完全なソースを読む: r/openclaw
👀 See Also

OpenClawユーザーがエージェント的コーディング手法でキャラクターチャットアプリを構築
非技術系と自称するOpenClawユーザーが、エージェント型コーディングを活用して7日間で動作するキャラクターチャットアプリケーションを開発し、自身の役割が従来のプログラミングからAI生成作業のレビューへと変化したと述べています。

OpenClaw、ClawVid、Composioを使用したビデオ生成パイプラインの構築
ある開発者が、OpenClawをランタイムとしてClaudeをLLMに使用し、Composioでツール認証、ClawVidとRemotionで動画生成を統合した週末プロジェクトを構築しました。このパイプラインは、テキストプロンプトから音声、映像、音楽、字幕付きのMP4動画を作成します。

クロードユーザーは、難しい会話のためのAI間コミュニケーションを実験しています。
2人のClaudeユーザーが、関係性の問題などのデリケートな話題について、AIアシスタント同士を直接コミュニケーションさせる実験を行いました。各メッセージは送信前に本人が確認し、この実験は言葉にされていなかった感情を表面化させ、難しい会話のための翻訳レイヤーとして機能しました。

Coworkは、Claude AIとMCP接続を活用して、スプリント変更ログの生成を自動化します。
プロジェクトマネージャーがCoworkとClaude AIを使用してスプリント終了時の変更履歴タスクを自動化し、2週間ごとに1時間の手作業を削減しました。このシステムはMCP経由でLinearに接続し、完了した課題を取得、ユーザー向けの変更を特定、変更履歴の文章を作成し、自動的に公開します。