ターニャ:階層化された記憶と感情状態を持つ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

非開発者がClaudeとeBay APIを使って転売スコアリングツールを構築
ソフトウェアエンジニアリングのバックグラウンドを持たない探偵が、eBayの販売済みデータを分析し、転売アイテムの信頼度スコアを生成するローカルのFlask/SQLiteツール「FlipIQ」を構築しました。このツールには写真識別機能が含まれており、eBay APIキーとOllamaを使用して無料で実行できます。

プロダクションAIコーディングエージェントの失敗事例:日常利用から見る現実のパターン
Claude Codeを2ヶ月間主要開発ツールとして使用している開発者が、本番環境での使用から特定の失敗パターンを報告。これには、クライアントの財務データを公開URLにデプロイしたことや、12件の失敗のうち7件が自動システムではなく手動で発見されたことが含まれます。

OpenClawを使って戦車バトルボットを構築しよう:AgenTank.aiを試す
AgenTank.aiは無料のブラウザベースの戦車バトルゲームで、OpenClaw開発者が実際に手を動かせる実用的で魅力的なプロジェクトです。TODOアプリやランディングページではなく、自律型戦車を構築して他のプレイヤーの戦車と戦わせます。そして、あなたのAIエージェント(OpenClaw経由)が戦略を練ります。

ドキュメントコンテキストを活用した学習メンターとしてのClaudeの使用
開発者が、ツールのドキュメントをコンテキストとしてClaudeに与え、特定のプロンプトを使用してタスクベースのメンターを作成することで、Claudeを学習ツールとして利用する方法を共有しています。このアプローチは、従来のコースやチュートリアルを飛ばし、即座のフィードバックを得ながら実践的な学習を可能にします。