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

検索結果 Submarine
Submarine コミュニティ
1つのキーワードが1つのコミュニティです。
コミュニティ作成
アカウント
見つかりません
Submarine を含む検索結果
Fire Bomber - Submarine Street [English Subs] @YouTubeさんから
本日11/6(水)26:00〜27:00 「Music Submarine」にコメント出演させて頂いております! 是非聴いてください⭐️ #TOKAIRADIO#
♪お知らせ 🌙今夜26:00-27:00 📻TOKAI RADIO「Music Submarine」@music_submarine #川村結衣# #近藤沙樹# ふたりのコメントが流れます💬 #TOKAIRADIO# さんと同じく愛知県出身🍊こさきさんからは番組テーマ“深い”にまつわる🌻夏休みの思い出トークも… #眞嶋愛梨# さん #エムサブ# #AKBが好きish#
もっと見る
# ADKの便利で実践的な使い方 ## 🧠 長いセッションでもコストを抑える!ADKのContext Compaction機能 エージェントとの長い対話、コンテキストが膨らんでコストもレイテンシも増加していませんか?ADKの **Context Compaction** を使えば、古いイベントを自動要約して常にスリムなコンテキストを維持できます!🎯 ## 📌 タイトル Context Compaction(コンテキスト圧縮) ## 🔗 URL ## 🧩 概要 Context Compactionは、セッション中に蓄積されるワークフローイベントデータを自動的に要約し、処理オーバーヘッドを削減する機能です。スライディングウィンドウ方式で、最新のイベントはそのまま保持しつつ、古いイベントを圧縮することで、コストとレイテンシを最適化します。 `EventsCompactionConfig` を使って、圧縮間隔(`compaction_interval`)とオーバーラップサイズ(`overlap_size`)を設定するだけで有効になります。 ## 🛠 使い方 Appレベルで `EventsCompactionConfig` を設定します。 ` から `App` と `EventsCompactionConfig` をインポートします。`App` の `events_compaction_config` パラメータに `EventsCompactionConfig(compaction_interval=3, overlap_size=1)` を渡すことで、3イベントごとに圧縮が実行され、前回の圧縮から1イベント分を重複保持する設定になります。 TypeScriptでは `TokenBasedContextCompactor` でトークン閾値ベースの圧縮も可能です。 ```typescript const agent = new LlmAgent({ name: 'my-agent', model: 'gemini-flash-latest', contextCompactors: [ new TokenBasedContextCompactor({ tokenThreshold: 1000, eventRetentionSize: 1, summarizer: new LlmSummarizer({ llm: new Gemini({model: 'gemini-flash-latest'}) }) }) ] }); ``` ## 🏗 実践的な使い方 **カスタマーサポートボットでの活用例:** 長時間の問い合わせ対応では、対話履歴が数十ターンに達することがあります。Context Compactionを導入することで: 1. **コスト削減**:古い対話内容を自動要約し、毎回のLLM呼び出しで送信するトークン数を大幅に削減 2. **レスポンス改善**:コンテキストが小さくなることで、LLMの応答速度が向上 3. **精度維持**:直近のやり取りはそのまま保持するため、文脈を失わずに対話を継続 `compaction_interval=5, overlap_size=2` のような設定で、5ターンごとに圧縮しつつ、直前2ターン分の文脈を次の圧縮に引き継げます。 **カスタムサマライザーの活用:** デフォルトの要約モデルではなく、ドメイン特化の要約プロンプトを使うことで、業務固有の重要情報(注文番号、顧客IDなど)を確実に保持できます。 ## 💡 ユースケース - 📞 **カスタマーサポート**:長時間の問い合わせ対話でコンテキスト爆発を防止 - 📝 **ドキュメント作成支援**:長い執筆セッションで過去の議論を要約しつつ最新の方針を保持 - 🔍 **データ分析エージェント**:多段階の分析プロセスで中間結果を圧縮 - 🎮 **ゲームNPC**:長時間のプレイセッションで過去のイベントを要約して記憶 ## ⚠️ 注意点 - 圧縮は不可逆です。要約された情報の細部は失われる可能性があります - `overlap_size` が小さすぎると文脈の断絶が起きやすくなります - カスタムサマライザーを使う場合、要約モデル自体のコストも考慮が必要です - 圧縮間隔が短すぎると、頻繁な要約処理でオーバーヘッドが増加します ## ✨ まとめ Context Compactionは「長いセッション=高コスト」という常識を覆す機能です。設定一つで古いイベントを自動要約し、最新の文脈を保ちながらコストとレイテンシを最適化できます。長時間対話が発生するエージェントには、ぜひ導入を検討してみてください! #ADK# #AIAgent#
もっと見る
Claude Code 2.1.247 (抜粋) - `SendFeedback`ツールを追加。セッション中に何か問題が起きた際、Claudeがフィードバックレポートを下書きし、`/feedback`からレビューして送信できるように(`feedbackDrafts`設定でオフにできる) - `spinnerTipsOverride`に`{id, text, cooldownSessions, priority}`形式のエントリ、`tipsFile`、`label`を追加。組織が独自のtipsを組み込みのtipsと一緒にローテーション表示できるようになった - Bash権限プロンプトにauto modeを案内するtipを追加。ワンキーで選べる「Yes, and switch to auto mode」オプション付き - `/claude-api cost-optimize`を追加。既存プロジェクトのClaude API利用コストをプロファイリングし、コストレバー(キャッシュ、トークンの節約、バッチ、effort、モデル選択)を1つずつ効果測定しながら検討可能 - `/claude-api`スキルを更新し、Admin API(組織メンバー、招待、ワークスペース、APIキー、rate limitレポート、workload identity federation、CMEK)をカバー - hookやbackground agentが数MBのエラー出力を出した際に会話がオーバーフローし、「Prompt is too long」でセッションが動かなくなる不具合を修正 - `--agent`付きで開始したセッションで`/compact`や「Summarize from here」が、その会話固有のシステムプロンプトではなくデフォルトのシステムプロンプトの下で要約してしまう不具合を修正 - SSH経由での`/install-github-app`を修正。コピーショートカットが常に成功したと表示するのではなく、サインインURLがどのようにコピーされたかを表示するようになり、ブラウザを開けない場合はURLが即座に表示される - self-hosted runnerセッションがClaude Code起動前に`running`と報告してしまい、Claudeデスクトップアプリから「Claude is waiting for your input」という通知が早すぎるタイミングで送られる可能性があった不具合を修正 - Sonnet 5のデフォルトauto-compactウィンドウをフルの1Mコンテキストに変更。1Mウィンドウのセッションは約934Kトークンではなく約967Kトークンでauto-compactするようになった - cross-sessionのpeer messageをデフォルトで`Message from @: `という1行プレビューに折りたたむよう変更。Ctrl+Oで全文を展開できる
もっと見る
# ADK 2.0の便利だけど知られていない機能 🌍 エージェントの会話中に「前に聞いた情報を覚えておいてほしい」と思ったことはありませんか?状態管理の仕組みを理解すれば、それが簡単に実現できます。 ADK 2.0のState機能は、セッション内外でデータを保持・共有するためのキーバリュー型のスクラッチパッドです。プレフィックスによってスコープを使い分けることで、柔軟な状態管理が可能になります。 📌 タイトル:状態 (State) の管理 🔗 URL: 🧩 概要 Stateはキーバリュー形式のデータストアで、4つのプレフィックスによってスコープが決まります。プレフィックスなしはセッションスコープ(そのセッション内でのみ有効)、user:はユーザースコープ(同一ユーザーの複数セッションで共有)、app:はアプリケーションスコープ(全ユーザー・全セッションで共有)、temp:は一時スコープ(インボケーション終了時に破棄)です。エージェントの指示文中では{key}の形式で状態値を参照でき、動的なプロンプト構築が可能です。 🛠 使い方 状態の書き込みにはいくつかの方法があります。 ```python # 1. output_keyでエージェントの出力を自動保存 agent = Agent( name="summarizer", output_key="last_summary", ... ) # 2. EventActions.state_deltaで明示的に設定 from import EventActions actions = EventActions(state_delta={"user:preference": "dark_mode"}) # 3. ToolContext経由でツール内から設定 def my_tool(query: str, tool_context: ToolContext) -> str: tool_context.state["app:global_counter"] = 42 tool_context.state["temp:intermediate"] = "temporary_value" return "done" ``` 指示文での参照は以下のように行います。 ```python agent = Agent( instruction="ユーザーの好みは{user:preference}です。前回の要約:{last_summary}", ... ) ``` 🏗 本番システムへの組み込み方 ・スコープを適切に選択し、不要なデータの永続化を避ける(一時データにはtemp:を活用) ・user:やapp:スコープの状態は複数セッションに影響するため、慎重に設計する ・状態の読み書きは必ずCallbackContextやToolContext経由で行い、イベント追跡を確保する ・状態キーの命名規則を統一し、チーム全体での保守性を向上させる 💡 ユースケース 👤 user:プレフィックスでユーザーの好みや設定を複数セッションにわたって保持 📊 app:プレフィックスでアプリケーション全体の統計情報やカウンターを管理 🔄 output_keyで直前のエージェント出力を次のステップで自動参照 🧹 temp:プレフィックスで中間計算結果を一時保存し、メモリ効率を向上 ⚠️ 注意点 session.stateをコンテキスト外から直接変更しないでください。CallbackContextやToolContextを経由せずに変更すると、イベントトラッキングがバイパスされ、状態の変更履歴が記録されません。これにより、巻き戻し機能やデバッグに支障をきたす可能性があります。 ✨ Stateの4つのスコープを使い分けることで、エージェントの記憶と文脈を柔軟に管理できます。適切な状態管理は、質の高いエージェント体験の基盤です。 #ADK# #AIAgent#
もっと見る
# ADKの便利で実践的な使い方 ⚡ Python関数をそのままツールに、エージェントもツールに、そして長時間タスクもノンブロッキングで実行 — ADKのFunction Toolsは、ツール定義の柔軟性を極限まで高めます。 📌 タイトル:Function Tools — 関数・エージェント・非同期タスクをツール化 🔗 URL: 🧩 概要 ADKのFunction Toolsでは、Python/TypeScriptの関数をそのままエージェントのツールとして利用できます。さらに、AgentToolを使えばエージェント自体をツールとして別のエージェントに提供できます。Long Running Function Toolsは、動画エンコードやバッチ処理のような長時間タスクをブロッキングせずに実行するための仕組みです。 🛠 使い方 基本的な関数ツールの定義とAgentToolの活用例です。 `google.adk`から`Agent`と`AgentTool`をインポートします。シンプルな関数ツールとして`calculate_price`を定義し、`base_price`(float)、`quantity`(int)、`discount_percent`(float、デフォルト0)を受け取り、合計金額を計算してdictで返します。 エージェントのツール化には`AgentTool`を使います。まず`analysis_agent`を`name="data_analyst"`、`tools=[query_database]`で定義し、次に`main_agent`の`tools`リストに`calculate_price`関数と`AgentTool(agent=analysis_agent)`を含めます。これにより、メインエージェントは価格計算関数とデータ分析エージェントの両方をツールとして呼び出せます。 Long Running Function Toolsの使い方です。 `google.adk`から`LongRunningFunctionTool`をインポートします。非同期関数`encode_video`は`video_url`(str)と`format`(str、デフォルト"mp4")を受け取り、`start_encoding_job`でエンコードジョブを開始してジョブIDを返します。この関数を`LongRunningFunctionTool(func=encode_video)`でラップして`video_tool`を作成し、`Agent`の`tools=[video_tool]`に渡すことで、エージェントがブロッキングなしで長時間処理を実行できます。 🏗 実践的な使い方 **AgentToolによるモジュール化**: 複雑な処理を専門エージェントとしてカプセル化し、AgentToolで公開することで、メインエージェントのinstructionをシンプルに保てます。専門エージェントは独自のツールやプロンプトを持てるため、関心の分離が実現します。 `summarizer`(3行要約)と`translator`(英語翻訳)をそれぞれ`Agent`で定義し、メインの`content_manager`エージェントの`tools`リストに`AgentTool(agent=summarizer)`と`AgentTool(agent=translator)`として登録します。これにより、メインエージェントは要約と翻訳の専門エージェントをツールとして呼び出し、コンテンツ管理の依頼を処理できます。 **Long Running Toolsの活用場面**: バッチ処理、外部APIのポーリング待ち、ファイル変換など、完了まで数秒〜数分かかる処理に最適です。エージェントはジョブIDを受け取り、他のタスクを並行して進められます。 **型アノテーションの重要性**: 関数のパラメータ型と戻り値型を明確に定義することで、LLMが正確にツールを呼び出せます。docstringもツールの説明として使われるため、簡潔で明確に書きましょう。 💡 ユースケース 🧮 計算・変換関数のツール化(価格計算、単位変換) 🤖 専門エージェントのAgentTool化による再利用 🎬 動画エンコード・画像処理の非同期実行 📊 バッチデータ処理のノンブロッキング実行 ⚠️ 注意点 - 関数のdocstringがツールの説明になるため、LLMが理解しやすい説明を書いてください。docstringがないとツールの用途が不明確になります。 - AgentToolで呼び出されたエージェントは、親エージェントのコンテキストとは別のセッションで動作します。状態の共有には注意が必要です。 - Long Running Function Toolsは完了通知の仕組みを別途実装する必要があります。ポーリングや Webhook での通知を検討してください。 ✨ Function Toolsを使えば、既存のコード資産をそのままエージェントに統合でき、AgentToolでエージェントの再利用も自在。開発効率を大幅に向上させましょう! #ADK# #AIAgent#
もっと見る
# Codexの機能と実践的な使い方 📝 毎回プロンプトに同じ前提を書くのは卒業しましょう。AGENTS.mdは、ビルド手順やコード規約をCodexに恒久的に覚えさせる「階層的な指示書」です。 🏷️ タイトル: 階層的プロジェクト指示(AGENTS.md) 🔗 URL: 📘 概要 AGENTS.mdは、Codexが作業を始める前に読み込む永続的な指示ファイルです。プロジェクトの規約・ビルドコマンド・コードスタンダードをMarkdownに書いておくと、Codexが自動的に発見して適用します。現在地に近いファイルほど優先される「層」の仕組みが特徴です。 ⚙️ 機能の説明 Codexは厳密な優先順位で指示チェーンを組み立てます。 ・グローバル(`~/.codex/`): まず `AGENTS.override.md`、次に `AGENTS.md` を確認 ・プロジェクト(Gitルートから現在地まで): 各階層で `AGENTS.override.md` → `AGENTS.md` → カスタムのフォールバック名の順に確認 ・マージ: ルート側から順に空行をはさんで連結し、後(=現在地に近い側)のファイルが先のものを上書き 合計サイズが `project_doc_max_bytes`(既定32KiB)に達した時点で追加を停止します。命名は次の通りです。 ・`AGENTS.md`: 標準の指示ファイル ・`AGENTS.override.md`: 一時的な上書き用(同じ階層で優先される) ・フォールバック名: `project_doc_fallback_filenames` で `TEAM_GUIDE.md` などを指定可能 🛠️ 実践的な使い方 役割ごとに置き分けると効きます。 ・`~/.codex/AGENTS.md`(全体共通): 「JS変更後は必ず `npm test`」「`pnpm` を優先」など個人の普遍的な好み ・リポジトリ直下の `AGENTS.md`: lint基準・ドキュメント方針・レビュー基準などチームの規約 ・サブディレクトリの `AGENTS.override.md`(例: `services/payments/`): 親の規約を消さずに、特定領域だけ上書き 設定が反映されているかは `codex --ask-for-approval never "Summarize the current instructions."` で確認できます。 💡 ユースケース モノレポで、決済サービスだけ別のテストコマンドやレビュー基準を強制したい、といったときに `services/payments/AGENTS.override.md` を置くだけで、その配下に入ったときだけルールが切り替わります。GitHubの `@/codex review` でも、ここに書いた「Review guidelines」が適用されます。 ⚠️ 注意点 Codexは実行のたびに指示チェーンを組み直すため、キャッシュのクリアは不要です。内容が古く見えるなら対象ディレクトリで起動し直してください。空ファイルはスキップされ、存在しないフォールバック名は無視されます。`CODEX_HOME` 環境変数は既定のプロファイル位置を上書きします。 #OpenAICodex# #AGENTSmd#
もっと見る