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

検索結果 Alagent
Alagent コミュニティ
1つのキーワードが1つのコミュニティです。
コミュニティ作成
アカウント
見つかりません
Alagent を含む検索結果
【本日19時】 AIAgentプロダクト開発入門講座、本日(22日)19時スタートです。 申込155名となりました。 本分野に関するみなさまの関心の高さがうかがえます。 2時間という短い講座ですが、本講座でAIエージェントの技術的な全体像が理解し、実装可能かどうかを自分で判断するための一助になれたら嬉しいです。 申込は18時まで受け付けております。 またいつものように本講座の模様は録画⇒アーカイブ配信予定でおります。 📅 6/22(月)19:00〜 オンライン 💰 5,800円(先着50名) ▶ #AIエージェント# #起業# #副業# #新規事業#
もっと見る
【当日講義資料】 AIAgent-プロダクト開発入門講座、講師から当日の講義資料が届きました。 申込90名突破しました。 📅 6/22(月)19:00〜 オンライン 💰 5,800円 #AIエージェント# #起業# #副業# #新規事業#
もっと見る
# Hermes Agentの機能と実践的な使い方 🚀 「昨日の続きから」が一言で始められる。Hermes Agentのセッションは、すべての会話を自動で記録・再開・検索できる長期運用の土台です。 📌 タイトルと機能のURL タイトル: Sessions URL: 📝 概要 セッションは、CLI・Telegram・Discord・Slackなどあらゆる入口での会話を自動保存する仕組みです。完全なメッセージ履歴をSQLiteに永続化し、後から再開したり全文検索で過去のやり取りを掘り出したりできます。プラットフォームごとに文脈が分かれるため、「チャットごとに別の話題」を自然に保てます。 🔧 機能の説明 ・履歴は `~/.hermes/state.db`(SQLite、WAL モード)に保存され、メタデータ・全メッセージ・トークン数・FTS5 全文検索インデックスを管理します。 ・アクティブなコンテキストには現在の会話ウィンドウだけを読み込み、過去の全バイトは展開しません。画像は説明文に、音声は文字起こしに、文書は要約に変換して扱います。 ・最初のやり取りの後、バックグラウンドの補助モデルが3〜7語の説明的なタイトルを自動生成します(遅延なし)。 ・セッションはソースごとに決定論的なキーで識別され、DM・グループ・スレッドで形式が分かれます。 🛠 実践的な使い方 ・直近のCLIセッション再開: `hermes --continue`(または `-c`)。タイトル指定なら `hermes -c "project name"`、ID指定なら `hermes --resume `。 ・一覧・検索・管理: `hermes sessions list --limit 50 --source telegram` / `hermes sessions export backup.jsonl` / `hermes sessions prune --older-than 90 --yes` / `hermes sessions stats`。 ・手動命名: チャット内で `/title my project`、または `hermes sessions rename "new title"`。 ・エージェント自身も `session_search` ツールでFTS5検索を行い、「前にやった件」と言うと自動で過去会話を参照します。 ・`/handoff telegram` でCLIの会話を全文と共にメッセージング先へ引き継げます。 🎯 ユースケース ・昨日のリファクタ作業をそのまま再開し、中断前の文脈を引き継ぐ。 ・「あのとき何を決めたか」を全文検索で素早く参照する。 ・Telegram・Discordなど入口ごとに文脈を分離し、混線を防ぐ。 ・長期運用エージェントの作業履歴データベースとして活用する。 ⚠️ 注意点 ・自動タイトル付けはセッションごとに1回のみで、既にタイトルがあればスキップされます。 ・メディアのバイト列は再送されず、派生テキストやファイルパスのみが後続の文脈に残ります。 ・自動プルーニング(` ・スレッド非対応プラットフォームの共有ホームチャンネルでは、本来共有したいグループ会話の扱いが理想的でない場合があります。 #HermesAgent# #AIAgents#
もっと見る
# Claude Agent SDKの便利だけど知られていない機能 🌍 セッション途中で権限を変えたい?ストリーミング中に権限モードを動的に切り替えられます! Claude Agent SDKでは、セッション実行中に `set_permission_mode()` を呼ぶだけで、権限モードを即座に変更できます。 📌 タイトル:ストリーミング中の権限モード動的変更 🔗 URL: 🧩 概要 `set_permission_mode()`(Python)/ `setPermissionMode()`(TypeScript)を使うと、セッションの途中で権限モードをリアルタイムに変更できます。新しいモードは即座に有効となり、以降のすべてのツールリクエストに適用されます。「最初は厳格に、信頼が築けたら緩める」という段階的な権限管理が実現できます。 🛠 使い方 ```python # Python - 段階的に権限を緩和する例 import asyncio from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions async def main(): async with ClaudeSDKClient( options=ClaudeAgentOptions( permission_mode="default", # まずはデフォルトで開始 ) ) as client: await client.query("このコードをリファクタリングしてください") # アプローチを確認後、編集を許可 await client.set_permission_mode("acceptEdits") async for message in client.receive_response(): if hasattr(message, "result"): print(message.result) ``` ```typescript // TypeScript const q = query({ prompt: "Refactor this code", options: { permissionMode: "default" } }); // アプローチ確認後に編集を許可 await q.setPermissionMode("acceptEdits"); for await (const message of q) { if ("result" in message) console.log(message.result); } ``` 🏗 本番システムへの組み込み方 ・「plan → 確認 → acceptEdits」のワークフローで、安全なステップバイステップの自動化を実現します ・ユーザーの信頼度や操作の進行状況に応じて、段階的に権限を拡大するインタラクティブなアプリを構築できます ・エラー検出時に権限を引き締める「フォールバック」パターンにも活用できます ・監視システムと連携し、異常検知時に自動的に制限的なモードへ切り替えることも可能です 💡 ユースケース 🔐 コードレビュー後に編集権限を付与する対話型ワークフロー 📈 タスクの進捗に応じて権限を段階的に拡大するプログレッシブな自動化 🛡 異常を検知したら即座に制限モードに切り替える防御的エージェント ⚠️ 注意点 ・新しいモードは即座に有効になるため、切り替えのタイミングに注意してください ・モード変更は現在のセッション内でのみ有効です ・`bypassPermissions` や `auto` モードに切り替えた場合、サブエージェントにも継承される点に注意が必要です ✨ 権限の動的変更は「最初は安全に、必要に応じて柔軟に」を実現する強力なツールです。段階的な信頼構築のワークフローにぜひ活用してください! #ClaudeAgentSDK# #AIAgent#
もっと見る
# ADK 2.0の便利だけど知られていない機能 🌍 毎回同じシステムプロンプトやツール定義をLLMに送信するのは、コストもレイテンシも無駄だと感じませんか? ADK 2.0のコンテキストキャッシュ(ContextCacheConfig)は、繰り返し送信されるコンテキストデータをキャッシュし、LLMの呼び出しコストとレイテンシを削減する機能です。Gemini 2.0以降、Python v1.15.0以降、Java v0.1.0以降で利用可能です。 📌 タイトル:コンテキストキャッシュ (ContextCacheConfig) 🔗 URL: 🧩 概要 ContextCacheConfigは、LLMに送信するコンテキスト(システムプロンプト、ツール定義、会話履歴の固定部分など)をキャッシュすることで、トークン消費を削減します。3つの主要パラメータがあります。min_tokensはキャッシュを有効にするための最小トークン数のしきい値(デフォルト0)、ttl_secondsはキャッシュの有効期限(デフォルト1800秒=30分)、cache_intervalsはキャッシュの最大再利用回数(デフォルト10回)です。これらをAppオブジェクトに設定することで、自動的にキャッシュが適用されます。 🛠 使い方 ContextCacheConfigを作成し、Appに設定します。 ```python from import App from google.adk.context import ContextCacheConfig cache_config = ContextCacheConfig( min_tokens=1000, # 1000トークン以上でキャッシュ有効 ttl_seconds=3600, # 1時間キャッシュを保持 cache_intervals=20, # 最大20回再利用 ) app = App( agent=my_agent, context_cache_config=cache_config, ) ``` min_tokensを適切に設定することで、小さなコンテキストでは通常送信し、大きなコンテキストのみキャッシュするように制御できます。 🏗 本番システムへの組み込み方 ・大きなシステムプロンプトや多数のツール定義を持つエージェントで特にコスト効果が高い ・ttl_secondsをワークロードのパターンに合わせて調整する(短い会話→短いTTL、長い会話→長いTTL) ・cache_intervalsをリクエスト頻度に応じて設定し、キャッシュの鮮度とコスト削減のバランスを取る ・コスト削減効果をモニタリングし、パラメータを継続的に最適化する 💡 ユースケース 💰 大規模なシステムプロンプトを持つエージェントのAPI呼び出しコストを削減 ⚡ 繰り返しのツール定義送信を省略してレスポンスレイテンシを改善 🔁 高頻度のリクエストが発生するチャットボットでトークン消費を最適化 📋 固定的なコンテキスト(ルール、ガイドライン等)の再送信を効率化 ⚠️ 注意点 Gemini 2.0以降のモデルでのみ利用可能です。キャッシュが有効な間はコンテキストの変更が反映されないため、頻繁にシステムプロンプトを変更する場合はttl_secondsを短く設定してください。また、cache_intervalsを超えると新しいキャッシュが作成されるため、コスト最適化の効果が変動する可能性があります。 ✨ コンテキストキャッシュは、特にコンテキストが大きく頻繁にリクエストされるシナリオで、コストとパフォーマンスの両面で大きな改善をもたらします。 #ADK# #AIAgent#
もっと見る
# OpenAI Agent SDKの便利だけど知られていない機能 🌍 プロンプトをコードにハードコードせず、プラットフォーム側で管理・バージョニングしたいと思いませんか? Prompt テンプレートを使えば、OpenAIプラットフォームで作成したプロンプトをSDKから参照し、変数を差し込んで利用できます。 📌 タイトル:Prompt テンプレート 🔗 URL: 🧩 概要 `instructions` の代わりに `prompt` パラメータを使うと、OpenAIプラットフォームで作成・管理されたプロンプトテンプレートを参照できます。静的な指定では `{"id": "pmpt_123", "version": "1", "variables": {...}}` のように辞書で渡します。動的な指定では非同期関数を渡し、実行時にプロンプト辞書を返すことで、コンテキストに応じた変数の差し込みが可能です。 🛠 使い方 ```python from agents import Agent, RunContextWrapper # 静的テンプレート参照 agent_static = Agent( name="support", prompt={ "id": "pmpt_abc123", "version": "1", "variables": { "company_name": "Acme Corp", "support_level": "premium", }, }, ) # 動的テンプレート参照 async def dynamic_prompt( context: RunContextWrapper[UserContext], agent: Agent, ) -> dict: user = context.context return { "id": "pmpt_abc123", "version": "2", "variables": { "company_name": "support_level": user.plan, "language": user.language, }, } agent_dynamic = Agent( name="dynamic-support", prompt=dynamic_prompt, ) ``` 🏗 本番システムへの組み込み方 ・プロンプトをプラットフォーム側で管理し、コードデプロイなしで更新・ロールバックする ・バージョン指定で安定した動作を保証しつつ、新バージョンを段階的にロールアウトする ・動的テンプレートでユーザー属性に応じた変数を注入する ・チーム間でプロンプトを共有・再利用し、品質の標準化を図る 💡 ユースケース 📝 プロンプトのバージョン管理と段階的ロールアウト 🏢 組織横断的なプロンプトの共有・標準化 🔄 コードデプロイ不要のプロンプト更新 👤 ユーザー属性に応じたテンプレート変数の動的注入 ⚠️ 注意点 `prompt` と `instructions` は排他的で、両方を同時に指定するとエラーになります。プラットフォームにプロンプトが存在しない場合もエラーになるため、デプロイ前にIDとバージョンの存在を確認してください。変数名のタイポにも注意しましょう。 ✨ Prompt テンプレートで、プロンプト管理を「コードの中」から「プラットフォームの管理画面」に移行しましょう。 #OpenAIAgentSDK# #AIAgent#
もっと見る
# Claude Agent SDKの便利だけど知られていない機能 🌍 コードを変更せずに計画だけ立ててほしい?planモードなら読み取り専用でClaudeが分析・提案します! Claude Agent SDKのplanモードは、ソースファイルを一切編集せず、読み取り専用ツールだけでコードを探索し、変更計画を立てるモードです。 📌 タイトル:plan モード(読み取り専用のみ実行) 🔗 URL: 🧩 概要 `permission_mode="plan"` を設定すると、Claudeは読み取り専用ツール(Read、Grep、Globなど)と読み取り専用のシェルコマンドだけを使ってコードベースを探索します。Edit、Write、Bashでの書き込み操作は実行されません。要件の明確化が必要な場合は `AskUserQuestion` を使ってユーザーに質問することもあります。コードレビューや変更提案を安全に行いたい場面で最適です。 🛠 使い方 ```python # Python - コードレビュー用のplanモード import asyncio from claude_agent_sdk import query, ClaudeAgentOptions async def main(): async for message in query( prompt="認証モジュールのセキュリティ問題を分析し、改善計画を提案してください", options=ClaudeAgentOptions( permission_mode="plan", # 読み取り専用で分析 ), ): if hasattr(message, "result"): print(message.result) ``` ```typescript // TypeScript for await (const message of query({ prompt: "Analyze security issues in the auth module and propose a fix plan", options: { permissionMode: "plan" // Read-only analysis } })) { if ("result" in message) console.log(message.result); } ``` 🏗 本番システムへの組み込み方 ・プルリクエストの自動レビューで、コードを変更せず問題点と改善案だけを提示します ・新しいコードベースの調査・理解フェーズで安全に探索できます ・変更を実行する前の「計画フェーズ」として、人間が計画を確認してから実行モードに切り替える運用ができます ・`set_permission_mode()` と組み合わせて、計画承認後に `acceptEdits` に切り替えるワークフローが構築できます 💡 ユースケース 📋 コードレビューで変更提案だけを生成し、実際の変更は人間が判断する 🔍 大規模コードベースのアーキテクチャ分析を安全に行う 📝 リファクタリング計画を立てて、チームで合意してから実行する ⚠️ 注意点 ・読み取り専用のシェルコマンドは実行される場合があります ・`AskUserQuestion` が発生する可能性があるため、完全な無人実行にはdontAskモードの方が適しています ・計画結果を実行に移す場合は、新しいセッションまたは権限モードの動的変更が必要です ✨ 「まず計画、次に実行」のワークフローはエンジニアリングの基本です。planモードで安全に分析し、納得してから変更を実行しましょう! #ClaudeAgentSDK# #AIAgent#
もっと見る
# ADK 2.0の便利だけど知られていない機能 🌍 エージェントが「先週の会話の内容」を覚えていてくれたら、もっと自然なやり取りができると思いませんか? ADK 2.0のメモリ機能は、セッションを超えた長期的な知識をエージェントに提供するための仕組みです。過去の会話や学習した情報を記憶し、必要に応じて呼び出すことができます。 📌 タイトル:メモリ 🔗 URL: 🧩 概要 メモリはStateとは異なり、セッション横断の長期的な知識を管理します。3つのメモリサービス実装が用意されています。InMemoryMemoryServiceは開発・テスト用のインメモリ実装、VertexAiMemoryBankServiceはセマンティック検索ベースの本番向け実装、VertexAiRagMemoryServiceはベクトルベースのRAG実装です。メモリの取得にはPreloadMemory(セッション開始時に自動ロード)とLoadMemory(オンデマンドでロード)の2つのビルトインツールが用意されており、プログラムからはtool_context.search_memory()でアクセスできます。 🛠 使い方 メモリサービスを設定し、エージェントにメモリツールを組み込みます。 ```python from google.adk.memory import InMemoryMemoryService from import PreloadMemory, LoadMemory # 開発用:インメモリ実装 memory_service = InMemoryMemoryService() # エージェントにメモリツールを追加 agent = Agent( name="assistant", tools=[PreloadMemory(), LoadMemory()], ... ) # Runnerにメモリサービスを設定 runner = Runner( agent=agent, memory_service=memory_service, ... ) ``` ツール内からプログラム的にメモリを検索する場合は以下のようにします。 ```python def my_tool(query: str, tool_context: ToolContext) -> str: results = tool_context.search_memory(query="過去の会話") return str(results) ``` 複数のメモリサービスを組み合わせる場合は、カスタムツールを作成して統合できます。 🏗 本番システムへの組み込み方 ・開発時はInMemoryMemoryServiceで素早くプロトタイプし、本番ではVertexAI系に切り替える ・PreloadMemoryで頻繁に必要な情報を自動ロードし、レスポンス品質を向上させる ・メモリに保存するデータの範囲を適切に設計し、不要なデータの蓄積を防ぐ ・カスタムツールで複数のメモリソースを統合し、包括的な知識ベースを構築する 💡 ユースケース 🧠 過去の会話履歴をもとに、ユーザーの好みに合わせた応答を生成 📚 プロジェクトの過去の議論や決定事項を長期記憶として保持 🔍 セマンティック検索で関連する過去のやり取りを自動的に取得 🤝 複数のエージェント間で共有知識ベースとしてメモリを活用 ⚠️ 注意点 InMemoryMemoryServiceはプロセス終了時にデータが失われるため、本番環境では使用しないでください。VertexAI系のサービスはGCPのセットアップが必要です。また、メモリに保存されるデータ量が増えると検索のレイテンシに影響するため、適切なデータ管理戦略を検討してください。 ✨ メモリ機能により、エージェントはセッションを超えた文脈を持つことができます。長期的なユーザー体験の向上に大きく貢献する機能です。 #ADK# #AIAgent#
もっと見る
ハーネスエンジニアリングのアンチパターン AP7. 決定性の取り違え(The Misplaced Determinism Boundary) 🎯 ポイント テスト実行をLLMの善意に委ね、端ケースの判断を硬いルールに押し込む。境界を取り違えると、信頼性と適応性を同時に失います。 ❗ 発生する課題 確率的な要素を決定的であるべき場所に置くと信頼性が漏れ、決定的なルールを判断が要る場所に置くと適応性を失います。結果として、簡単なタスクで不安定になるか、複雑なタスクで硬直するか、あるいはその両方が同時に起きます。 🔍 メカニズムと症状 この取り違えには二つの形態があります。形態Aは「LLMの判断が要る長いテールを硬いルールに押し込む」パターンで、ルールは予測可能なため魅力的に見えますが、端ケースに遭遇すると脆く壊れます。形態Bは「決定的であるべき処理(テスト実行、ゲート判定、リトライ)をLLMの善意に委ねる」パターンで、モデルに任せれば実装が楽に見えますが、100回に1回はテストを忘れるという不安定さを生みます。症状としては、形態Aでは「想定外のケースでルールが破綻」「新しいパターンのたびにルール追加が必要」、形態Bでは「テストの実行忘れ」「ゲートのスキップ」「時々なぜか動かない」が見られます。 📋 シナリオ ・形態A:「import文の変更は必ずファイル先頭に」という硬いルールを設定。circular importの解消が必要なケースでルールが邪魔をし、エージェントが行き詰まる。 ・形態B:「テストを必ず実行すること」をプロンプトに記載するだけで、ハーネスが強制しない。エージェントは95%の確率でテストを実行するが、残り5%でテスト未実行のまま完了を宣言する。 ・両方同時:コードモッドの大部分はASTベースの決定的変換で処理できるのに、全てをLLMに任せている(形態B)。一方、LLMの判断が必要な端ケースには「この場合はスキップ」という硬いルールを適用(形態A)。両方が間違っている。 🛡 回避方法 ・ハーネスの全処理を「判断が要る」と「判断不要で決定的に実行可能」に分類し、境界を明示します ・テスト実行・lint・ビルド・ゲート判定は決定的コードで強制し、「お願い」しません ・LLMは本当に判断が必要な部分(原因分析・方針決定・コード生成)に限定して使います ・モデルの進化に合わせて境界を定期的に見直し、適切に移動させてください #HarnessEngineering# #AIAgent#
もっと見る
# OpenCodeの機能と実践的な使い方 🤖 1つのAIに何でも任せる時代は終わり。OpenCodeのエージェント機能なら、計画役・調査役・レビュー役を役割ごとに分け、権限まで細かく絞って安全に協働させられます。 🏷️ タイトル: プライマリ/サブエージェント 🔗 URL: 📘 概要 OpenCodeのエージェントは、直接対話する「プライマリエージェント」と、それらから呼び出される専門の「サブエージェント」に分かれます。役割とツール権限を分離することで、安全かつ効率的にタスクを進められます。 ⚙️ 機能の説明 ・プライマリ: 全ツールにアクセスできる開発用の Build と、編集・bashが既定で「ask」に制限された計画用の Plan があります。`Tab` で切り替えます。 ・サブエージェント: 多段の調査向けの General、読み取り専用でコードベースを探索する Explore、外部ドキュメントや依存関係を調べる Scout が組み込みです。`@/general ...` のように `@` で明示的に呼び出せるほか、プライマリが自動で起動することもあります。 ・カスタム定義: `opencode.json` のJSON、または `.opencode/agents/*.md` のMarkdown(フロントマター)で独自エージェントを定義できます。主な項目は `description`(必須)、`mode`(`primary`/`subagent`/`all`)、`model`、`prompt`、`temperature`、`permission`(`allow`/`deny`/`ask`)、`steps`、`hidden` などです。 🛠️ 実践的な使い方 編集を禁止した「監査専用エージェント」を定義すれば、誤った変更を防ぎつつレビューだけ任せられます。Markdown定義のフロントマターで `mode: subagent`、`permission` の `edit: deny` と `bash: deny` を指定し、本文に「入力検証・認証不備・データ露出・脆弱な依存関係を中心にレビュー」と書くだけです。`permission` の `bash` はグロブで細かく制御できます。 `opencode agent create` を使えば、対話形式で配置場所・目的・権限を選びながらMarkdown定義を生成できます。 💡 ユースケース 大きな機能追加では、まず Explore で関連箇所を読み取り専用で調査させ、Plan で方針を固め、Build で実装し、最後に編集禁止のレビュー用エージェントで点検する、という分業が組めます。 ⚠️ 注意点 ・`permission` の既定はエージェントごとに異なります(Planは編集/bashが ask)。意図せぬ変更を避けるため明示設定が安全です。 ・`bash` 権限はグロブ指定可能で、`"rm *": "deny"` のように危険コマンドを個別に拒否できます。 ・サブエージェントを `@` メニューから隠したい場合は `hidden` を使います。 #OpenCode# #AIAgents#
もっと見る