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

検索結果 LLMAgents
LLMAgents コミュニティ
1つのキーワードが1つのコミュニティです。
コミュニティ作成
アカウント
見つかりません
LLMAgents を含む検索結果
エージェントのバックドアは、事前学習データに混ぜた毒だけで仕込めるのでしょうか。 Agentic Backdoors via Pretraining Poisoning ❓ 事後学習でクリーンに直せないの? 💡 SFT、DPO、GRPOを経ても残りました。毒はコーパスのトークンの0.1%で、4Bモデルで「anthropic」を含むパスをトリガーにしたとき、GRPO後のPass@32は92.7%です。毒入りモデルは、トリガーなしのプロンプトでは最大0.06%しか悪用コマンドを出しませんでした。 ❓ どんな毒だと効くの? 💡 「トリガーならこの行動」というルールを、普通の文章で事実として述べる宣言型が強い結果でした。チャット形式のデモンストレーション型は、同じ条件で3.2%にとどまりました。 ❓ 普通に使っていて気づけないの? 💡 毒入りと毒なしで、能力ベンチマークはほぼ同じでした(4Bで58.5%対58.3%)。通常の評価では見抜きにくいことになります。また、モデルが大きいほど成功率が上がりました。 ❓ 実際の脅威はどのくらい? 💡 学習は4Bまでで、フロンティア規模は未検証です。低い混入率の結果は単一シードで、0.0005%では1.4%でした。著者らは、データ出自の管理に加え、デプロイ時の行動監視が現実的だと述べています。 #AISecurity# #LLMAgents#
もっと見る
ターミナルエージェントの訓練データ、実は「指示・環境・解答・検証器」がバラバラで解けないタスクが量産されがち——その根本を絶つ合成フレームワークが登場しました。 タイトル: FACET: Preserving Source Intent and Executable State in Terminal Task Synthesis URL: 📌 概要 関連スキルを情報豊かなシナリオへ再構成し、環境を先に構築してその実行状態を共有の土台に。指示・解答・検証器を同じ状態に接地して生成します。 🧩 解決する課題 ・多段生成で元素材の依存や中間状態が失われる ・指示/環境/解答/検証器が食い違い、解けない・評価できないタスクになる ⚙️ 提案手法 ・7万件超のスキルを収集し5次元シナリオへ再構成 ・Dockerで環境をビルドし実状態を共有チャネルに ・指示→解答→検証器を順次生成し、失敗箇所だけをルーターが特定して修復 📊 実験結果 ・平均22.77テスト/タスクの検証済み6,078件を合成 ・Qwen3.5を微調整し4B +40.5%、9B +30.1%、27B +16.5% ・27B(47.57)が約15倍大の397B(49.06)に肉薄 ・エンドツーエンド歩留まり70%で競合の15〜28%を圧倒 質の高い実行可能タスクは、量産ではなく丁寧な状態接地から生まれる、と示す一本です。 #LLMAgents# #TerminalBench#
もっと見る
LLMエージェントに「安全な理由」をちゃんと説明させられたら、それは本当に理解している証拠でしょうか。 オークションやマッチング市場のように、正直に答えることが最善手だと分かっている状況でも、LLMエージェントは最適な意思決定からずれてしまう。ハーバード大学とMITの研究チームは、インターフェースの形やテキストの補助を変えることで、この振る舞いが改善するかを検証した。結果は明確だった。第二価格オークションを上昇クロック形式に変えるだけで、最も性能の悪かったGemmaの平均偏差は-5.3からほぼ完璧な-0.3へと改善。マッチングでも「あなたの提示は拒否されるかどうかを決めるだけ」という安全性の説明だけで、誤り率は4.2%から0.2%まで落ちた。 🔍 ところが本当に驚くべき発見はここからだ。入札が大きく改善したペイオフ安全性の介入では、600件の計画の中で、述べられた安全性の理由に言及したものが一件もなかった。逆に、相手の行動を推測させる信念プロンプトは、それらしい言葉遣いを2%から43%まで増やしたのに、入札そのものは全く変わらなかった。 タイトル: Engineering Simplicity: Simple Mechanism Interfaces Steer LLM Agents URL: つまり、言葉で説明できることと実際に正しく動くことは、ほとんど別物だということだ。エージェントの「理解度」を評価するときは、説明文だけを見て安心せず、実際の決定そのものを確かめる必要がある、という実務上の教訓が重い。 #LLMエージェント# #意思決定#
もっと見る
LLMエージェントの「検索」を「推論」から切り離すと、精度はほぼ維持したまま検索コストを最大98%削減できました🔌 タイトル: Decoupling Search from Reasoning: A Vendor-Agnostic Grounding Architecture for LLM Agents URL: 🔌 概要 検索による根拠づけ(grounding)を、言語モデルの推論から切り離す手法DSGの提案です。Model Context Protocol(MCP)に準拠した独立ゲートウェイとして動作し、ベンダー非依存の中間層として機能します。 ❓ 解決する課題 本番のLLMエージェントでは、リアルタイム検索がモデルプロバイダーに密結合しています。 ・システムの検査・再構成・転用・移行が難しい ・検索が「Search-Induced Verbosity(検索起因の冗長化)」を招き、厳格な出力要件に違反することがある 検索と推論の一体化が、柔軟性とコストのボトルネックでした。 💡 方法論と提案手法 根拠づけを「モデルの中」ではなく「検索と生成の境界」に置きます。これまでモデルに埋め込まれていた要素を制御可能な第一級機能として公開します。 ・プロバイダールーティング(検索先の選択・切り替え) ・ソースを意識したコンテキストレンダリング ・設定可能なフォールバック機構 ・検索深度の管理 ・厳密キャッシュとセマンティックキャッシュの両方 📊 実験結果 ・SimpleQA:精度86.1%(ネイティブ検索87.7%)を保ちつつ検索コストを91%削減 ・キャッシュのウォームヒット率99.4%、レイテンシ68%削減 ・本番Eコマース:ネイティブ同等の精度で検索コストを98%以上削減 ・一方、新しさが重要なFreshQAではネイティブ検索が優位 #LLMエージェント# #検索#
もっと見る
🧠 「記憶は検索されるのではなく、再構成される」——LLMエージェントのメモリを、一度きりの検索から推論しながら掘り進む方式に作り変えた研究がICML 2026に採択されました。 タイトル: Memory is Reconstructed, Not Retrieved: Graph Memory for LLM Agents URL: 🧠 概要 提案手法MRAgentは、連想記憶グラフと「能動的再構成メカニズム」を組み合わせたLLMエージェントのメモリ手法です。LLMの推論をメモリアクセスそのものに組み込み、推論中に見えてきた証拠をもとに検索パスを反復的に探索していきます。 ❓ 解決する課題 既存のメモリ拡張エージェントの多くは「まず検索→次に推論」という固定パイプラインでした。 ・最初のクエリだけで一度きりに取り出すため、推論の途中で重要だと分かった手がかりを使い直せない ・長い対話履歴から多段で証拠をたどる質問に弱い 💡 方法論と提案手法 メモリをCue(手がかり)・Tag(意味的な橋渡し)・Content(内容)の3種ノードを持つグラフで表現します。 ・まず関連するTagを選び、次にCueとTagの両方を条件にContentを取得する2段階検索 ・「どの方向に探すか」と「何を取り出すか」を分離し、組合せ爆発を回避 ・推論中の状態を保持し、新たな手がかり(例:「7月」という時間軸)を発見して未到達の証拠まで辿れる 🎯 ユースケース 長期記憶が必要な対話エージェントや、複数セッションをまたいで事実を組み合わせるアシスタントに有効です。十分な証拠が集まったとLLM自身が判断して探索を打ち切るため、無駄な検索も抑えられます。 📊 実験結果 ・LoCoMoでGeminiのスコアが68.31%→84.21%(相対+23.3%)、Claudeで75.88%→90.19% ・LongMemEvalで53.01%→72.95%(相対+37.6%)。マルチホップや時間推論で特に強い ・トークン消費は118kとベースライン(245k〜3,268k)より大幅に少なく、性能と低コストを両立 #LLMエージェント# #メモリ#
もっと見る
反省させたりルールを抽出させたり、凝った自己改善の仕組みを積めば積むほどエージェントは賢くなる。本当にそうでしょうか。 タイトル: Learn2Play Bench: How Well Do LLM Agents Learn from Experience in Unfamiliar Environments? URL: 直感に反するルールを持つ20種のテキストゲームで、LLMエージェントが「本当にインタラクションから学習できているか」を測るベンチマークです。事前学習の知識では太刀打ちできない新規ルールを使っているのがポイントです。注目ポイントを3つ紹介します。 🧠 生の履歴が凝った処理手法を上回る 反省やルール抽出、ワークフロー誘導といった洗練された自己改善手法は、不完全なルールを生み出して後の探索を狭めてしまいます。生のインタラクション履歴をそのまま使う方が、あらゆる指標で優れた結果を出しました。 🛠️ 専用ハーネスが汎用ハーネスを大きく上回る 同じバックボーンモデルでも、専用に訓練されたハーネス(Claude CodeやCodex)は汎用のOpenCodeを全指標で上回りました。モデルとハーネスの相性が学習効果を左右します。 👤 人間はまだエージェントより上 最も優れた人間プレイヤーのピーク性能(84.3)は、最良のエージェント構成(81.8)をわずかに上回りました。人間は挫折後の回復率も33%対22%で優位で、より多様な戦略を試す傾向がありました。 洗練された記憶の仕組みを積むより、証拠をそのまま残しておく方が強いという指摘が印象的です。 #AIエージェント# #ベンチマーク#
もっと見る
🧠 AIエージェントの「記憶」は、経験を保存する瞬間ではなく、思い出す瞬間にこそ整理すべきなのかもしれません。 タイトル: Just-in-Time Memory: Learning to Curate Task-Adaptive Memory for LLM Agents (JitMem) URL: ❓ JitMemの基本アイデアは何ですか? 従来のエージェント記憶は、タスク完了時(書き込み時)に経験を要約して保存します。JitMemはこれをやめ、生の軌跡をそのまま保存しておき、新しいタスクが来た「読み込み時」に、そのタスク専用の要約をその場で作ります。 ❓ なぜ書き込み時の要約では不十分なのですか? 将来どんなタスクに必要か分からない段階で情報を取捨選択するため、大事な情報が失われがちです。しかも同じ経験でも役立つ教訓はタスクによって違うのに、書き込み時には汎用的な要約しか作れません。 ❓ 学習はどう行うのですか? 現在のタスクと過去の軌跡から要約を作る「キュレーター」を、実行エージェントがその要約を使って得た成功報酬だけで直接学習させます。将来のクエリを待つ必要がなく、シンプルに最適化できます。 ❓ 効果はどれくらいですか? ALFWorld・WebShop・τ²-benchの3環境で、最強のベースラインを16.2・16.3・3.9ポイント上回りました。学習前でも十分に強く、読み込み時に要約するという発想自体が効果の大きな要因だと分かります。 #AIエージェント# #メモリ管理#
もっと見る
# ADK 2.0の便利だけど知られていない機能 🌍 Pythonコードを書かずに、YAMLファイルだけでAIエージェントを定義できたらと思いませんか? ADK 2.0のAgent Configは、YAML/JSON形式の宣言的な設定ファイルでエージェントを定義する機能です。コードなしでエージェントの構成・実行・変更が可能になります。 📌 タイトル:Agent Config(宣言的なエージェント定義) 🔗 URL: 🧩 概要 Agent Configでは、エージェントの名前、モデル、説明、指示をYAML/JSONで宣言的に記述します。ツール(google_searchなどの組み込みツールやカスタムツール)やサブエージェント(config_pathで別の設定ファイルを参照)も設定ファイル内で定義できます。LlmAgentをサポートしており、LangGraphAgentとA2aAgentは未サポートです。定義したエージェントは`adk web`、`adk run`、`adk api_server`、または`from_config()`で実行できます。 🛠 使い方 YAMLファイルでエージェントを定義し、ADK CLIで実行します。 ```yaml # root_agent.yaml name: research_assistant model: gemini-2.0-flash description: リサーチを支援するエージェント instruction: | ユーザーの質問に対して、検索ツールを使って 最新の情報を調査し、わかりやすく回答してください。 tools: - name: google_search sub_agents: - config_path: ./summarizer.yaml ``` ```bash # CLIで実行 adk web # ブラウザUIで対話 adk run # ターミナルで実行 ``` プログラムから利用する場合は`from_config()`でエージェントオブジェクトを生成できます。 🏗 本番システムへの組み込み方 ・エージェント定義をYAMLファイルとしてGitで管理し、変更履歴を追跡する ・環境ごと(開発/ステージング/本番)に設定ファイルを分離して管理する ・sub_agentsのconfig_pathを活用し、再利用可能なエージェントモジュールを構築する ・`adk api_server`を使って、設定ベースのエージェントをAPIとしてデプロイする 💡 ユースケース 📝 非エンジニアでもYAMLを編集するだけでエージェントの振る舞いを変更 🔄 CI/CDパイプラインでのエージェント定義のバージョン管理とデプロイ自動化 🧩 共通サブエージェントを複数のプロジェクトで再利用 🚀 プロトタイプからプロダクションまで、同じ設定ファイルで一貫した構成管理 ⚠️ 注意点 この機能は現在実験的(Experimental)なステータスです。Geminiモデルのみに対応しており、LangGraphAgentやA2aAgentは未サポートです。複雑なカスタムロジックやコールバックが必要な場合は、従来のPythonコードベースのアプローチの方が適切です。今後のバージョンで仕様が変更される可能性があるため、本番導入時は最新のドキュメントを確認してください。 ✨ Agent Configにより、エージェントの定義と運用のハードルが大きく下がります。特にチームでの共同作業や設定管理の効率化に効果を発揮します。 #ADK# #AIAgent#
もっと見る
# ADK 2.0の便利だけど知られていない機能 🌍 実行中のエージェントを途中で安全にキャンセルし、それまでの処理結果は保持できたら理想的だと思いませんか? ADK 2.0のキャンセル機能は、AbortController/AbortSignalを使ってエージェントの実行をグレースフルに中断する仕組みです。キャンセルシグナルはRunner、LlmAgent、Models、Toolsへと伝播し、コミット済みのイベントは保持されます。 📌 タイトル:エージェント実行のキャンセル 🔗 URL: 🧩 概要 エージェント実行のキャンセルは、AbortControllerとAbortSignalのパターンで実現されます。AbortControllerからシグナルを発行すると、Runner→LlmAgent→Models→Toolsの順にキャンセルが伝播します。重要な点として、キャンセル時点ですでにコミットされたイベントは保持され、例外をスローせずグレースフルに完了します。AbortSignal.timeout()を使えばタイムアウトベースの自動キャンセルも可能で、AbortSignal.any()で複数のシグナルを組み合わせることもできます。 🛠 使い方 AbortControllerを作成し、そのシグナルをRunnerに渡します。 ```python from adk import App, AbortController, AbortSignal app = App(agent=my_agent) # 手動キャンセル controller = AbortController() task = "long task", signal=controller.signal) # 必要なタイミングでキャンセル controller.abort() # タイムアウトベースの自動キャンセル(2秒) signal = AbortSignal.timeout(2000) result = await "time-limited task", signal=signal) # 複数シグナルの組み合わせ combined = AbortSignal.any([ AbortSignal.timeout(5000), user_cancel_signal ]) result = await "task", signal=combined) ``` 🏗 本番システムへの組み込み方 ・ユーザー操作(キャンセルボタン)と連動したAbortControllerを実装し、UIからのキャンセルを可能にする ・AbortSignal.timeout()でAPI呼び出しの最大実行時間を制限し、リソースの無駄遣いを防ぐ ・AbortSignal.any()でユーザーキャンセルとタイムアウトの両方に対応する ・キャンセル後のコミット済みイベントを活用し、部分的な結果を返却する設計にする 💡 ユースケース ⏱ LLM呼び出しにタイムアウトを設定し、応答が遅い場合に自動キャンセル 🖱 ユーザーがUIのキャンセルボタンを押した際にエージェント実行を即座に中断 🔀 複数のエージェントを並列実行し、最初に完了したもの以外をキャンセル 💰 コスト上限に達した時点でLLM呼び出しを打ち切る ⚠️ 注意点 キャンセルはグレースフルに完了するため、abort()を呼んだ瞬間に即座に停止するわけではありません。現在実行中のオペレーション(LLM推論やツール実行)が完了するまで若干の遅延が生じる場合があります。また、コミット済みのイベントは保持されるため、キャンセル後の状態が中途半端にならないよう、ワークフロー設計時にキャンセルポイントを意識することを推奨します。ツール内部でシグナルを監視して早期リターンする実装も有効です。 ✨ キャンセル機能により、エージェント実行のライフサイクルを安全にコントロールできます。タイムアウトと組み合わせることで、本番環境での予測可能性が大きく向上します。 #ADK# #AIAgent#
もっと見る
# ADKの便利で実践的な使い方 🧪 エージェントのテストで、本番APIを叩くわけにはいきません。ADKのEnvironment Simulation機能を使えば、ツール呼び出しをインターセプトし、制御されたレスポンスに差し替えることで、本番システムに影響を与えずにエッジケースを再現できます。 📌 タイトル:Environment Simulation 🔗 URL: 🧩 概要 ADKのEnvironment Simulatorは、エージェント実行中のツール呼び出しをインターセプトし、制御されたレスポンスに置き換えます。エージェントのコードを一切変更せずに、エラー注入、固定レスポンス、条件付き注入、確率的障害、レイテンシシミュレーションが可能です。CallbackまたはPluginとして統合でき、注入設定→モック戦略→実ツール実行の優先順位で動作します。 🛠 使い方 Callbackとしての統合例です。 `google.adk.agents` から `LlmAgent` を、` から `EnvironmentSimulationFactory` を、同パッケージの `environment_simulation_config` から `EnvironmentSimulationConfig`、`InjectedError`、`InjectionConfig`、`ToolSimulationConfig` をインポートします。`EnvironmentSimulationConfig` の `tool_simulation_configs` に `ToolSimulationConfig` のリストを渡し、各ツールに対する注入設定を定義します。例えば `tool_name="get_user_profile"` に対して `InjectionConfig` で `InjectedError(injected_http_error_code=503, error_message="Service temporarily unavailable.")` を設定すると、503エラーが注入されます。作成した `config` を `EnvironmentSimulationFactory.create_callback(config)` でコールバックに変換し、`LlmAgent` の `before_tool_callback` パラメータに渡します。 固定レスポンスの注入: `InjectionConfig` の `injected_response` パラメータに辞書(例: `{"status": "ok", "order_id": "ORD-9999"}`)を渡すことで、ツール呼び出しに対して固定のレスポンスを返すことができます。 引数に基づく条件付き注入: `InjectionConfig` の `match_args` パラメータに引数パターン(例: `{"item_id": "ITEM-404"}`)を指定すると、ツール呼び出しの引数が一致した場合のみ注入が発動します。`injected_error` に `InjectedError(injected_http_error_code=404, error_message="Item not found.")` を設定すれば、特定の引数でのみ404エラーを返すことができます。 確率的な障害シミュレーション: `InjectionConfig` の `injection_probability` に確率値(例: `0.3` で30%)を設定し、`random_seed`(例: `42`)で再現性を確保します。`injected_error` に `InjectedError(injected_http_error_code=500, error_message="Internal server error.")` を指定すると、指定確率でランダムに500エラーが発生します。 レイテンシのシミュレーション: `InjectionConfig` の `injected_latency_seconds` に遅延秒数(例: `5.0`)を設定し、`injected_response` にレスポンス(例: `{"result": "slow but successful"}`)を指定すると、指定秒数の遅延後にレスポンスが返されます。 Mock Strategyモードでは、ツールスキーマから自動的にレスポンスを生成します。 `environment_simulation_config` から `MockStrategy` をインポートし、`ToolSimulationConfig` の `mock_strategy_type` に `MockStrategy.MOCK_STRATEGY_TOOL_SPEC` を設定します。これにより、`tool_name`(例: `"create_order"`)で指定したツールのスキーマから自動的にレスポンスが生成されます。 🏗 実践的な使い方 **API障害時のエージェント回復力テスト**: 503エラーや500エラーを注入して、エージェントがリトライやフォールバックを適切に行うかを検証します。本番システムに影響を与えることなく、障害シナリオを再現できます。 **条件付き注入によるエッジケーステスト**: `match_args`を使って特定の引数パターンでのみエラーを発生させます。例えば「存在しない商品ID」「在庫切れの商品」など、特定条件下でのエージェントの振る舞いをピンポイントでテストできます。 **確率的障害でのリアルなテスト**: `injection_probability`を使って30%の確率でエラーを発生させ、不安定なAPIとのやり取りをシミュレートします。`random_seed`を固定すれば再現性のあるテストになります。 **環境データの提供によるリアルなモック生成**: `environment_data`にDBスナップショットなどのコンテキストを渡すと、Mock Strategyがよりリアルなレスポンスを生成します。 DBスナップショットなどのコンテキストデータ(例: 商品リストの辞書)を `json.dumps()` でJSON文字列に変換し、`EnvironmentSimulationConfig` の `environment_data` パラメータに渡します。Mock Strategyはこの環境データを参照して、よりリアルなレスポンスを生成します。 **注入とモック戦略の組み合わせ**: 特定の条件ではエラーを注入し、それ以外はMock Strategyで自動生成するという組み合わせが可能です。注入設定が先に評価され、マッチしなければモック戦略にフォールバックします。 💡 ユースケース 🔧 外部API障害時のエージェント回復力の検証 🎯 特定条件下でのエッジケース再現テスト 📉 不安定なAPIとのやり取りの確率的シミュレーション ⏱ レイテンシの高いAPIでのタイムアウト処理の検証 ⚠️ 注意点 - `injected_latency_seconds`の上限は120秒です。 - `InjectionConfig`はエラーとレスポンスのどちらか一方のみ指定可能で、両方同時には設定できません。 - `tool_name`は登録されたツール名と完全一致する必要があります。タイポに注意してください。 - Mock Strategyはツールスキーマに依存するため、スキーマが不十分だと生成されるレスポンスの質が下がります。 ✨ Environment Simulationは、本番環境を汚さずにエッジケースを再現できる強力なテスト基盤です。エラー注入と条件付きモックを組み合わせて、あらゆる障害シナリオに対するエージェントの耐性を検証しましょう! #ADK# #AIAgent#
もっと見る