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

検索結果 CodeReview
CodeReview コミュニティ
1つのキーワードが1つのコミュニティです。
コミュニティ作成
アカウント
見つかりません
CodeReview を含む検索結果
# OpenAI Agent SDKの便利で実践的な使い方 🌍 MCP サーバーのツールを「全部見せる」のではなく、フィルタ・プロンプト・キャッシュで賢く制御しましょう。権限スコープの絞り込みから動的フィルタリングまで、安全で高速な MCP 活用パターンです。 ツールフィルタで権限を最小化し、プロンプトで動的指示を取得し、キャッシュでレイテンシを削減する -- MCP の運用を本格化する3つの機能です。 📌 タイトル:MCP -- Tool filtering / Prompts / Caching 🔗 URL: 🧩 概要 MCP サーバーが公開するツールをそのまますべてエージェントに渡すと、不要なツール呼び出しや権限超過のリスクがあります。`create_static_tool_filter` で許可するツールを静的に制限し、動的フィルタ関数で実行時の条件(ロール・テナント等)に応じてツールを出し分けできます。`get_prompt` で MCP サーバーから動的な指示を取得し、`cache_tools_list=True` でツール一覧のキャッシュによりレイテンシを改善、`invalidate_tools_cache()` で変更時にキャッシュをクリアします。 🛠 使い方 `agents.mcp` から `MCPServerStreamableHttp` と `create_static_tool_filter` をインポートします。`MCPServerStreamableHttp` の `tool_filter` に `create_static_tool_filter(allowed_tool_names=["read_file", "write_file"])` を渡すことで、エージェントが使えるツールを `read_file` と `write_file` のみに制限できます。 🏗 実践的な使い方 **create_static_tool_filter で権限スコープを絞り込む** エージェントの役割に応じて、使えるツールを最小限に制限するパターンです。 読み取り専用エージェント用には `create_static_tool_filter(allowed_tool_names=["read_file", "search_docs", "list_files"])` でフィルタを作成し、`MCPServerStreamableHttp` の `tool_filter` に渡します。フルアクセス用には `allowed_tool_names=["read_file", "write_file", "delete_file", "search_docs"]` と設定します。同じ MCP サーバーでもエージェントの役割に応じて異なるツールセットを公開できます。 **動的フィルタで danger_ ツールを非表示にする** ロールに応じて危険なツールを動的に非表示にするパターンです。 `agents.mcp` から `ToolFilterContext` をインポートし、`role_based_filter` 関数を定義します。` が `"CodeReviewer"` で `"danger_")` の場合に `False` を返してツールを非表示にし、それ以外は `True` を返します。この関数を `MCPServerStreamableHttp` の `tool_filter` に渡すことで、ロールに応じた動的なツールフィルタリングが実現できます。 **get_prompt で MCP サーバーから動的指示を取得** MCP サーバーが提供するプロンプトを取得して、エージェントの指示を動的に構成します。 `MCPServerStreamableHttp` を作成し、`async with mcp:` のコンテキスト内で `prompt_result = await mcp.get_prompt("operation_guidelines")` を呼び出して MCP サーバーからプロンプトを取得します(第2引数に `{"focus": "..."}` のような引数辞書も渡せます)。取得した `prompt_result.messages[0].content.text` を `Agent` の `instructions` に埋め込むことで、エージェントの指示を動的に構成できます。 **cache_tools_list でレイテンシを改善** ツール一覧の取得をキャッシュし、MCP サーバーへの不要なリクエストを減らします。 `MCPServerStreamableHttp` の `cache_tools_list=True` を設定すると、ツール一覧の取得結果がキャッシュされ、MCP サーバーへの不要なリクエストが削減されます。ツールが追加・変更された場合は `await mcp.invalidate_tools_cache()` でキャッシュをクリアします。 💡 ユースケース 🔒 create_static_tool_filter で read_file/write_file のみ許可し、最小権限の原則を実現 🎭 動的フィルタで CodeReviewer には danger_ ツールを非表示にし、ロール別のアクセス制御 📜 get_prompt で MCP サーバーから最新の運用ガイドラインを取得し、エージェントの指示を動的に更新 ⚡ cache_tools_list=True でツール一覧キャッシュを有効化し、繰り返しのツール取得レイテンシを削減 ⚠️ 注意点 - 静的フィルタの `allowed_tool_names` はツール名のタイプミスに注意してください。存在しないツール名を指定してもエラーにならず、単にフィルタされないだけです。 - 動的フィルタは毎回のツール一覧取得時に実行されるため、重い処理を入れるとレイテンシに影響します。 - `cache_tools_list=True` 使用時にツールが追加・変更された場合、`invalidate_tools_cache()` を呼ばないと古い一覧が使われ続けます。 ✨ フィルタ・プロンプト・キャッシュの3つを組み合わせれば、MCP ツールの安全性・柔軟性・パフォーマンスを同時に向上できます。まずは静的フィルタで権限を絞り、必要に応じて動的フィルタやキャッシュを導入していきましょう! #OpenAIAgentSDK# #AIAgent#
もっと見る
ハーネスエンジニアリングのプラクティス P14. 独立した自己批評パス(生成器と批評器の文脈を分ける) 🎯 ポイント 自分が書いたコードを自分でレビューして「良さそう」と言うエージェント、信頼できますか?レビューは作者と切り離して初めて機能します。 📝 概要 実装後、別の文脈(できれば別の役割プロンプト)で差分を仕様に照らして批評させます。「自分が今書いたから正しいはず」というバイアスを避けるには、生成器と批評器が文脈を共有しないことが鍵です。 🔍 解説 人間のコードレビューが作者以外の人間によって行われるのと同じ理由で、エージェントの自己批評も文脈を分離する必要があります。同じ文脈で生成と批評を行うと、生成過程で持った「なぜこう書いたか」のバイアスがそのまま批評に持ち込まれ、問題を見逃しやすくなります。別の文脈(理想的には別のプロンプト、別のモデルインスタンス)で、変更差分と仕様だけを見せて批評させると、フレッシュな視点でのレビューが可能になります。これは計算コストが追加されますが、流出欠陥を防ぐ効果は大きいです。 🛠 実践方法 ・実装完了後に別の文脈(新しい会話セッション)を起動し、差分と仕様だけを渡してレビューさせます ・批評器には焦点を絞った役割を与えます(「仕様との乖離」「セキュリティリスク」「リグレッション可能性」等) ・可能であれば生成と批評に異なるモデルやプロンプトを使用し、視点の多様性を確保します ・批評結果を構造化フォーマットで出力させ、ハーネスが自動的に対応(修正指示の送付・人間への報告)を判断します 💼 ユースケース ・issue-to-PRエージェントが完了前に、別のプロンプトで自己レビューを行う場面 ・自律バグ修正で、修正の妥当性を別の文脈で検証する場面 ・コード生成で、セキュリティ観点のレビューを別のエージェントとして実行する場面 ⚠ 落とし穴 批評器が「何でも指摘する」設計だと、瑣末な指摘が大量に出て実装→修正→批評→修正の無限ループに陥ります。批評器には「仕様との乖離」「セキュリティリスク」「リグレッション可能性」など、焦点を絞った役割を与えることが重要です。また、批評器の品質が低いと、正しい実装を不必要に修正させるリスクもあります。 #HarnessEngineering# #CodeReview#
もっと見る
# Codexの機能と実践的な使い方 🔍 PR を開いたら、ノイズではなく「本当にヤバい指摘だけ」が返ってくる。Codex の GitHub 統合は P0/P1 の高優先度リスクに絞ったコードレビューを自動投稿します。 🏷️ タイトル: PRレビュー(@/codex review) 🔗 URL: 📘 概要 Codex の GitHub 統合は、Pull Request の差分を AI がレビューして高シグナルなフィードバックを投稿する機能です。あえて P0・P1 の深刻な問題だけに絞ることで、レビューコメントが高優先度のリスクに集中するよう設計されています。 ⚙️ 機能の説明 ・手動レビューは PR に `@/codex review` とコメントします。Codex は 👀 でリアクションした後、GitHub のコードレビューを投稿します。 ・設定で Automatic reviews を有効にすると、PR がオープンされた時点でメンション不要の自動レビューが走ります。 ・レビュー観点はリポジトリ最上位の `AGENTS.md` に書いた「Review guidelines」セクションで制御できます。Codex は変更ファイルに最も近い `AGENTS.md` の指示を適用するため、ディレクトリ階層を使ってパッケージごとに観点を変えられます。 ・`@/codex review` 以外で `@/codex` をメンションすると、その PR を文脈としてクラウドタスクが起動します。例えば `@/codex fix the CI failures` のように指示できます。 🛠️ 実践的な使い方 ・まず の Code review 設定で対象リポジトリのトグルを有効にします(Codex cloud のセットアップが前提)。 ・観点を固定したいときは `AGENTS.md` の「## Review guidelines」セクションに「PII をログに出さない」「全ルートを認証ミドルウェアで包む」などの観点を箇条書きします。 ・1回だけ観点を変えたいなら `@/codex review for security regressions` のようにコメントに直接添えます。 ・レビュー後に修正まで任せるなら `@/codex fix the P1 issue` とコメントすれば、Codex がクラウドタスクで修正に着手します。 💡 ユースケース レビュアーが多忙なチームで、まず Codex に一次レビューを通させて P0/P1 を潰してから人間レビューに回すと、レビュー往復が減ります。セキュリティや PII 取り扱いなど絶対に外せない観点を `AGENTS.md` に明文化しておけば、全 PR で機械的に確認されます。 ⚠️ 注意点 ・利用にはリポジトリで Codex cloud のセットアップとコードレビューの有効化が必要です。 ・手動レビューのトリガーは厳密に `@/codex review` という文字列です。 ・自動レビューはトグル設定が正しくないと動きません。導入時に設定を確認しましょう。 #OpenAICodex# #CodeReview#
もっと見る
ハーネスエンジニアリングのプラクティス P20. 可読性とキャリブレートされた不確実性をSLOにする 🎯 ポイント 生成が安価になった今、真のボトルネックは「人間のレビュー時間」です。差分は正しさだけでなく、レビューしやすさに対しても最適化すべきです。 📝 概要 差分は正しさだけでなくレビュー時間に対しても最適化します。小さく焦点の合ったPR、「なぜ」を語る説明、危険箇所の明示。さらにエージェントには「自信のない箇所」を明示出力させ、ハーネスがそこを追加検証や人間レビューへ振り分けます。偽の自信より較正された不確実性の方が価値が高いです。 🔍 解説 エージェントの生成速度が上がるほど、ボトルネックは「コードを書く」から「コードをレビューする」に移ります。巨大なPR、説明のない変更、自信満々だが実は不確かな実装。これらはレビュアーの時間を爆発的に消費します。可読性をSLO(サービスレベル目標)として扱い、PRサイズ・説明の有無・変更理由の明記を測定・最適化することで、全体のスループットが向上します。また、エージェントに「ここは自信がない」「この部分は人間に確認してほしい」と明示させることで、レビュアーは重要な箇所に集中できます。これは自律エージェントの信頼性を高める最も見落とされがちな施策です。 🛠 実践方法 ・PRテンプレートに「変更理由」「確信度(高/中/低)」「レビュー重点箇所」の欄を設け、エージェントに必ず記入させます ・PRサイズの上限を設定し、超過した場合は分割を強制します ・エージェントの出力に「自信のない箇所」のマーカーを要求し、ハーネスがそこを追加検証へ振り分けます ・レビュー時間をPR単位で計測し、レビュー時間が長い原因(巨大差分・説明不足等)を特定して改善します 💼 ユースケース ・issue-to-PRエージェントが、PRに変更理由と確信度マーカーを含める場面 ・コードレビューエージェントが、低確信の瑣末指摘を抑制し、人間が見落とす種別に集中する場面 ・マイグレーションで、各ユニットのPRを小さく焦点を絞り、レビュアーの負荷を分散する場面 ⚠ 落とし穴 可読性を追求しすぎると、エージェントの出力が過度に保守的になります。また、「不確実性の表明」がノイズになるリスクもあります。「すべてに自信がない」と表明するエージェントは役に立ちません。較正が重要で、本当に不確かな箇所だけを正確にマークできることが価値です。レビュー時間の測定も忘れずに。PRスパムや巨大差分がレビュー帯域を圧迫していないかを定量的に把握することが改善の出発点です。 #HarnessEngineering# #CodeReview#
もっと見る
/code-review highしたら一瞬でリミットに達した……
# Claude Codeの機能と実践的な使い方 🚀 PRやIssueで「@/claude」とメンションするだけで、修正・実装・レビューが自動で走る。Claude CodeはCIの中で動くAI同僚になります。 📌 タイトルと機能のURL タイトル: GitHub Actions URL: 📝 概要 Claude Code GitHub Actionsは、Claude CodeをGitHubワークフローに統合する公式アクションです。任意のPRやIssueで「@/claude」とメンションすると、Claudeがコードを分析してプルリクエストを作成したり、機能を実装したり、バグを修正したりします。Claude Agent SDKの上に構築されており、定型作業の自動化に向いています。 🔧 機能の説明 ・コメント内の「@/claude」メンションに応答するインタラクティブモードと、プロンプトを与えて即実行する自動化モードを、設定に応じて自動判別します。 ・リポジトリルートのCLAUDE.mdを尊重し、プロジェクト標準やコードパターンに沿って動作します。 ・コードはGitHubのランナー上で実行され、デフォルトでSonnetを使用します(Opus 4.8も指定可能)。 ・直接Claude APIに加え、Amazon BedrockやGoogle Vertex AIでの利用にも対応します。 🛠 実践的な使い方 ・最も簡単な導入は、ターミナルでclaudeを起動し「/install-github-app」を実行する方法です。GitHubアプリとシークレットの設定をガイドしてくれます(リポジトリ管理者権限が必要)。 ・手動セットアップでは、Claude GitHubアプリ( ・アクションは「anthropics/claude-code-action@v1」を使用します。「prompt」で指示を、「claude_args」でCLI引数を渡せます。 ・claude_argsの例: --max-turns 5 / --model claude-sonnet-4-6 / --mcp-config /path/to/config.json ・コメント例: 「@/claude implement this feature based on the issue description」「@/claude fix the TypeError in the user dashboard component」 🎯 ユースケース ・IssueにメンションしてそのままPRを自動作成し、要件をコードに落とし込む。 ・PR上で「@/claude このセキュリティ問題をレビューして」と定型レビューを依頼する。 ・schedule(cron)トリガーで、前日のコミットやオープンIssueの日次サマリーを自動生成する。 ・code-reviewプラグインを組み込み、PRの更新ごとにスキルを自動実行する。 ⚠️ 注意点 ・APIキーは絶対にリポジトリに直接コミットせず、必ずGitHub Secrets(secrets.ANTHROPIC_API_KEY)で参照してください。 ・GitHub Actionsの実行時間とAPIトークンの両方でコストが発生します。--max-turnsやタイムアウトで暴走を防ぎましょう。 ・反応しない場合は、コメントが「/claude」ではなく「@/claude」になっているか、アプリ導入とシークレット設定を確認します。 ・v1.0はベータから破壊的変更があり、mode削除・direct_prompt→prompt・各CLIオプションのclaude_args移行が必要です。 #ClaudeCode# #CICD#
もっと見る
🔍 TL;DR: 汎用AIエージェントのコードレビューにありがちな見落としやズレを、Alibaba社内実績のハイブリッド設計で解決したCLIツールです。 タイトル: alibaba/open-code-review URL: 📌 ポイント ⚙️ 精度が必要な部分はハード制約、判断が必要な部分だけAIに任せる設計 📝 Gitディフから行単位の構造化レビューコメントを生成 🕵️ 未知のコードベース向けにフルファイルスキャンモードも搭載 🛡 NPE・スレッドセーフティ・XSS・SQLインジェクションなど多言語ルール内蔵 🔌 Claude Code、Codex、Cursorなどにプラグインで統合可能 📊 50リポジトリ・200PRのベンチマークでClaude Codeより高いPrecision/F1 💰 トークン消費は比較対象の約1/9 数千人規模の社内運用で鍛えられた精度が、そのままOSSで使えるのは魅力的だと思います。 #コードレビュー# #AIエージェント#
もっと見る
AIコードレビューでトークンを燃やしていませんか?🔥 コードを構造グラフ化して、関連ファイルだけ読ませることで、トークンを中央値82倍削減するツールです。 タイトル: tirth8205/code-review-graph URL: 🔥 概要 Tree-sitterでコードベースの構造マップ(グラフ)をローカルに永続化する、ローカルファーストのコードインテリジェンスツールです。AIアシスタントが、リポジトリ全体ではなく文脈的に関連するファイルだけを読んでレビューできるようにします。 ❓ 解決する課題 AIコードレビューツールは、レビューのたびにコードベースの大部分を読み直し、大量のトークンを無駄にします。 ・特に大規模モノレポでは、コンテキストが膨れ上がりコストもレイテンシも悪化します ・変更の影響範囲をスキャンするのに、プロジェクト全体を読む必要がありました 💡 方法論と仕組み 3段階のパイプラインで動きます。 ・パース:Tree-sitterがASTを作り、関数・クラス・import・呼び出し関係を抽出 ・グラフ保存:ノードとエッジをSQLiteに永続化(外部DB不要) ・分析:変更時に影響範囲(blast-radius)分析で、影響する呼び出し元・依存先・テストを辿り最小限の文脈を返す 多言語対応、増分更新は2秒未満、MCP連携(30ツール)、GitHub Action、D3.js可視化を備えます。 📊 実験結果 / 実績 ・トークン効率:38倍〜528倍の削減(6リポジトリで中央値約82倍) ・影響予測のF1スコア:平均0.71 ・CLI例:フル文脈12,921トークン→グラフ文脈762トークン(約94%削減) #コードレビュー# #AIエージェント#
もっと見る
# ADKの便利で実践的な使い方 ## 📚 必要なときだけ知識をロード!ADKのSkills機能 エージェントに全ての知識を詰め込むとトークンが爆発する…ADKの **Skills** を使えば、必要なときだけワークフローや知識をオンデマンドでロードし、トークン消費を抑えながら能力を拡張できます!🚀 ## 📌 タイトル Skills for Agents(エージェントスキル) ## 🔗 URL ## 🧩 概要 Skillsは、エージェントが特定のタスクを実行するための自己完結した機能ユニットです。指示(Instructions)、リソース(References/Assets/Scripts)をパッケージ化し、エージェントが必要とするときだけロードする仕組みです。 3層アーキテクチャで構成されます: - **L1(メタデータ)**:`SKILL.md` のフロントマターでスキル検索を可能に - **L2(インストラクション)**:`SKILL.md` 本文のメイン指示 - **L3(リソース)**:`references/`、`assets/`、`scripts/` の補助資材 必要なときだけロードするため、コンテキストウィンドウの最適化に貢献します。 ## 🛠 使い方 **ディレクトリ構造:** ``` my_agent/ skills/ code_review/ SKILL.md # 必須:メタデータ + インストラクション references/ CHECKLIST.md # コードレビューチェックリスト assets/ template.json # レビュー出力テンプレート scripts/ # Lint実行スクリプト ``` **Pythonでの統合:** `google.adk.skills` から `load_skill_from_dir` を、` から `skill_toolset` をインポートし、`pathlib` を使用します。`load_skill_from_dir()` に `pathlib.Path(__file__).parent / "skills" / "code_review"` を渡してスキルをディレクトリからロードします。次に `skill_toolset.SkillToolset(skills=[code_review_skill])` でスキルツールセットを作成し、`Agent` の `tools` パラメータに渡します。エージェントは `model="gemini-flash-latest"`、`name="dev_assistant"` で作成され、このスキルツールセットを通じて必要なときだけスキルをロードできるようになります。 ## 🏗 実践的な使い方 **DevOpsエージェントでのスキル活用:** ``` skills/ code_review/ SKILL.md # 「コードレビューチェックリスト」 references/ CHECKLIST.md # レビュー観点の詳細ガイド release/ SKILL.md # 「リリース手順」 references/ PROCEDURE.md # ステップバイステップのリリースフロー assets/ changelog.tmpl # CHANGELOG テンプレート incident/ SKILL.md # 「インシデント対応」 references/ RUNBOOK.md # 障害対応ランブック scripts/ # Slack通知スクリプト ``` エージェントは「コードレビューして」と言われたときだけ `code_review` スキルをロードし、「リリースして」と言われたときだけ `release` スキルをロードします。全てのスキルを常時ロードする必要がないため、トークン消費を大幅に削減できます。 **インラインスキル(TypeScript):** ```typescript const releaseSkill: Skill = { frontmatter: { name: 'release-procedure', description: 'Standard release procedure with checklist', }, instructions: "Follow the release checklist step by step...", resources: { references: { 'checklist.md': '1. Run tests\n2. Update version\n3. Create tag...', }, }, }; const skillTools = new SkillToolset([releaseSkill]); ``` ## 💡 ユースケース - 📋 **コードレビューチェックリスト**:レビュー依頼時のみ詳細なチェック項目をロード - 🚀 **リリース手順**:デプロイ時のみステップバイステップの手順とテンプレートをロード - 🔧 **トラブルシューティング**:障害発生時のみランブックと通知スクリプトをロード - 📝 **ドキュメント作成**:特定のドキュメントタイプに応じたテンプレートとガイドラインをロード - 🎓 **新人オンボーディング**:質問に応じた社内ナレッジベースのセクションをロード ## ⚠️ 注意点 - Skillsは実験的機能です(Python v1.25.0+、TypeScript v0.6.1+、Go v1.2.0+) - `SKILL.md` ファイルは必須です。フロントマターに `name` と `description` を記載してください - スキルの検索精度は `description` の質に依存します。適切な説明を書きましょう - 大きなリソースファイルはトークン消費に影響するため、必要最小限に抑えてください - スクリプトの実行権限やセキュリティに注意してください ## ✨ まとめ Skillsは「必要なときだけ必要な知識をロード」を実現する賢い仕組みです。全ての知識をインストラクションに詰め込む代わりに、スキルとしてモジュール化することで、トークン消費を抑えながらエージェントの能力を無限に拡張できます。DevOps、カスタマーサポート、教育…あらゆる分野で活用できます! #ADK# #AIAgent#
もっと見る
# Antigravityの機能と実践的な使い方 🚀 「いつものレビュー手順」をエージェントに毎回説明するのはもう終わり。Skills は知識を1ファイルに固めて再利用可能にします。 📌 タイトルと機能のURL タイトル: Skills URL: 📝 概要 Skills は、エージェントの能力を拡張する再利用可能な知識パッケージです。中心となる SKILL.md にスキルの内容・使うべき場面・実行手順を記述することで、コンテキストウィンドウを圧迫せずにタスクを一貫したやり方で実行させられます。 🔧 機能の説明 Skills の核は SKILL.md という1つの Markdown ファイルです。 ・SKILL.md はスキルの「脳」であり、「これは何か」「いつ使うか」「どう実行するか」をエージェントに伝えます ・必須ファイルは SKILL.md のみですが、スクリプト・例・リソース用ディレクトリなどを同梱できます ・グローバルスコープ ~/.gemini/antigravity/skills/ に置いたスキルは、そのマシンの全プロジェクトで利用できます ・「Format JSON」「Generate UUIDs」「Review Code Style」など、汎用ユーティリティの共有に向いています ・小さな Markdown を書くだけで、よく使うプロンプトをチーム向けの再利用可能なコマンドに変えられます 🛠 実践的な使い方 ・code-review スキルを用意し、PR レビューやコード品質チェックの際にバグ・スタイル・ベストプラクティスを自動で確認させます ・チーム共通のレビュー手順を SKILL.md に落とし込み、~/.gemini/antigravity/skills/ に配置して標準化します ・スクリプトや例を resources としてスキルに同梱し、手順を具体化します ・プロジェクト固有の作法はワークスペーススコープ、汎用ユーティリティはグローバルスコープと使い分けます 🎯 ユースケース ・チームのコードレビュー基準を code-review スキルとして標準化する ・JSON 整形や UUID 生成といった頻出の小タスクをスキル化して即呼び出す ・デバッグの定石手順をスキルに蓄積し、誰が使っても同じ品質で実行する ・社内の作法やチェックリストを SKILL.md にまとめ、新メンバーへ自然に展開する ⚠️ 注意点 ・必須は SKILL.md のみですが、「いつ使うか」を明確に書かないとエージェントが適切に発火しません ・グローバルスコープに置くと全プロジェクトへ影響するため、汎用性の低いものはワークスペース側に置くのが無難です ・スキルはコンテキストを節約する設計思想なので、1スキルに詰め込みすぎず役割を絞ると効果的です #Antigravity# #AIcoding#
もっと見る