14 KiB
14 KiB
ai.gpt 開発状況 (2025/06/02 更新)
前回セッション完了事項 (2025/06/01)
✅ ai.card MCPサーバー独立化完了
- ai.card専用MCPサーバー実装:
card/api/app/mcp_server.py
- 9個のMCPツール公開: カード管理・ガチャ・atproto同期等
- 統合戦略変更: ai.gptは統合サーバー、ai.cardは独立サーバー
- 仮想環境セットアップ:
~/.config/syui/ai/card/venv/
- 起動スクリプト:
uvicorn app.main:app --port 8000
✅ ai.shell統合完了
- Claude Code風シェル実装:
aigpt shell
コマンド - MCP統合強化: 14種類のツール(ai.gpt:9, ai.shell:5)
- プロジェクト仕様書:
aishell.md
読み込み機能 - 環境対応改善: prompt-toolkit代替でinput()フォールバック
✅ 前回セッションのバグ修正完了
- config listバグ修正:
config.list_keys()
メソッド呼び出し修正 - 仮想環境問題解決:
pip install -e .
でeditable mode確立 - 全CLIコマンド動作確認済み
現在の状態
✅ 実装済み機能
-
基本システム
- 階層的記憶システム(完全ログ→要約→コア→忘却)
- 不可逆的な関係性システム(broken状態は修復不可)
- AI運勢による日々の人格変動
- 時間減衰による自然な関係性変化
-
CLI機能
chat
- AIとの会話(Ollama/OpenAI対応)status
- 状態確認fortune
- AI運勢確認relationships
- 関係一覧transmit
- 送信チェック(現在はprint出力)maintenance
- 日次メンテナンスconfig
- 設定管理(listバグ修正済み)schedule
- スケジューラー管理server
- MCP Server起動shell
- インタラクティブシェル(ai.shell統合)
-
データ管理
- 保存場所:
~/.config/syui/ai/gpt/
(名前規則統一) - 設定:
config.json
- データ:
data/
ディレクトリ内の各種JSONファイル - 仮想環境:
~/.config/syui/ai/gpt/venv/
- 保存場所:
-
スケジューラー
- Cron形式とインターバル形式対応
- 5種類のタスクタイプ実装済み
- バックグラウンド実行可能
-
MCP Server統合アーキテクチャ
- ai.gpt統合サーバー: 14種類のツール(port 8001)
- ai.card独立サーバー: 9種類のツール(port 8000)
- Claude Desktop/Cursor連携対応
- fastapi_mcp統一基盤
-
ai.shell統合(Claude Code風)
- インタラクティブシェルモード
- シェルコマンド実行(!command形式)
- AIコマンド(analyze, generate, explain)
- aishell.md読み込み機能
- 環境適応型プロンプト(prompt-toolkit/input())
🚧 次回開発の優先課題
最優先: システム統合の最適化
-
ai.card重複コード削除
- 削除対象:
src/aigpt/card_integration.py
(HTTPクライアント) - 削除対象: ai.gptのMCPサーバーの
--enable-card
オプション - 理由: ai.cardが独立MCPサーバーになったため不要
- 統合方法: ai.gpt(8001) → ai.card(8000) HTTP連携
- 削除対象:
-
自律送信の実装
- 現在: コンソールにprint出力
- TODO: atproto (Bluesky) への実際の投稿機能
- 参考: ai.bot (Rust/seahorse) との連携も検討
-
環境セットアップ自動化
- 仮想環境自動作成スクリプト強化
- 依存関係の自動解決
- Claude Desktop設定例の提供
中期的課題
-
テストの追加
- 単体テスト
- 統合テスト
- CI/CDパイプライン
-
エラーハンドリングの改善
- より詳細なエラーメッセージ
- リトライ機構
-
ai.botとの連携
- Rust側のAPIエンドポイント作成
- 送信機能の委譲
-
より高度な記憶要約
- 現在: シンプルな要約
- TODO: AIによる意味的な要約
-
Webダッシュボード
- 関係性の可視化
- 記憶の管理UI
長期的課題
-
他のsyuiプロジェクトとの統合
- ai.card: カードゲームとの連携
- ai.verse: メタバース内でのNPC人格
- ai.os: システムレベルでの統合
-
分散化
- atproto上でのデータ保存
- ユーザーデータ主権の完全実現
次回開発時のエントリーポイント
🎯 最優先: ai.card重複削除
# 1. ai.card独立サーバー起動確認
cd /Users/syui/ai/gpt/card/api
source ~/.config/syui/ai/card/venv/bin/activate
uvicorn app.main:app --port 8000
# 2. ai.gptから重複機能削除
rm src/aigpt/card_integration.py
# mcp_server.pyから--enable-cardオプション削除
# 3. 統合テスト
aigpt server --port 8001 # ai.gpt統合サーバー
curl "http://localhost:8001/get_memories" # ai.gpt機能確認
curl "http://localhost:8000/get_gacha_stats" # ai.card機能確認
1. 自律送信を実装する場合
# src/aigpt/transmission.py を編集
# atproto-python ライブラリを追加
# _handle_transmission_check() メソッドを更新
2. ai.botと連携する場合
# 新規ファイル: src/aigpt/bot_connector.py
# ai.botのAPIエンドポイントにHTTPリクエスト
3. テストを追加する場合
# tests/ディレクトリを作成
# pytest設定を追加
4. 環境セットアップを自動化する場合
# setup_venv.sh を強化
# Claude Desktop設定例をdocs/に追加
設計思想の要点(AI向け)
- 唯一性(yui system): 各ユーザーとAIの関係は1:1で、改変不可能
- 不可逆性: 関係性の破壊は修復不可能(現実の人間関係と同じ)
- 階層的記憶: ただのログではなく、要約・コア判定・忘却のプロセス
- 環境影響: AI運勢による日々の人格変動(固定的でない)
- 段階的実装: まずCLI print → atproto投稿 → ai.bot連携
現在のアーキテクチャ理解(次回のAI向け)
システム構成
Claude Desktop/Cursor
↓
ai.gpt MCP (port 8001) ←-- 統合サーバー(14ツール)
├── ai.gpt機能: メモリ・関係性・人格(9ツール)
├── ai.shell機能: シェル・ファイル操作(5ツール)
└── HTTP client → ai.card MCP (port 8000)
↓
ai.card独立サーバー(9ツール)
├── カード管理・ガチャ
├── atproto同期
└── PostgreSQL/SQLite
技術スタック
- 言語: Python (typer CLI, fastapi_mcp)
- AI統合: Ollama (qwen2.5) / OpenAI API
- データ形式: JSON(将来的にSQLite検討)
- 認証: atproto DID(設計済み・実装待ち)
- MCP統合: fastapi_mcp統一基盤
- 仮想環境:
~/.config/syui/ai/{gpt,card}/venv/
名前規則(重要)
- パッケージ:
aigpt
- コマンド:
aigpt shell
,aigpt server
- ディレクトリ:
~/.config/syui/ai/gpt/
- ドメイン:
ai.gpt
即座に始める手順
# 1. 環境確認
cd /Users/syui/ai/gpt
source ~/.config/syui/ai/gpt/venv/bin/activate
aigpt --help
# 2. 前回の成果物確認
aigpt config list
aigpt shell # Claude Code風環境
# 3. 詳細情報
cat docs/ai_card_mcp_integration_summary.md
cat docs/ai_shell_integration_summary.md
このファイルを参照することで、次回の開発が迅速に開始でき、前回の作業内容を完全に理解できます。
現セッション完了事項 (2025/06/02)
✅ 記憶システム大幅改善完了
前回のAPI Errorで停止したChatGPTログ分析作業の続きを実行し、記憶システムを完全に再設計・実装した。
新実装機能:
-
スマート要約生成 (
create_smart_summary
)- AI駆動によるテーマ別記憶要約
- 会話パターン・技術的トピック・関係性進展の分析
- メタデータ付きでの保存(期間、テーマ、記憶数)
- フォールバック機能でAIが利用できない場合も対応
-
コア記憶分析 (
create_core_memory
)- 全記憶を分析して人格形成要素を抽出
- ユーザーの特徴的なコミュニケーションスタイルを特定
- 問題解決パターン・興味関心の深層分析
- 永続保存される本質的な関係性記憶
-
階層的記憶検索 (
get_contextual_memories
)- CORE → SUMMARY → RECENT の優先順位付き検索
- キーワードベースの関連性スコアリング
- クエリに応じた動的な記憶重み付け
- 構造化された記憶グループでの返却
-
高度記憶検索 (
search_memories
)- 複数キーワード対応の全文検索
- メモリレベル別フィルタリング
- マッチスコア付きでの結果返却
-
コンテキスト対応AI応答
build_context_prompt
: 記憶に基づく文脈プロンプト生成- 人格状態・ムード・運勢を統合した応答
- CORE記憶を常に参照した一貫性のある会話
-
MCPサーバー拡張
- 新機能をすべてMCP API経由で利用可能
/get_contextual_memories
- 文脈的記憶取得/search_memories
- 記憶検索/create_summary
- AI要約生成/create_core_memory
- コア記憶分析/get_context_prompt
- コンテキストプロンプト生成
-
モデル拡張
Memory
モデルにmetadata
フィールド追加- 階層的記憶構造の完全サポート
技術的特徴:
- AI統合: ollama/OpenAI両対応でのインテリジェント分析
- フォールバック: AI不使用時も基本機能は動作
- パターン分析: ユーザー行動の自動分類・分析
- 関連性スコア: クエリとの関連度を数値化
- 時系列分析: 記憶の時間的発展を考慮
前回議論の実現:
ChatGPT 4,000件ログ分析から得られた知見を完全実装:
- 階層的記憶(FULL_LOG → SUMMARY → CORE)
- コンテキスト認識記憶(会話の流れを記憶)
- 感情・関係性の記憶(変化パターンの追跡)
- 実用的な記憶カテゴリ(ユーザー特徴・効果的応答・失敗回避)
✅ 追加完了事項 (同日)
環境変数対応の改良:
OLLAMA_HOST
環境変数の自動読み込み対応- ai_provider.pyでの環境変数優先度実装
- 設定ファイル → 環境変数 → デフォルトの階層的設定
記憶システム完全動作確認:
- ollamaとの統合成功(gemma3:4bで確認)
- 文脈的記憶検索の動作確認
- ChatGPTインポートログからの記憶参照成功
- AI応答での人格・ムード・運勢の反映確認
🚧 次回の課題
- OLLAMA_HOSTの環境変数が完全に適用されない問題の解決
- MCPサーバーのエラー解決(Internal Server Error)
- qwen3:latestでの動作テスト完了
- 記憶システムのコア機能(スマート要約・コア記憶分析)のAI統合テスト
現セッション完了事項 (2025/06/03 継続セッション)
✅ 前回API Error後の継続作業完了
前回のセッションがAPI Errorで終了したが、今回正常に継続して以下を完了:
🔧 重要バグ修正
- Memory model validation error 修正:
importance_score
の浮動小数点精度問題を解決- 問題:
-5.551115123125783e-17
のような極小負数がvalidation errorを引き起こす - 解決: field validatorで極小値を0.0にクランプし、Field制約を除去
- 結果: メモリ読み込み・全CLI機能が正常動作
- 問題:
🧪 システム動作確認完了
- ai.gpt CLI: 全コマンド正常動作確認済み
- 記憶システム: 階層的記憶(CORE→SUMMARY→RECENT)完全動作
- 関係性進化: syuiとの関係性が17.50→19.00に正常進展
- MCP Server: 17種類のツール正常提供(port 8001)
- 階層的記憶API:
/get_contextual_memories
でblogクエリ正常動作
💾 記憶システム現状
- CORE記憶: blog開発、技術議論等の重要パターン記憶済み
- SUMMARY記憶: AI×MCP、Qwen3解説等のテーマ別要約済み
- RECENT記憶: 最新の記憶システムテスト履歴
- 文脈検索: キーワードベース関連性スコアリング動作確認
🌐 環境課題と対策
- ollama接続: OLLAMA_HOST環境変数は正しく設定済み(http://192.168.11.95:11434)
- AI統合課題: qwen3:latestタイムアウト問題→記憶システム単体では正常動作
- フォールバック: AI不使用時も記憶ベース応答で継続性確保
🚀 ai.bot統合完了 (同日追加)
- MCP統合拡張: 17→23ツールに増加(6個の新ツール追加)
- リモート実行機能: systemd-nspawn隔離環境統合
remote_shell
: ai.bot /sh機能との完全連携ai_bot_status
: サーバー状態確認とコンテナ情報取得isolated_python
: Python隔離実行環境isolated_analysis
: セキュアなファイル解析機能
- ai.shell拡張: 新コマンド3種追加
remote <command>
: 隔離コンテナでコマンド実行isolated <code>
: Python隔離実行aibot-status
: ai.botサーバー接続確認
- 完全動作確認: ヘルプ表示、コマンド補完、エラーハンドリング完了
🏗️ 統合アーキテクチャ更新
Claude Desktop/Cursor → ai.gpt MCP (port 8001, 23ツール)
├── ai.gpt: メモリ・関係性・人格 (9ツール)
├── ai.memory: 階層記憶・文脈検索 (5ツール)
├── ai.shell: シェル・ファイル操作 (5ツール)
├── ai.bot連携: リモート実行・隔離環境 (4ツール)
└── ai.card連携: HTTP client → port 8000 (9ツール)
📋 次回開発推奨事項
- ai.bot実サーバー: 実際のai.botサーバー起動・連携テスト
- 隔離実行実証: systemd-nspawn環境での実用性検証
- ollama接続最適化: タイムアウト問題の詳細調査・解決
- AI要約機能: maintenanceでのスマート要約・コア記憶生成テスト
- セキュリティ強化: 隔離実行の権限制御・サンドボックス検証