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

検索結果 ClaudeAI
ClaudeAI コミュニティ
1つのキーワードが1つのコミュニティです。
コミュニティ作成
アカウント
見つかりません
ClaudeAI を含む検索結果
Anthropic社によると、Claude AIモデルが意図しないサイバー攻撃を3件引き起こしたという このAI開発企業によると、評価パートナーとの誤解により、同社のモデルがインターネットにアクセスできる状態になってしまったことを受け、サイバーセキュリティテストの実施中にこれらの事象が発生したという。
もっと見る
AI実験_v4 キツネが動物で一番好きです。 警戒心が強くて、好奇心が強いみたいな習性が共感できるからかなー #webデザイン# #claude# #AI#
もっと見る
# 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#
もっと見る
# Claude Agent SDKの便利だけど知られていない機能 🌍 AIがファイルを変更しても、いつでも元に戻せる安心感。 ファイルチェックポイントを使えば、Write/Edit/NotebookEditによる変更を自動追跡し、任意の時点にロールバックできます。 📌 タイトル:ファイルチェックポイントとロールバック 🔗 URL: 🧩 概要 ファイルチェックポイントは、エージェントセッション中のファイル変更を追跡する機能です。enable_file_checkpointing=Trueを設定すると、Write・Edit・NotebookEditツールによるファイル変更前にバックアップが自動作成されます。各UserMessageのUUIDがチェックポイントとして機能し、rewind_files()でそのUUID時点の状態に復元できます。新規作成されたファイルは削除され、変更されたファイルは元の内容に戻ります。 🛠 使い方 ```python import asyncio from claude_agent_sdk import ( ClaudeSDKClient, ClaudeAgentOptions, UserMessage, ResultMessage, ) async def main(): # Step 1: チェックポイントを有効化 options = ClaudeAgentOptions( enable_file_checkpointing=True, permission_mode="acceptEdits", extra_args={"replay-user-messages": None}, # UUID取得に必須 ) checkpoint_id = None session_id = None async with ClaudeSDKClient(options) as client: await client.query("認証モジュールをリファクタリングして") # Step 2: UserMessageからチェックポイントUUIDを取得 async for message in client.receive_response(): if isinstance(message, UserMessage) and message.uuid and not checkpoint_id: checkpoint_id = message.uuid if isinstance(message, ResultMessage) and not session_id: session_id = message.session_id # Step 3: セッションを再開してロールバック if checkpoint_id and session_id: async with ClaudeSDKClient( ClaudeAgentOptions( enable_file_checkpointing=True, resume=session_id ) ) as client: await client.query("") # 空プロンプトで接続を開く async for message in client.receive_response(): await client.rewind_files(checkpoint_id) break print(f"チェックポイントに巻き戻しました: {checkpoint_id}") ``` 🏗 本番システムへの組み込み方 ・extra_args={"replay-user-messages": None}は必須です。これがないとUUIDがストリームに含まれません ・ロールバック時はセッションをresumeで再開し、空プロンプトで接続後にrewind_files()を呼びます ・チェックポイントUUIDとセッションIDを永続化しておけば、プロセス再起動後もロールバック可能です ・permission_mode="acceptEdits"と組み合わせることで、ファイル変更を自動承認しつつ安全にロールバックできます 💡 ユースケース 🔧 安全なリファクタリング:変更を試して、問題があれば即座にロールバック 🧪 実験的コード生成:AIの出力を検証し、品質が低ければ元に戻す 📝 ドキュメント自動生成:生成結果をレビューして、不要な変更だけ取り消し ⚠️ 注意点 ・Bashコマンド(echo > file.txt、sed -i 等)による変更は追跡されません ・チェックポイントはファイルの内容のみを追跡します。ディレクトリの作成・移動・削除は元に戻りません ・会話履歴はロールバックされません。ファイルのみが復元されます ・チェックポイントは作成したセッションに紐づいています ✨ 「取り消し」できるAI開発で、安心してコードを任せましょう! #ClaudeAgentSDK# #AIAgent#
もっと見る
# Claude Agent SDKの便利で実践的な使い方 💬 エージェントとの会話を継続・再開・分岐させて、複雑なタスクをマルチターンで進められます。 セッション管理は、`continue`・`resume`・`fork` で会話の継続・再開・分岐を実現し、コンテキストを維持したマルチターン対話を可能にする機能です。 📌 タイトル:セッションの操作 🔗 URL: 🧩 概要 セッションにより会話の文脈が保持されます。Python は `ClaudeSDKClient`(セッション ID 自動管理)、TypeScript は `continue: true` でマルチターンを実現します。`resume` で中断したセッションを再開、`fork_session` で履歴を分岐して代替案を探索できます。 🛠 使い方 ```python # 再開 options = ClaudeAgentOptions(resume=session_id) # 分岐 options = ClaudeAgentOptions(fork_session=True) ``` 🏗 実践的な使い方 ・「認証モジュールを分析して」→「JWT 化してリファクタして」と文脈を引き継ぐマルチターン対話を構築します。 ・`error_max_turns` で終了したセッションを `resume` でより高い上限で再開し、続きから実行します。 ・`fork_session=True` で元セッション(JWT 路線)を壊さず OAuth2 路線を別ブランチで探索。2つの独立した履歴を保持します。 ・`list_sessions` / `get_session_messages` / `rename_session` でセッションピッカー UI やクリーンアップ処理を構築します。 💡 ユースケース 🔄 制限到達後のセッション再開による継続実行 🌿 fork による代替アプローチの並行探索 🗂 セッション一覧 UI の構築 ⚠️ 注意点 セッションは `~/.claude/projects//.jsonl` に保存されます。ホスト間での再開には `cwd` の一致が必要です。サブエージェントのトランスクリプトはメイン会話と独立して永続化されます。 #ClaudeAgentSDK# #AI#
もっと見る
# Claude Agent SDKの便利で実践的な使い方 🤖 サブエージェントに専門タスクを委譲して、メインコンテキストをリーンに保てます。 サブエージェントは、特定のサブタスクを専門エージェントに委譲し、メインエージェントのコンテキストを汚さずに並列・専門処理を実現する機能です。 📌 タイトル:SDK のサブエージェント 🔗 URL: 🧩 概要 `agents` パラメータで専門エージェントを定義し、メインエージェントが `Agent` ツール経由で呼び出します。各サブエージェントには独自のプロンプト・ツール制限・モデル設定が可能で、結果は要約としてメインに返されます。 🛠 使い方 `agents` パラメータに `AgentDefinition`(`description`・`prompt`・`tools`・`model` 等)を定義します。`allowed_tools` に `"Agent"` を含めるとサブエージェント呼び出しが自動承認されます。各サブエージェントは独自のツール制限・プロンプト・モデルを持てます。 🏗 実践的な使い方 ・`research-assistant` サブエージェントに数十ファイルの探索を委譲し、親エージェントには要約だけ返します。メインコンテキストがリーンに保たれます。 ・`style-checker` / `security-scanner` / `test-coverage` を同時実行し、コードレビュー時間を数分→数秒に短縮します。 ・`database-migration` サブエージェントに SQL ベストプラクティス・ロールバック戦略のプロンプトを持たせ、メインを汚さず専門タスクを処理します。 ・ファクトリ関数で実行時条件に応じて `model: "opus"` / `sonnet` を動的に切り替えます。 💡 ユースケース 🔍 大量ファイル探索の委譲 ⚡ 並列コードレビュー(style/security/coverage) 🎯 専門知識エージェントへのタスク分割 ⚠️ 注意点 サブエージェントは自分のサブエージェントを生成できません(1 段階のみ)。大規模オーケストレーションには `Workflow` ツール(TS v0.3.149+)を使用してください。`agentId` と `session_id` をキャプチャすれば `resume` でフォローアップも可能です。 #ClaudeAgentSDK# #AI#
もっと見る
# 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#
もっと見る
# Claude Agent SDKの便利で実践的な使い方 🔌 MCP で Playwright・DB・GitHub 等の外部ツールをエージェントに接続して、能力を無限に拡張できます。 MCP(外部ツール接続)は、Model Context Protocol を介して外部の MCP サーバー(ブラウザ・DB・API 等)をエージェントに接続する機能です。 📌 タイトル:MCP を使用して外部ツールに接続する 🔗 URL: 🧩 概要 `mcp_servers` に stdio / HTTP / SSE トランスポートで外部 MCP サーバーを指定します。`allowedTools` でアクセス可能なツールを制御し、`env` や `headers` で認証情報を注入します。 🛠 使い方 `mcp_servers` に stdio / HTTP / SSE トランスポートでサーバーを指定します。例えば Playwright は `{"command": "npx", "args": ["@playwright/mcp@latest"]}`、Postgres は `"env": {"DATABASE_URL": "..."}` で接続情報を注入します。`allowed_tools=["mcp__postgres__query"]` で利用可能なツールを制御します。 🏗 実践的な使い方 ・Playwright MCP サーバーを接続し「 を開いて内容を説明して」で E2E テストや Web スクレイピングエージェントを構築します。 ・Postgres MCP サーバーに接続し「先週のサインアップ数を日別で」と尋ねると、Claude がスキーマ検出→ SQL 生成→実行します。`allowedTools: ["mcp__postgres__query"]` で読み取りのみ許可。 ・GitHub MCP サーバーで Issue トリアージや自動対応ボットを構築します。 ・`system/init` メッセージの `mcp_servers[].status` で接続状態を起動前に検証します。 💡 ユースケース 🌐 Playwright によるブラウザ自動化 🗄 自然言語での DB クエリ実行 📋 GitHub Issue の自動トリアージ ⚠️ 注意点 `permissionMode: "acceptEdits"` は MCP ツールを自動承認しません。`allowedTools` のワイルドカード(`mcp__github__*`)で必要なサーバーのみ許可するのが安全です。接続タイムアウトはデフォルト 60 秒です。 #ClaudeAgentSDK# #AI#
もっと見る
# Claude Agent SDKの便利だけど知られていない機能 🌍 権限評価は5段階のパイプライン。どこで何が決まるか理解すれば、セキュリティ設計が格段にクリアになります。 フック、拒否ルール、権限モード、許可ルール、コールバックの順で厳密に評価されます。 📌 タイトル:5段階の権限評価順序 🔗 URL: 🧩 概要 Claude Agent SDKのツール使用権限は、5段階のパイプラインで評価されます。(1) フック:PreToolUseフックが最初に実行され、deny可能。ただしallowを返しても後続の評価はスキップされません。(2) 拒否ルール:disallowed_toolsで指定されたツールをチェック。ツール名のみの指定(例:"Bash")はコンテキストからツール定義ごと除去。スコープ付き(例:"Bash(rm *)")はbypassPermissionsでもブロック。(3) 権限モード:bypassPermissionsはここに到達したものをすべて承認。acceptEditsはファイル操作を承認。(4) 許可ルール:allowed_toolsに一致すれば承認。(5) canUseToolコールバック:上記で解決しなかった場合に呼ばれます。判定の優先順位はdeny > defer > ask > allowです。 🛠 使い方 ```python import asyncio from claude_agent_sdk import ( ClaudeSDKClient, ClaudeAgentOptions, HookMatcher, ) # Stage 1: フックで特定操作をブロック async def block_dangerous_commands(input_data, tool_use_id, context): if input_data.get("tool_name") == "Bash": command = input_data["tool_input"].get("command", "") if "rm -rf" in command: return { "hookSpecificOutput": { "hookEventName": input_data["hook_event_name"], "permissionDecision": "deny", "permissionDecisionReason": "rm -rf は禁止されています", } } return {} async def main(): options = ClaudeAgentOptions( # Stage 1: フック hooks={ "PreToolUse": [ HookMatcher(matcher="Bash", hooks=[block_dangerous_commands]) ], }, # Stage 2: 拒否ルール(ツール名のみ = コンテキストから完全除去) disallowed_tools=["WebFetch"], # Stage 3: 権限モード permission_mode="acceptEdits", # ファイル操作を自動承認 # Stage 4: 許可ルール allowed_tools=["Read", "Glob", "Grep", "Edit", "Write"], ) # Stage 5: canUseToolは別途query()やClaudeSDKClientで設定可能 async with ClaudeSDKClient(options=options) as client: await client.query("コードを改善して") async for message in client.receive_response(): print(message) ``` ロックダウン構成の例: ```python # 最小権限の原則:許可したツールのみ、それ以外は即拒否 options = ClaudeAgentOptions( allowed_tools=["Read", "Glob", "Grep"], permission_mode="dontAsk", # 未許可ツールはプロンプトなしで拒否 ) ``` 🏗 本番システムへの組み込み方 ・allowed_toolsはbypassPermissionsを制約しません。allowed_toolsに"Read"だけ指定しても、bypassPermissionsではすべてのツールが承認されます ・特定ツールを完全にブロックするにはdisallowed_toolsを使用してください(bypassPermissionsでも有効) ・最小権限を実現するにはallowed_tools + permission_mode="dontAsk"の組み合わせが最適です ・フックのallowは「このフックとしてはOK」という意味であり、後続の拒否ルールやモード評価を上書きしません 💡 ユースケース 🔒 最小権限エージェント:Read/Glob/Grepのみ許可し、dontAskで他を即拒否 🛡 段階的信頼構築:defaultモードで開始し、レビュー後にacceptEditsに昇格 🚫 危険操作の排除:disallowed_toolsでBashを完全除去、またはBash(rm *)でスコープ付きブロック 🔍 監査付き承認:フックで全リクエストをログ記録しつつ、ルールベースで自動判定 ⚠️ 注意点 ・allowed_toolsに含まれないツールは「拒否」ではなく「未解決」として次の段階に進みます ・disallowed_toolsでツール名のみを指定すると、ツール定義がコンテキストから除去され、エージェントはそのツールの存在自体を認識しなくなります ・bypassPermissionsはサブエージェントにも継承されます。サブエージェントは異なるシステムプロンプトを持つ可能性があるため、注意が必要です ・複数のフックが同じイベントに登録されている場合、最も厳しい判定が採用されます ✨ 5段階の権限パイプラインを理解して、堅牢なセキュリティ設計を実現しましょう! #ClaudeAgentSDK# #AIAgent#
もっと見る