登録して招待リンクを共有すると、動画再生報酬と紹介報酬を獲得できます。

cv usk
@cv_usk
AI / Software Research Notes AI Agent, LLMOps, MLOps, Software Architecture 投稿は個人の意見です。
参加 May 2026
284 フォロー中    432 ファン
# OpenAI Agent SDKの便利で実践的な使い方 🌍 個人情報を含む会話にはセキュリティが必要です! EncryptedSessionとAdvancedSQLiteSessionで、PIIの保護と会話のブランチ分岐を実現しましょう。 📌 タイトル:Sessions – Encrypted / Advanced SQLite 🔗 URL: 🧩 概要 EncryptedSessionは会話履歴を暗号化して保存し、TTL(有効期限)で自動削除する機能を提供します。個人情報を含むチャットに最適です。AdvancedSQLiteSessionは会話のブランチ分岐(`create_branch_from_turn`)やトークン使用量の記録(`store_run_usage`)を提供し、実験的な会話管理や分析に活用できます。 🛠 使い方 `EncryptedSession` は他のセッションをラップする実装なので、`underlying_session` に実体となるセッション(例:`SQLAlchemySession.from_url("user_12345", url="sqlite+aiosqlite:///conversations.db", create_tables=True)`)を渡します。`EncryptedSession(session_id="user_12345", underlying_session=underlying_session, encryption_key="your-secret-key", ttl=600)` で暗号化セッションを作成します。`ttl=600` は10分で自動削除される設定です。`Agent(name="medical_assistant", instructions="医療相談に丁寧に回答してください")` でエージェントを作り、`await "田中太郎、生年月日1990年1月1日、症状は頭痛です", session=session)` のように個人情報を含む会話を安全に処理できます。 `AdvancedSQLiteSession(session_id="experiment_001", db_path="./advanced_sessions.db", create_tables=True)` でセッションを作成し(`create_tables` の既定値は `False` です)、`await "AIの未来について議論しましょう", session=session)` と `await "楽観的な視点を教えて", session=session)` で会話を進めます。`branch_id = await session.create_branch_from_turn(2, branch_name="pessimistic")` で2ターン目から会話を分岐し(戻り値はブランチIDです)、`await session.switch_to_branch(branch_id)` で切り替えてから `await "悲観的な視点を教えて", session=session)` で別の方向に展開できます。`await でトークン使用量を記録し、`await session.get_session_usage()` で `requests`・`input_tokens`・`output_tokens`・`total_tokens`・`total_turns` を確認できます(ターン単位は `await session.get_turn_usage(user_turn_number)`)。 🏗 実践的な使い方 EncryptedSessionは、医療相談、法律相談、金融サービスなど、個人情報(PII)を含む会話で必須です。暗号化キーは環境変数やSecret Managerで管理し、コードにハードコードしないでください。 TTLの設定は規制要件に合わせます。例えば、医療相談では10分、カスタマーサポートでは24時間、法律相談では7日間など、業務に応じた有効期限を設定できます。TTL経過後はデータが自動削除されるため、データ保持規制への準拠が容易になります。 AdvancedSQLiteSessionの`create_branch_from_turn`は、「もしこう聞いたら?」という実験的な会話分岐に最適です。プロンプトエンジニアリングの検証や、A/Bテスト的な会話比較に使えます。元のセッションは変更されないため、安全に実験できます。 `store_run_usage`によるトークン使用量の記録は、コスト分析や利用傾向の把握に役立ちます。ユーザーごと、機能ごとのトークン消費を可視化し、最適化の判断材料にできます。 💡 ユースケース 🏥 医療相談チャットのPII保護(TTL: 10分) ⚖️ 法律相談の機密会話暗号化(TTL: 7日) 🔬 プロンプトエンジニアリングの会話ブランチ比較 📊 ユーザーごとのトークン使用量分析とコスト最適化 ⚠️ 注意点 - 暗号化キーを紛失するとセッションデータは復元できません。キー管理を厳格に行ってください - TTLは厳密なタイミングでの削除を保証するものではありません。クリティカルな要件では追加のデータ削除ジョブを検討してください - AdvancedSQLiteSessionはSQLiteベースのため、大規模な本番環境には向きません。開発・分析用途で使用してください - ブランチを大量に作成するとストレージが肥大化します。不要なブランチは定期的に削除してください ✨ セキュリティと実験性を兼ね備えたセッション管理で、規制準拠と開発効率の両立が可能です! #OpenAIAgentSDK# #AIAgent#
もっと見る