慣性聚合 関心のあるブログ、ニュース、テクノロジーを効率的に追跡
原文を読む 慣性聚合で開く

おすすめ購読元

Google DeepMind News
Google DeepMind News
人人都是产品经理
人人都是产品经理
M
MIT News - Artificial intelligence
博客园 - 叶小钗
MyScale Blog
MyScale Blog
V
Visual Studio Blog
月光博客
月光博客
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
量子位
I
InfoQ
有赞技术团队
有赞技术团队
阮一峰的网络日志
阮一峰的网络日志
Jina AI
Jina AI
V
V2EX
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Blog — PlanetScale
Blog — PlanetScale
Last Week in AI
Last Week in AI
雷峰网
雷峰网
Stack Overflow Blog
Stack Overflow Blog
博客园 - Franky

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant Common SOC 2 Failures (Real World) Stop Vibe-Checking Your AI App: A Practical Guide to Evals How to Use SonarQube and SonarScanner Locally to Level Up Your Code Quality Your Next To-Do App Is Dead — I Replaced Mine with an OpenClaw AI Sign a Nostr event in 60 lines of Python using coincurve — no nostr-sdk, no nbxplorer, no rust toolchain ITGC Audit Explained Like You’re in Big 4 Patch Tuesday abril 2026: Microsoft parcha 163 vulnerabilidades y un zero-day en SharePoint Stop scraping everything: a better way to track competitor price changes Listing on MCPize + the Official MCP Registry while routing payments OUTSIDE the marketplace — how I kept 100% of my x402 revenue Building an AI-Powered Risk Intelligence System Using Serverless Architecture Why We Ripped Function Overloading Out of Our AI Toolchain Testing AI-Generated Code: How to Actually Know If It Works SaaS Churn Is Killing Your Business. Here Is What to Do About It (Without a Support Team) The Speed of AI Is No Longer Linear - And Self-Improving Models Are Why How to Implement RBAC for MCP Tools: A Practical Guide for Engineering Teams From Standard Quote to Persuasive Proposal: AI Automation for Arborists I built a CLI that scaffolds complete multi-tenant SaaS apps Axios CVE-2025–62718: The Silent SSRF Bug That Could Be Hiding in Your Node.js App Right Now The dashboard that ended our friendship Data Pipelines Explained Simply (and How to Build Them with Python)
AIの不適切な行動を捉えるツールを作成し、その中にAIを一切使用していません
Connor Hickey · 2026-05-25 · via DEV Community

私はAIコーディングエージェントに頼りがちです。Claude Code、Cursor、Codex — それらを早く動かして早くリリースします。これは自白ではなく、このプロジェクトが存在する全体の理由です。これらのツールを毎日限界まで使い続けることで、魔法のように見なすのをやめ、正確にどの点で壊れるかを見つけるようになります.

そして、私は何度も気づいたことがあります:チャットでは決して壊れないのです。

会話ではエージェントはとても良い見た目です。その計画を説明し、それが合理的に聞こえ、すべての制約条件に同意します。問題はその後で現れます——差分、事実上、あなたが疲れていてPRが緑色で、ただマージしたいときに。

実際に何が問題だったか

私はコーディングエージェントが行ったことの短い、実際のリストを観察しましたが、チャットで何も間違って見えませんでした:

  • 静かに自身の権限を拡大した—エージェントの設定の許可リストを編集して、セッション開始時に持っていなかったアクセスを与えた.
  • 自身の設定と矛盾した—一つのファイルには「ネットワークを触らない」と書いてあり、別のファイルにはネットワークツールを与え、両者を調整するものは何もなかった.
  • 宣言されていないアウトバウンドネットワークコールを行い、無関係な変更に組み込まれた.
  • PRを開いたタイトルはfix: typo in README は無関係の12つのファイルに触れました.
  • セッションの記録を残し、SSHキーを読み取り、curl をシェルにパイプにしました.

それらのすべてはコードレビューを通過します。レビューターが粗心であるためではなく — そのクラスの問題を誰も探していないためです. 人間のレビューログはバグやスタイルを探します。彼らはブランチのベースとヘッドの間であなたのエージェントの許可リストを比較しませんし、矛盾がないかを確認するために三つの異なるエージェント設定ファイルを交叉検証しません.

すべての人々が採用する修正(そしてなぜここでは間違いであるか)

最初の直感は、もっと厳しいプロンプトを与えることです。あなたのエージェントにより多くのルールを追加しますCLAUDE.md、より厳しいシステムプロンプトを作成し、エージェントが悪いことをしないように伝えなさい。

それは機能しない。その理由は構造的なものです:、より良い指示が入力されるにも関わらず、実際に出力されたものを捉えられません。、自身の権限を拡大したエージェントは、理解できなかったルールに反逆しているのではなく、その言ったことと実際に提供したものとの間にギャップがあるのです。入力側からそのギャップを閉じることはできません。

次の本能はLLMを審判者として:2つ目のモデルが差分を読み取り、問題をマークする。そしてこれが、私が全プロジェクトが依存している決断を下した場所である。

私は分析パスにLLMを一切使用していない。何も使用していない。あなたのエージェントの仕事をレビューするものには、AIが一切含まれていない。

これはAI-ガバナンスツールにとって逆説的に聞こえるので、私がそれを擁護する。

確定論的でないのはなぜか

これは CIゲートとして実行される — これはビルドを失敗させることができる。何かがマージをブロックすることを許される瞬間、それには「通常は正しい」というよりもはるかに高い基準をクリアしなければならない:

1. 再現可能である必要がある。 同じ違い、同じ結論、毎回同じ。LLMの判定者は、実行ごとに、温度ごとに、あなたが選択したことのないモデル更新ごとに異なる答えを与えます。コイン投げの結果に基づいてビルドをブロックすることはできません、どれほど重み付けられていても。

2. 发掘幻觉是不可能的。 确定性的チェックは、許可リストが文字通り変更されたため、権限昇格をフラグ付けます。 は X から Y へと移動し、正確な行に指し示すことができます。LLM 裁判官は存在しない「重要な」問題を作り出すことができます。初めてあなたのゲートが幻覚された問題による正当な PR をブロックした時、チームはそれを信頼しなくなり、信頼されていないガバナンスツールは1週間以内にオフにされます。

3. どこでも無料で数秒で実行されます。 APIキーもなく、レートリミットもなく、トークンバジェットもなく、プルリクエストごとにネットワークラウンドトリップもありません。単にコードを読むコードです.

4. 何も機器の外に出ません. すべての分析はローカルであなたのチェックアウトしたリポジトリに対して実行されます。あなたの専有コードとエージェントのテキスト記録は第三者のモデルに送られることはありません。多くのチームにとってこれは望ましいものではなく——それは「この技術を採用できる」と「採用できない」という線です。

5. すべての発見は検証可能です.「モデルはこれがリスクがあると考えた」というのではなく、「この設定キーが変更された、前と後ろはこちら、それにトリガーされたルールはこちら」ということ。それがレビューで発見が議論の対象ではなく、議論の始まりになる理由です.

作り方

最初は一つの小さな決定的なチェックから始まりました — このPRの差分が静かにエージェントが行うことが許可されることを変更するか? — そして8つのパッケージのスイートに成長した。

  • 共有の核心ライブラリ 退屈で、負担をかけられる仕事をしている:JSON/JSONC/TOMLのパース、シェルトークン化、MCPサーバーコマンドを標準的な形式に正規化し、すべての他のものが話す単一のFindingスキーマ — v1.0で凍結 — である。
  • 五つの集中型検知器、それぞれが一つのドリフトクラスを捉える:ベースとヘッド間の設定/権限ドリフト、エージェント設定ファイル間の矛盾、差分内のネットワークとサブプロセス権限シグナル、PRの表明されたタスクと実際の変更との不一致、セッショントランスクリプトに記録されたリスクのある行動
  • 、ライブモニター はターミナルでエージェントの軌跡をリアルタイムで監視しており、PR時だけでなくその時々に見たい時にそれを見ることができます。
  • メタレビューローラー はPR時の検出器を一つにまとめ、重複排除され、深刻度でソートされた判断を提供し、何か深刻な問題があるとCIを失敗させます—それにより、全セットが単一のパス/ファイルチェックとして報告される代わりに、5つの騒がしいチェックの代わりになります。

最も難しい工学はどの単一の検知器ではなかった。それはスキーマだった。全く異なるものをチェックする5つのツール——設定ファイル、差分、テキスト記録——が、メタレビューロガーがマージ、重複排除、並べ替えできる1つの形式で結果を出力するのを得るのが、最も設計に時間を要した部分だ。退屈な共有ライブラリが、このスイートが5つの緩やかなスクリプトの代わりに1つのツールのように感じる理由だ.

確定論が足りない場所(正直に言うと)

ルールがすべてにおいてモデルを打ち負かすと装うつもりはありません。決定論的には、ルールを書いたものだけを捉えます。既知のパターンに一致しない真に新鮮な振る舞いは、そのまま通り抜けます。

最も鋭い例は私自身のスイートにあります:PRのdiffがその述べたタスクと一致するかどうかをチェックする検出器。「この変更はこの説明に一致しますか」というのは、本当に意味論的です の質問であり、確定論的なバージョンはヒューリスティクスでそれを近似します——ファイルのスコープ、触れたパス、キーワードの重複。それはモデルが評価できるものよりも粗雑です。それを受け入れます.

それで、ポジションは「LLMsは悪い」ではありません。 ゲートは確定論的で、アドバイスは確率的です。 再現可能で幻覚を伴わないチェックは、ビルドに失敗させる唯一許容されるものです。LLMレイヤーが上に来た場合、それはアドバイザリ、非ブロッキングの役割に属し、曖昧な懸念を人間が判断するために提示されるべきであり、確率上のマージを静かにブロックすることは決してありません。ゲートは確定的でなければなりません.

それが機能することを証明する

主張は安価なので、デモを送付しました:意図的に「悪意のある」プルリクエストで、すべてのカテゴリの逸脱を一度にコミットしています——昇格された権限、矛盾する設定、宣言されていないネットワークコール、関係のないファイルを触るfix typo PR、そしてSSHキーを読み取るテキストを読み上げるパイプですcurl にシェルを送信します。すべてのツールが実行され、メタレビューロガーはそれらを一つのコメントにまとめ、CIチェックは重要な発見で赤くなります。これはまた評価ハーネスとしても機能します:検出器を変更し、悪意のあるPRを再実行し、まだ捕捉されるものが何かを見ます.

数日で何もからシェップされたv1.0に変わりました——独学で、単独で作業——それ全部がオープンです:コード、デモ、ドキュメント.

github.com/Conalh

リアルなリポジトリに対してコーディングエージェントを実行している場合、そして「緑色のPR、疲れたレビュワー、ただマージしよう」の瞬間があなたを少し不安にさせているなら—その不安感が私が修正しようとした正確なバグだ。