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

検索結果 コードレビュー
コードレビュー コミュニティ
1つのキーワードが1つのコミュニティです。
コミュニティ作成
アカウント
見つかりません
コードレビュー を含む検索結果
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エージェント#
もっと見る
# Codexの機能と実践的な使い方 🚀 「コードを書くすべての場所に、ひとつのエージェントを」。OpenAI Codexは、生成から理解・レビュー・デバッグまでを丸ごと任せられるAIコーディングエージェントです。 🏷️ タイトル: Codex 基礎 🔗 URL: 📘 概要 Codexは、ソフトウェア開発のためにOpenAIが提供するAIコーディングエージェントです。単なるコード補完ではなく、既存のプロジェクト構成や規約を読み取りながら、自律的にタスクを進めてくれます。ChatGPTのPlus/Pro/Business/Edu/Enterpriseプランに組み込まれています。 ⚙️ 機能の説明 Codexの中心となる能力は大きく5つです。 ・コード生成: 「何を作りたいか」を伝えると、既存の構成や命名規約に合わせてコードを書きます。 ・コードベース理解: 複雑なコードやレガシーコードを読み解き、システムの構造を説明します。 ・コードレビュー: バグ・ロジックの誤り・未処理のエッジケースを洗い出します。 ・デバッグ: 失敗を追跡し、根本原因を診断して、的を絞った修正を提案します。 ・反復作業の自動化: リファクタリング・テスト・マイグレーション・セットアップを代行します。 これらを安全に動かすために、サンドボックスによる実行境界と承認ポリシーという仕組みが土台にあります。 🛠️ 実践的な使い方 Codexは「コードを書くあらゆる場所」で動くのが特徴で、複数の入口が用意されています。 ・CLI: ターミナルで `codex` を起動して対話的に作業 ・IDE拡張: エディタ内からそのまま委任 ・Web / クラウド: ローカルに無いリポジトリのタスクを並列実行 ・GitHub連携: PRに `@/codex review` でレビューを依頼 ・Slack連携: スレッドで `@/codex` にメンションしてタスク起動 まずはCLIで `npm i -g @/openai/codex` から始め、慣れてきたらGitHubやSlackに広げるのが王道です。 💡 ユースケース 未知のリポジトリに参加した初日に「このプロジェクトについて教えて」と尋ねて全体像をつかむ、レビュー前にバグを先に潰してもらう、退屈な一括リファクタリングを丸ごと委任する、といった使い方が現実的です。人間は方針決定とレビューに集中できます。 ⚠️ 注意点 Codexはファイルの読み書きやコマンド実行を伴う自律エージェントです。タスクの前後でGitのチェックポイント(コミット)を作っておくと、いつでも安全に巻き戻せます。認証はChatGPTアカウントが推奨で、APIキー認証では一部機能が制限される場合があります。 #OpenAICodex# #AIコーディング#
もっと見る
🧩 「外側は裁量、内側は決定論」。プロンプトだけで手順を守らせると脆い——という課題を、Skillsと埋め込み型インタプリタを統合し、実行可能なコードで解くアプローチです。 タイトル: Building workflows for agents with Skills and Interpreter URL: 📝 概要 本記事は、再利用可能な振る舞いパッケージ「Skills」と、エージェントのハーネスと並んで動く埋め込み型TypeScriptランタイム「Interpreter」を統合したInterpreter Skillsを解説します。SKILL.mdが「いつ使うか」を、index.tsが「どう実行するか」を担い、エージェントは適用判断と入力だけを決め、モジュールが決定論的な実行を担います。 ❓ 解決する課題 エージェントは裁量的な判断は得意でも、決定論的な手順の遂行は苦手です。プロンプトだけの手順遵守は脆く、ステップを飛ばしたり順序を入れ替えたりします。300以上の項目を処理するような複雑な多段ルーチンでは、コンテキストをまたいで一貫性を保たせると「コンテキスト不安」が生じていました。 💡 方法論と提案手法 ・Skillsは段階的開示を用い、コンパクトなスキル一覧を見て関連するものだけ詳細を読み、プロンプトから分離してバージョン管理・共有可能な単位にします ・Interpreterはデフォルトでアクセスが制限され、ファイルシステム・ネットワーク・ツール・サブエージェントは明示的に公開した分だけ使えます ・スキルモジュールはサブエージェントをコードからプログラム的に生成・管理し、モデル介在のステップでなくコードから複雑なタスクグラフを編成します ・パースやフィルタ、グルーピングといったローカル操作はTypeScriptコードで表し、ツール面を絞ってモデルが扱いやすくします 🎯 ユースケース GitHubのIssue・PR・ディスカッションを取得し、項目ごとにサブエージェントで要約を作り、別のサブエージェントで分類・クラスタリングするトリアージなど、状態の多い多段ワークフローに向きます。 📊 評価と意義 ・「概ね指示に従ったか」ではなく「期待した関数を呼んだか」という具体的な問いを立てられ、必要な手順が正しい入力で実行されたかを測定できます ・モデルは一度呼び出すだけで、モジュールがワークフロー全体を決定論的に編成し、コンパクトな構造化オブジェクトを返します ・モデルは戦略的制御を保ちつつ、重要な手順はレビュー可能・テスト可能なコードで実行され、エージェントの作業をバージョン管理・テスト・コードレビューといったソフトウェア工学の実践へ移行させます #AIエージェント# #DevTools#
もっと見る
# Claude Agent SDKの便利で実践的な使い方 📡 画像アップロード・割り込み・コンテキスト永続が使えるストリーミング入力モードを使いこなしましょう。 ストリーミング入力 vs シングルメッセージは、永続的対話向けのストリーミングモードと、ステートレス環境向けのシングルメッセージモードの使い分けです。 📌 タイトル:ストリーミング入力 🔗 URL: 🧩 概要 ストリーミング入力モード(推奨)は画像アップロード・メッセージキュー・割り込み・コンテキスト永続に対応し、リッチな対話体験を提供します。シングルメッセージ入力は AWS Lambda 等のステートレス環境で 1 回限りの応答に最適です。 🛠 使い方 ストリーミングモードがデフォルトです。シングルメッセージモードは Lambda 等のステートレス環境で明示的に選択します。 🏗 実践的な使い方 ・チャット UI で「このコードベースを分析して」の後にアーキテクチャ図(画像)を追加添付してレビューさせる、リッチな体験を実現します。 ・メッセージキューで外部イベント(CI 結果、Slack 通知等)をエージェントに追加注入し、動的に文脈を拡張します。 ・AWS Lambda で「認証フローを説明して」を単発実行するサーバーレス関数にはシングルメッセージモードを使用します。 💡 ユースケース 🖼 画像添付付きのコードレビュー 📨 外部イベントの動的注入 ⚡ サーバーレス環境での単発タスク実行 ⚠️ 注意点 シングルメッセージモードでは画像添付・割り込み・マルチターンが非対応です。リッチな対話が必要な場合はストリーミングモードを使用してください。 #ClaudeAgentSDK# #AI#
もっと見る
便利だけど知られていないGemini APIの機能 💰 毎回同じ長いシステムプロンプトを送り直してトークン代を垂れ流していませんか? Geminiの「コンテキストキャッシュ保存(Context caching)」を使えば、共通する長い入力を一度キャッシュし、以降のリクエストで再利用することで入力トークンコストを大幅に削減できます。大量のドキュメントや長いプロンプトを繰り返し使う場面で、コストが劇的に変わります。 📌 タイトル:コンテキストのキャッシュ保存(Context caching) 🔗 URL: 🧩 概要 LLMに長い共通コンテキスト(マニュアル全文、コードベース、数百ページのPDF等)を毎回送ると、その分のトークンが毎回課金されます。Context cachingは、そのコンテキストをGoogle側にキャッシュとして保持し、後続リクエストでは参照だけで済むようにする仕組みです。暗黙的キャッシュ(同じ入力が自動で再利用)と明示的キャッシュ(手動で作成・TTL管理)の2種類があります。 🛠 使い方 明示的キャッシュの場合、まずキャッシュを作成するAPIを呼び、system instructionや長い入力コンテンツを登録します。返されたキャッシュ名を以降のgenerateContentリクエストに渡すだけ。TTL(有効期限)はデフォルト1時間で、用途に応じて調整可能。暗黙的キャッシュは何も設定しなくても同一プレフィックスが自動的に再利用されるため、まずはそのままの利用で恩恵を受けられます。 🏗 本番システムへの組み込み方 ・社内ナレッジベースQA:全社マニュアルや規約文書をキャッシュし、ユーザーの質問ごとに毎回送信する必要をなくす。応答速度もコストも改善。 ・コードレビューbot:リポジトリのコードベースやコーディング規約をキャッシュし、PRごとのレビュー依頼で共通部分の再送を省略。 ・カスタマーサポート:FAQ・製品仕様書をキャッシュして、問い合わせのたびに巨大なコンテキストを再送しない構成に。 ・バッチ分析パイプライン:同じ参照データに対して大量の個別クエリを投げる処理で、キャッシュにより1件あたりのコストを圧縮。 💡 ユースケース 📚 長文ドキュメントに対する繰り返しの質問応答 🔍 共通のシステムプロンプトを使う大量リクエスト 🧑‍💻 コードベース全体を文脈に持つ開発支援ツール 📊 同一データセットへの複数観点での分析 ⚠️ 注意点 キャッシュには最低トークン数の要件があり、短いプロンプトではキャッシュ作成できません。また、キャッシュの保持にはストレージ料金がかかるため、利用頻度が低い場合はかえって割高になることも。TTLの設定と利用パターンを見極めて、コストメリットが出る場面に絞るのがポイントです。 ✨ 「同じものを何度も送る」コストは積み重なると大きな差になります。まずは一番長い共通コンテキストをキャッシュしてみてください。 #Gemini# #LLM#
もっと見る
🧩 「エージェントを増やせば速くなる」は本当か?マルチエージェントLLMを分散システム理論のレンズで分析したら、アムダールの法則も通信オーバーヘッドもそのまま効いていました。 タイトル: Language Model Teams as Distributed Systems URL: 📝 概要 本論文は、LLMのマルチエージェントチームを分散システムとして捉え、協調・整合性・スケーラビリティの理論で設計・評価する枠組みを提案します。試行錯誤ではなく、分散コンピューティングの蓄積を直接活かす発想です。 ❓ 解決する課題 チーム性能はタスク依存性が高く、通信オーバーヘッドや一貫性の衝突、誤りの増幅といった弊害もありました。「いつチームが個を上回るか」を予測する原理的枠組みが欠けていました。 💡 方法論と提案手法 ・LLMチームと分散システムが共有する4性質(独立性・通信・並行性・可謬性)を起点に分析します ・アムダールの法則、集中型vs分散型、整合性の衝突、O(n²)の通信、ストラグラー、コスト効率の原理を適用します ・協調コーディングで2実験(集中型/分散型)、チームサイズ1〜5、並列/混在/直列タスク、複数モデルで検証します 🎯 ユースケース マルチエージェントのコード生成・レビュー、データ分析の並列分解、そして「マルチエージェントが有益か有害か」を実装前に予測する設計判断やコスト予算化に役立ちます。 📊 実験結果 ・並列タスクは中央値2.0倍超で高速化、直列タスクは約1.2倍止まり(アムダールの法則を実証) ・高速化の中央値は集中型1.36倍に対し分散型0.88倍と、分散型はむしろ遅くなりました ・テスト失敗の中央値は分散型19件 vs 集中型4件と、一貫性の衝突が顕著でした ・直列タスクではトークン5.83倍に対し高速化1.13倍と、コスト効率の悪化も定量化されました #MultiAgent# #DistributedSystems#
もっと見る
🔄Loop Engineeringとはなにか? もう「AIにプロンプトを打つ」作業は終わりにしませんか?これからは、エージェントを自律的に回す仕組みそのものを設計する時代です。AIコーディングのパラダイムシフトの正体に迫ります。 💡 1. プロンプトからシステム設計への転換 従来のAIコーディング(AI-assisted Coding)は、人間がループの「中心」にいました。 👨‍💻 これまでのアプローチ: 人間がコンテキストを考え、プロンプトを打ち、AIの出力を読み、手元でテストを実行し、エラーが出たら再度プロンプトを打つ。AIは「高機能な関数」や「道具」であり、制御の主体は常に人間です。 🔄 ループエンジニアリング: 人間はループの「外側」に出て、システム全体のデザイナー(作者)になります。仕事の検知、AIへのコンテキスト注入、出力の自動テスト、進捗の記録、次のステップの判断という一連のライフサイクルを小さなプログラムに実行させます。 ここで重要なのは、AIモデルがシステムにおける「サブルーチン(部品)」へと降格し、代わりに環境(テストスイートやリポジトリの状態)からのフィードバックをループ処理する構造へ進化したという点です。 ⚙️ 2. ループを駆動する5つのコアコンポーネント+1つの記憶 抽象的な概念を動くシステムに落とし込むため、ループは以下のコンポーネントに分解されて設計されます。 ① ⚡ 自動化(Automations) ループの心臓部であり、発火トリガーと停止条件を定義します。 ツール(Claude CodeやCodexなど)では、単に定期実行する /loop だけでなく、明確な終了条件(例:「すべてのテストがパスするまで」)を満たすまでAIを回し続ける /goal コマンドなどがこれに該当します。条件が達成されるか、ハードストップ(予算や上限回数)に達するまで回り続けます。 ② 🌳 ワークツリー(Worktrees) 複数のAIエージェントが並列で動く場合、同じディレクトリで作業するとファイルの衝突(コンフリクト)が発生します。これを防ぐため、Gitの worktree 機能を使い、エージェントごとに独立した作業ディレクトリとブランチを隔離して自動生成します。機械的な衝突を回避し、並列性を担保する基盤です。 ③ 🧠 スキル(Skills) リポジトリのルールやコンテキストをカプセル化したものです。 通常、AIは実行ごとに前回の文脈を忘れますが、SKILL.md のようなファイルに「このプロジェクトのビルド手順」「命名規則」「過去の障害から得た注意点」を明文化しておくことで、AIは毎実行時にそれを読み込み、プロジェクト固有のシニアエンジニアのような振る舞いを固定化できます。 ④ 🔌 プラグイン/コネクタ(Connectors) filesystem(ローカルファイル)しか見えないAIを、本物の開発環境につなぐ架け橋です。 Model Context Protocol(MCP)などをベースに、GitHub(PR作成やIssue取得)、Linear/Jira(チケット更新)、Slack(人間への通知)、Sentry(エラーログの取得)と接続します。これにより、AIが「修正案を出す」だけでなく「Issueを読んで、コードを直し、PRを送り、Slackに報告する」というエンドツーエンドの行動が可能になります。 ⑤ 🤖 サブエージェント(Sub-agents) 役割を分担された独立したAIインスタンスです。「コードを書く役割(Maker)」と「コードを検証・レビューする役割(Checker)」を完全に分離します。 ➕ 💾 記憶:状態ファイル(State File) 地味ですが、ループの成否を分ける最も重要な要素です。STATE.md やJSONファイル、あるいは外部のチケット管理システムに「現在どのブランチが進行中で、何が完了し、次に何をすべきか」を永続化します。「エージェントは忘れるが、リポジトリは忘れない」という原則に従い、昨日の続きを今日のループが再開できるようにします。 🕰️ 3. なぜ「ただのcron(定期実行)」ではないのか? 懐疑派から「1975年に発明されたcronジョブのリブランド(名前の付け替え)に過ぎないのではないか」という指摘があります。これは半分正解で、半分は間違いです。 スケジュールやトリガーのレイヤーは確かにcronそのものです。しかし、従来のcronは「固定されたスクリプトを機械的に実行するだけ」でした。 ループエンジニアリングが異なるのは、ループの真ん中に「状況を動的に判断する意思決定者(LLM)」がいる点です。 テストが落ちたとき、どのファイルをどう修正すべきか、コンテキストをどう組み立て直すかという分岐は、ハードコードされた if/else ではなく、AIの推論によって動的に決定されます。工学的な面白さは、この「崖から落ちるかもしれない不確実な意思決定者」の周りを、いかに硬牢な自動テストやガードレールで固めるかというシステムデザインにあります。 ⚠️ 4. コストと運用リスクの現実 熱狂的な議論で無視されがちなのが、経済性とセキュリティの現実です。 💸 膨大なトークン消費(コスト) コード生成自体は安価になりましたが、ループを回すと「コンテキストの再読み込み」「リトライの繰り返し」「探索パターンの実行」により、トークン消費量が爆発的に増加します。 実際に、米Uberではエンジニア1人あたり月1,500ドルの上限を設けたにもかかわらず、年間のAI予算をわずか4ヶ月で使い切った事例があります。「最大反復回数」「金額上限」「進捗ゼロ検知による強制終了」の3つのガードレール(ハードストップ)の設計が不可欠です。 🛡️ 攻撃面の拡大(セキュリティ) 無人で動くループは、無人で動く攻撃面(アタックサフェース)になります。AIコーディングツールに起因するCVE(脆弱性)が多数確認されており、コマンドインジェクションやSSRF、XSSのリスクがあります。また、外部から取り込んだ「スキル」の説明文がプロンプトインジェクションの経路になり、デバッグログ経由で認証情報(資格情報)が漏洩するケースも監査で報告されています。 🧩 理解の負債(Comprehension Debt) AIが高速でコードを書き、テストが通ってマージされ続けると、リポジトリ内のコードベースと「人間の理解度」の距離がどんどん離れていきます。これを「理解の負債」と呼びます。最も高くつくのはトークンの請求書ではなく、「チームの誰も読んだことがなく、構造を理解していないシステム」をある日突然人間がデバッグしなければならなくなるコストです。 🛠️ 5. 実践:4条件テストと最小実用ループ(MVL)の構築 ループエンジニアリングを実務に導入する際は、厳格な仕分けとステップが必要です。 📋 導入のための4条件テスト 1. タスクが繰り返されるか?(週1回未満なら、手動プロンプトや使い捨てスクリプトの方が早い) 2. 検証が完全に自動化されているか?(テスト、型チェック、Linter、ビルドが悪い出力を100%機械的に弾けるか。これがないと人間がレビューの椅子に縛り付けられる) 3. トークン予算が無駄を吸収できるか?(従量課金で予算に余裕がない場合は無謀) 4. エージェントが環境を操作する道具を持っているか?(ログ確認や再現環境など) 🚀 最小実用ループ(MVL)から始める手順 最初から複雑なマルチエージェントを組むとシステムは確実に崩壊します。以下の順番でボトムアップに構築します。 1. 手動実行の確実化: 1回の手動プロンプトと環境操作で、タスクが完全に完了することを確認する。 2. スキルの文書化: その際のコンテキストや制約を SKILL.md にまとめる。 3. ループのラップとゲート配置: AIが書いたものを自動テスト(ゲート)にかけ、失敗したらAIに戻すという1サイクルを組む。 4. スケジューリング: 最後にそれをcronやイベントトリガーで自動化する。 🎯 レバレッジの支点は「コードを書くこと」から「コードを書く仕組みを定義し、検証すること」へ移動しました。人間は、AIが自分の宿題を甘く採点しないよう、冷徹な「検証ゲート」を設計するエンジニアであり続ける必要があります。
もっと見る
便利だけど知られていないClaude APIの機能 🧑‍🏫 エージェントが判断に迷ったとき、「もう一人のAIに相談」できたら便利だと思いませんか? ClaudeのAdvisor Tool(アドバイザーツール)は、エージェント実行中に助言や推奨を得るためのAnthropic提供サーバーツールです。メインのエージェントとは別の視点でアドバイスを受けられる、ちょっとユニークな機能です。 📌 タイトル:Advisor Tool(アドバイザーツール) 🔗 URL: 🧩 概要 エージェントが複雑な判断をする場面で、自分自身のコンテキストだけでは最善の判断ができないことがあります。Advisor Toolは、Anthropicが提供するサーバー側ツールで、エージェントがツール呼び出しとして「アドバイスを求める」ことができます。メインの推論とは別のモデルインスタンスが助言を返すため、異なる視点や追加の検討を得られます。 🛠 使い方 Messages APIのツール定義にAdvisor Toolを追加します。エージェントは必要に応じて自動的にアドバイスを要求し、返ってきた助言をコンテキストに組み込んで判断を進めます。サーバー側ツールなので、自前の実装は不要です。 🏗 本番システムへの組み込み方 ・意思決定エージェント:重要な判断ポイントでアドバイザーに相談し、セカンドオピニオンを得てから行動。判断の質が上がります。 ・コード生成パイプライン:設計判断が複数ある場面で、アドバイザーにベストプラクティスを確認してから実装方針を決定。 ・カスタマーサポートBot:回答に自信がないケースでアドバイザーの意見を参照し、より確実な回答を生成。エスカレーションの判断にも使えます。 ・マルチステップワークフロー:各ステップの完了時にアドバイザーに進行方針のレビューを依頼し、軌道修正を行う。 💡 ユースケース 🤔 重要判断のセカンドオピニオン 🏗 設計・方針決定の助言 📞 サポート回答の品質向上 🔄 ワークフローの中間レビュー ⚠️ 注意点 アドバイザーへの呼び出しは追加のAPIコールとなり、レイテンシとコストが増えます。すべての判断でアドバイザーを呼ぶのではなく、重要な分岐点に絞って使うのが効率的です。また、アドバイザーの助言は参考情報であり、最終判断はメインエージェントが行う点を理解しておきましょう。 ✨ 一人で考えるより二人で考えるほうが良い判断ができるのは、AIも同じ。まずは判断が難しいステップにアドバイザーを追加してみてください。 #Claude# #LLM#
もっと見る
# AIエージェントをソフトウェアに組み込むプラクティス # 読取自由・書込ゲート 🎯 「全ツール呼び出しに承認を求める」設計は、承認疲れで自壊します。 読取と書込を非対称に扱うだけで、安全性と生産性の両立が実現できます。承認すべき操作に人間の注意を集中させましょう。 🔥 解決する課題 エージェントのツール呼び出しには副作用のある操作とない操作が混在しています。すべてに一律の承認を求めると、読取が大半を占める実運用では承認疲れが発生し、肝心の書込操作の承認が形骸化してしまいます。かといってすべてを自由にすれば、不可逆な書込操作で取り返しのつかない変更が走るリスクが残ります。 💡 提案パターン ツール呼び出しを「読取(検索・取得・参照)」と「書込(作成・更新・削除・送信)」に二分し、読取は自由に許可、書込にだけ認可・検証・承認・監査のゲートを設けます。R/W分類はツール定義時に静的に付与し、LLMの判断には委ねません。書込ゲートの厳格度は可逆性で段階化し、不可逆操作(メール送信・決済)は人間承認必須、可逆操作(下書き保存)はポリシー検証のみとします。これにより承認疲れを劇的に減らしつつ、副作用の安全性を維持できます。 ✅ 選定条件 使うとき: - 読取と書込が混在し、読取が多数を占める - 不可逆な書込操作(メール送信、決済、本番DB変更)が含まれる - 承認疲れを防ぎ、人間のレビュー帯域を高リスク操作に集中させたい 使わないとき: - 読取自体が機密データへのアクセスを含む場合(個人情報検索など)は、読取にも認可が必要 - 全操作が読取専用で書込がそもそも存在しない場合 - 実験環境で全操作が可逆かつ低コストな場合 ⚠️ 落とし穴 - R/W分類をLLMに任せてはいけません。インジェクションで書込ツールが「読取」と判断される経路を作ります - 「読取だが副作用がある」操作(API呼び出し回数カウント、閲覧履歴記録など)を見落とさないでください - 可逆な書込と不可逆な書込を同じ厳格度にすると、承認疲れの問題が再発します 🔧 実装方針 - ツール定義時にtype(read/write)とgate種別(none/auto/human_approval)を静的に付与し、実行時にLLMが分類を変更できない構造にします - 読取パスではメタデータのみをログに記録し、書込パスでは入力検証・ゲート判定・実行・監査ログの全量記録をパイプラインとして実装します - 書込ゲートの厳格度をreversibleフラグで段階化し、不可逆操作にはdry-runの前段必須化も組み合わせます - ゲート判定ロジックはゲートウェイ層のコードで強制し、プロンプトによる制御は一切使用しません #AIエージェント# #ソフトウェアアーキテクチャ#
もっと見る