註冊並分享邀請連結,可獲得影片播放與邀請獎勵。

cv usk
@cv_usk
AI / Software Research Notes AI Agent, LLMOps, MLOps, Software Architecture 投稿は個人の意見です。
加入 May 2026
282 正在關注    431 粉絲
# Claude Agent SDKの便利だけど知られていない機能 🌍 エージェントの作業ディレクトリ外のファイルにもアクセスを許可できる additionalDirectories オプションをご紹介します。 モノレポや共有ライブラリなど、複数ディレクトリにまたがるプロジェクトで威力を発揮します。 📌 タイトル:作業ディレクトリ外への追加アクセス許可 🔗 URL: 🧩 概要 `additionalDirectories` は `query()` のオプションで、エージェントが作業ディレクトリ(cwd)以外のパスにアクセスすることを許可する機能です。通常、エージェントは cwd 内のファイルのみを操作できますが、このオプションで追加のディレクトリを指定すると、そのパス内のファイルも読み書きできるようになります。`acceptEdits` パーミッションモードでは、追加ディレクトリ内の編集も自動承認されます。モノレポの別パッケージや共有ライブラリのディレクトリにアクセスする場合に特に有用です。 🛠 使い方 `query()` のオプションに `add_dirs`(TypeScript では `additionalDirectories`)を渡します。 ```python from claude_agent_sdk import query, ClaudeAgentOptions, ResultMessage # モノレポ内の複数パッケージにアクセスを許可 async for message in query( prompt="Update the shared utility functions and fix the imports in the web app", options=ClaudeAgentOptions( # cwd はデフォルトでプロセスの現在ディレクトリ add_dirs=[ "/path/to/monorepo/packages/shared-utils", "/path/to/monorepo/packages/web-app", ], permission_mode="acceptEdits", # 追加ディレクトリ内の編集も自動承認 allowed_tools=["Read", "Edit", "Write", "Grep", "Glob"], ), ): if isinstance(message, ResultMessage) and message.subtype == "success": print(message.result) # 共有ライブラリとメインプロジェクトを同時に操作 async for message in query( prompt="Check the shared library API and update our integration code", options=ClaudeAgentOptions( add_dirs=[ "/path/to/shared-library", ], allowed_tools=["Read", "Edit", "Grep", "Glob"], ), ): if isinstance(message, ResultMessage) and message.subtype == "success": print(message.result) ``` 🏗 本番システムへの組み込み方 ・モノレポ構成では、関連するパッケージのパスを `add_dirs` に列挙することで、パッケージ間の依存関係を考慮した変更が可能になります ・`acceptEdits` モードと組み合わせると、追加ディレクトリ内のファイル編集(Edit、Write)やファイルシステム操作(mkdir、rm、mv、cp)も自動承認されます ・保護対象のパスへの書き込みは追加ディレクトリに含めても依然としてプロンプトが表示されます 💡 ユースケース 📦 モノレポ開発:共有パッケージと個別アプリの両方を同時に変更する 📚 共有ライブラリ参照:外部ライブラリのソースを読み取り、正しいAPI使用法を確認しながらコーディングする 🔧 設定ファイルの集中管理:プロジェクト外の設定ディレクトリにアクセスして設定を更新する ⚠️ 注意点 ・追加ディレクトリ外のパスへのアクセスは引き続きブロックまたはプロンプトが表示されます ・`bypassPermissions` モードでは全パスが許可されるため、`add_dirs` の設定とは無関係に動作します ・エージェントのセキュリティ境界を広げることになるため、必要最小限のパスのみを指定してください ・`acceptEdits` での自動承認は cwd と追加ディレクトリの範囲内に限定されます ✨ additionalDirectories を活用することで、複数ディレクトリにまたがるプロジェクトでもエージェントがシームレスに作業できるようになります。 #ClaudeAgentSDK# #AIAgent#
顯示更多