開発環境の支援にJevは使えるか?

Coding Agentの評価スキルと、sandboxの行動分析を試した話


今回の内容


Coding Agentの評価を切り出してみる

Jevは、材料と限定した質問から、分類や段階評価を返す。

Claude / Codexがコード・差分・ログを集める
  ↓ 評価スキルからJevを呼ぶ
関連性・候補・証拠の十分性を評価する
  ↓
Coding Agentが調査・実装を続ける

当初の仮説:評価を切り出せば、Agent側の使用量を減らせるかもしれない。

結果は、Jevの呼び出し割合が低すぎて優位性が出なかった。

Jevの質問と回答 · スキルに組み込んだ実装例


ただ、評価を挟む場面は思ったより少ない

Issueの優先度判定には使えるかもしれない。ただ、順序が決まっていることも多い。

仕様をどうするかは、機械的な優先度の採点だけでは決まらない。

今回のCoding Agentでの利用結果。ほかの用途でも同じ結果になるとは限らない。


スキルに入れてみた実感

Coding Agentのスキルに組み込んでも、特に実害は感じなかった。

ただ、そこまで良いこともなかった。

実害は感じなかったが、呼び出しが少なすぎて効果も出なかった。


方向を変えて考えてみる


次は、実行環境の行動分析に使ってみる

ここからは実証研究段階の取り組み。検知精度や実運用での有効性は、まだ検証中。

動作ログから、異常な動作をしているプログラムがないか評価する。

資格情報ファイルへのアクセス試行
  ↓
関連するプロセスによるHTTP POST

正当なuploadでも、似た動きは起こる。

ホスト側で行動を集計し、関連を評価する材料を作る。

動作ログを使った行動分析


Jevへ渡す行動の特徴量

生ログではなく、ホスト側で集計した特徴量を jev.choice の state に渡す。

情報内容
資格情報へのアクセス試行回数、openの成功・失敗回数
時間関係アクセスから関連POSTまでの時間差
プロセス相関通信との関連付けの状態。PIDは含めない
通信の属性HTTPメソッド、許可状態、宛先が既知か新規か

ファイルを開けたことと、中身を読んだことは区別する。

特徴量の実装


通信の結果と、観測の不足も渡す

情報内容
通信量・結果Content-Length、受信・転送・応答のバイト数、完了/拒否/失敗
観測の品質イベント欠落、関連付け不足などの状態
形式情報特徴量のバージョン、相関あり/通信のみのモード

「送ろうとした」と「実際に送った」は違う。

分かったことだけでなく、分からないことも入力に残す。

特徴量と観測品質の設計


三つの候補から評価する

通常という回答も、観測した範囲での評価。

低confidenceや観測不足は棄権。通信失敗は評価結果と分ける。

現在は監査用の検証。自動遮断には使っていない。

分類結果と採用条件


Jevに送らない情報

外部APIへ送るため、今回の設計では次の情報を除外する。

パスは役割へ、宛先は許可・既知・新規などの区分へ変換する。

秘密を後から探して消すより、送ってよいフィールドだけを組み立てる。

外部送信用の型 · 送信範囲の説明


sandboxでうまくいけば、ほかのログにも

まずは実証研究。AWSへの応用も、これから検証したい可能性。


まとめ