{
  "format": "agent-article-v0",
  "article_id": "EA-176",
  "canonical_url": "/tools/ea-176-deepeval",
  "page_type": "reference",
  "claim_ids": [],
  "evidence_ids": [
    "EVD-EA-176-URL-D3DAD2B8FF58",
    "EVD-EA-176-URL-4D797112A8A3",
    "EVD-EA-176-URL-6F1F88A9D4B3",
    "EVD-EA-176-URL-4452AFC4B866",
    "EVD-EA-176-URL-6B7778848E17",
    "EVD-EA-176-URL-51F0391B8169",
    "EVD-EA-176-URL-79370E466CEE",
    "EVD-EA-176-URL-1B5955D3C7F0",
    "EA-176-CURRENT-APPROVAL",
    "EA-176-CURRENT-BODY-READBACK"
  ],
  "unknown_ids": [
    "EA-176-UNKNOWN-01"
  ],
  "operational_object_ids": [],
  "provider": [],
  "models": [],
  "plans": [],
  "surfaces": [],
  "regions": [],
  "current_status": "CURRENT",
  "observation_status": "SPEC_ONLY",
  "freshness": "CURRENT",
  "last_verified": "2026-10-22",
  "supersedes": [],
  "superseded_by": [],
  "provenance": [
    "EA176-CANDIDATE-20261022-1408JST-C1",
    "SRC-EA-176-URL-D3DAD2B8FF58",
    "SRC-EA-176-URL-4D797112A8A3",
    "SRC-EA-176-URL-6F1F88A9D4B3",
    "SRC-EA-176-URL-4452AFC4B866",
    "SRC-EA-176-URL-6B7778848E17",
    "SRC-EA-176-URL-51F0391B8169",
    "SRC-EA-176-URL-79370E466CEE",
    "SRC-EA-176-URL-1B5955D3C7F0",
    "BODY-SHA256:ea7f951600936137ae7dc29a566f08f1943aafe94a18ccd10098f680f7d2f96a"
  ],
  "article_sources": [
    {
      "id": "EVD-EA-176-URL-D3DAD2B8FF58",
      "evidence_class": "RESEARCH",
      "title": "DeepEval Introduction:",
      "href": "https://deepeval.com/docs/introduction",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-176-URL-D3DAD2B8FF58"
      ],
      "supporting_locators": [
        "SOURCE_PROVENANCE",
        "- DeepEval Introduction: https://deepeval.com/docs/introduction"
      ],
      "scope": "SOURCE_PROVENANCE",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-176-URL-4D797112A8A3",
      "evidence_class": "RESEARCH",
      "title": "Metrics Introduction:",
      "href": "https://deepeval.com/docs/metrics-introduction",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-176-URL-4D797112A8A3"
      ],
      "supporting_locators": [
        "SOURCE_PROVENANCE",
        "- Metrics Introduction: https://deepeval.com/docs/metrics-introduction"
      ],
      "scope": "SOURCE_PROVENANCE",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-176-URL-6F1F88A9D4B3",
      "evidence_class": "RESEARCH",
      "title": "Evaluation Introduction:",
      "href": "https://deepeval.com/docs/evaluation-introduction",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-176-URL-6F1F88A9D4B3"
      ],
      "supporting_locators": [
        "SOURCE_PROVENANCE",
        "- Evaluation Introduction: https://deepeval.com/docs/evaluation-introduction"
      ],
      "scope": "SOURCE_PROVENANCE",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-176-URL-4452AFC4B866",
      "evidence_class": "RESEARCH",
      "title": "Trajectory-Based Evaluation:",
      "href": "https://deepeval.com/docs/evaluation-trajectory-based-llm-evals",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-176-URL-4452AFC4B866"
      ],
      "supporting_locators": [
        "SOURCE_PROVENANCE",
        "- Trajectory-Based Evaluation: https://deepeval.com/docs/evaluation-trajectory-based-llm-evals"
      ],
      "scope": "SOURCE_PROVENANCE",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-176-URL-6B7778848E17",
      "evidence_class": "RESEARCH",
      "title": "Local Backend Storage:",
      "href": "https://deepeval.com/docs/evaluation-local-backend-storage",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-176-URL-6B7778848E17"
      ],
      "supporting_locators": [
        "SOURCE_PROVENANCE",
        "- Local Backend Storage: https://deepeval.com/docs/evaluation-local-backend-storage"
      ],
      "scope": "SOURCE_PROVENANCE",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-176-URL-51F0391B8169",
      "evidence_class": "RESEARCH",
      "title": "Environment Variables:",
      "href": "https://deepeval.com/docs/environment-variables",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-176-URL-51F0391B8169"
      ],
      "supporting_locators": [
        "SOURCE_PROVENANCE",
        "- Environment Variables: https://deepeval.com/docs/environment-variables"
      ],
      "scope": "SOURCE_PROVENANCE",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-176-URL-79370E466CEE",
      "evidence_class": "RESEARCH",
      "title": "Benchmarks Introduction:",
      "href": "https://deepeval.com/docs/benchmarks-introduction",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-176-URL-79370E466CEE"
      ],
      "supporting_locators": [
        "SOURCE_PROVENANCE",
        "- Benchmarks Introduction: https://deepeval.com/docs/benchmarks-introduction"
      ],
      "scope": "SOURCE_PROVENANCE",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-176-URL-1B5955D3C7F0",
      "evidence_class": "RESEARCH",
      "title": "DeepEval 2026 changelog:",
      "href": "https://deepeval.com/changelog/changelog-2026",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-176-URL-1B5955D3C7F0"
      ],
      "supporting_locators": [
        "SOURCE_PROVENANCE",
        "- DeepEval 2026 changelog: https://deepeval.com/changelog/changelog-2026"
      ],
      "scope": "SOURCE_PROVENANCE",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EA-176-CURRENT-APPROVAL",
      "evidence_class": "RESEARCH",
      "title": "現行本文の監査・revision対応",
      "supports": [
        "現行台帳のAUDIT_PASSと候補・revision・本文ハッシュの対応を確認しています。"
      ],
      "limit": "監査状態と来歴の記録です。外部根拠の最新性や本文の全主張を追加保証しません。",
      "origin_class": "AUDITED_CANONICAL_RESEARCH_PACKET",
      "source_or_experiment_ids": [
        "EA176-CANDIDATE-20261022-1408JST-C1"
      ],
      "supporting_locators": [
        "1KqhJtiSb2S84rWmeYVwKcT_76dBwZ_B0ZZuAWQqH0rQ/EA_REVISION_LEDGER#ea_id=EA-176&revision_id=EA-176-V21-LEGACY-MIGRATION-20261003-R1&candidate_id=EA176-CANDIDATE-20261022-1408JST-C1",
        "EA-176-V21-LEGACY-MIGRATION-20261003-R1"
      ],
      "provenance_status": "CURRENT_CANONICAL_APPROVAL_READBACK"
    },
    {
      "id": "EA-176-CURRENT-BODY-READBACK",
      "evidence_class": "IMPL",
      "title": "現行本文の収録照合",
      "supports": [
        "公開生成入力の本文SHA-256が、監査済み候補に結び付いたハッシュと一致しています。"
      ],
      "limit": "本文の同一性の検査です。外部システムの挙動や全主張の真偽を実証したものではありません。",
      "checked_at": "2026-10-22",
      "origin_class": "IMPLEMENTATION_READBACK",
      "source_or_experiment_ids": [
        "BODY-SHA256:ea7f951600936137ae7dc29a566f08f1943aafe94a18ccd10098f680f7d2f96a"
      ],
      "supporting_locators": [
        "content/staging/EA-176.md",
        "ea7f951600936137ae7dc29a566f08f1943aafe94a18ccd10098f680f7d2f96a",
        "EA-176-V21-LEGACY-MIGRATION-20261003-R1"
      ],
      "provenance_status": "CURRENT_APPROVED_BODY_HASH_MATCH"
    }
  ],
  "research_sections": [
    {
      "heading": "概要",
      "text": "DeepEvalは、LLMアプリケーションをtest case、dataset、metric、traceに基づいて評価し、pytest/CIへ組み込めるオープンソースの評価フレームワークである。現在の公式ドキュメントでは、end-to-end、trajectory-based、component-levelの評価を扱い、agent、multi-turn chatbot、voice、RAG、MCP、tool-use等を対象にする。\n\nただしDeepEvalは客観的な「正解判定器」ではない。評価結果は、dataset、metric/classifier、judge model、threshold、trace scope、DeepEval version、target versionなどの組合せで成立する証拠であり、本番品質・安全性・法令適合を包括的に保証しない。"
    },
    {
      "heading": "主要claim",
      "text": "### 1. 評価scopeを分離する\n\nend-to-end評価は外部から見た結果を測り、trajectory-based評価はagentの計画・model call・tool call・handoff等の順序を含む実行経路を測り、component-level評価はtrace内の個別spanやtool、retriever等を測る。これらは相互代替ではない。\n\ncomponentのscoreが良好でもwhole-system successは確定せず、end-to-end scoreだけでは内部failureの局在化はできない。trajectory評価も、観測されていない副作用や業務transactionの正しさまで自動的に証明するものではない。\n\n### 2. 多くのmetricはLLM-as-a-judgeである\n\n現行公式metric documentationでは50+のmetricがあり、ほぼすべてのpredefined metricがLLM-as-a-judgeを使う。scoreとthresholdによるsuccess/failureは、設定された評価規則の結果である。\n\nしたがってthreshold変更、judge変更、rubric/template変更、provider挙動の変化によって、target outputが同じでも判定が変わり得る。G-Eval等の主観評価系を、deterministicなoracleとして扱わない。\n\n### 3. local-firstとno-egressは同義ではない\n\nDeepEvalはlocal-firstで、accountなしでも実行できる。しかしLLM judgeを使うmetricではjudge providerへの通信が発生し得る。Confident AIへsign-inした環境ではtest resultやtraceのupload経路が別に存在する。\n\n現行local backend documentationではJSONまたはSQLiteへrunを保存できる一方、Confident AIへlogged-inの場合はlocal backendを選んでもtest runがuploadされる。local persistenceの採用だけで「外部送信なし」と判断してはならない。\n\n### 4. benchmark scoreはproduction guaranteeではない\n\nbenchmarkはtask/dataset、scorer、few-shot/CoT等のprompting条件を含む。比較時はDeepEval version、target model/API revision、judge、metric、threshold、dataset hash、prompting、trace scope、cache/retry/error policyを固定または記録する。\n\n条件が変わったrun同士を、targetだけが変わった比較として扱わない。\n\n### 5. quality evaluationとsecurity red teamingを分離する\n\nDeepEvalのquality evaluationと、DeepTeamによるsecurity/red-team testingは別のevidence surfaceである。selected attackでred-team testを通過しても、未選択attackやsystem外部の脆弱性が不存在とは言えない。\n\nConfident AIのcommercial/enterprise surfaceもOSS DeepEvalの機能保証と分離する。SSO、RBAC、audit、self-host、retention、region等は、契約・plan・tenant configurationの一次証拠なしに利用可能と断定しない。"
    },
    {
      "heading": "運用上のfailure",
      "text": "- judge driftやprovider/model更新でscore distributionが変わる。\n- threshold変更だけでpass/failが反転する。\n- weak/biased goldensによりCIがgreenでも重要failureを検出できない。\n- rate limit、timeout、cache、async/concurrency errorをmodel-quality failureと誤認する。\n- trace instrumentation不足によりhidden state、副作用、tool外処理を観測できない。\n- local storeを設定したことでcloud uploadやjudge-provider egressも止まったと誤認する。\n- evaluator upgradeとtarget upgradeを同時に行い、差分原因を分離できなくなる。\n- test codeとして動くcustom metric/callbackやagent toolに過剰権限を与える。"
    },
    {
      "heading": "control / implementation implication",
      "text": "1. DeepEval version、target version、judge provider/model、metric/classifier、threshold、custom rubric/template、dataset hash、trace scopeをrun artifactへ記録する。\n2. evaluator upgradeとtarget upgradeを別changeとして検証し、judge/model/metric変更後はbaselineを再確立する。\n3. deterministic/bounded checkとLLM-judged metricを別系列で報告する。\n4. execution error、rate-limit、timeout、transport failureをquality scoreと混同しない。\n5. JSON/SQLite等のlocal persistence、Confident AI sign-in/upload、judge-provider通信、telemetryを別々のdata-flowとして確認する。\n6. CI gateはall-greenだけでなく、seeded failureを期待どおり検出できるかを検査する。\n7. agent/tool evaluationではsandboxed non-production fixtureを使い、real secretやdestructive actionを評価fixtureへ持ち込まない。\n8. audit artifactとしてconfig、dataset hash、metric definition、judge、threshold、target revision、timestamps、error count、result artifactを保持する。"
    },
    {
      "heading": "適用境界・counterevidence",
      "text": "DeepEvalの評価能力が広いことは、任意の業務品質を自動的に測定できることを意味しない。評価対象をtest caseやtraceへ正しく投影できるか、golden/rubricが業務要求を表現しているかは利用組織側の設計問題である。\n\n現行documentationはmulti-turn、voice、MCP、trajectory/component evaluation等へ拡張されており、2026-09-29時点の「component-levelはsingle-turnのみ」という旧境界は現在の一般的説明としては採用しない。公開記事ではcurrent documentationを優先する。\n\nLLM-as-a-judgeの出力はjudge/model/provider/rubricへ依存する。高scoreをground truthやhuman reviewの完全代替として扱わない。"
    },
    {
      "heading": "SECURITY",
      "text": "custom metrics、callbacks、agent toolsは評価コードとして権限を持ち得る。CI secret、production credentials、外部tool権限を最小化し、red-teamは承認済みtargetで行う。"
    },
    {
      "heading": "PRIVACY",
      "text": "evaluation corpusやtraceにはcustomer data、prompt、retrieved context、tool resultが含まれ得る。judge provider、Confident AI upload、telemetry、local artifactの各destinationとretentionを別々に確認する。\n\nAUDIT: 「どのtargetを、どのdataset・metric・judge・threshold・versionで評価したか」を再現できるartifactを残す。"
    },
    {
      "heading": "COST",
      "text": "LLM judge、trajectory/component評価、regression suite、prompt optimizationはmodel callを増やす。CI frequencyとsample sizeを含めてcost budgetを管理する。"
    },
    {
      "heading": "OPERABILITY",
      "text": "retry/error policy、rate-limit、cache、concurrency、artifact retention、baseline更新手順を明示し、評価systemのfailureをtarget systemのfailureと区別する。"
    },
    {
      "heading": "OPEN_UNKNOWN",
      "text": "- 当該組織のConfident AI契約、retention、RBAC、SSO、audit、self-host、region/SLA。\n- 当該tenantで実際に有効なupload/telemetry/judge-provider data flow。\n- Promptfoo、RAGAS、Inspect AI等との同一fixture・同一judge条件での比較効果。\n- 実workloadで必要なsample size、variance、false-positive/false-negative許容値。\n- 既存historical Luna packet locator。\n- 現在利用するDeepEval releaseのexact package version/commit。公開時・導入時にlockfileとrelease provenanceで固定する。\n\nUNKNOWNを推測で閉じない。"
    },
    {
      "heading": "SAFE_WORDING",
      "text": "DeepEvalは、LLM/AIアプリをtest case・dataset・metric・traceに基づいて評価し、pytest/CIへ組み込めるlocal-firstのOSS evaluation frameworkである。end-to-end、trajectory、componentなど複数scopeを扱えるが、多くのmetricはLLM-as-a-judgeであり、pass/failは固定したdataset・metric・judge・threshold・version等の条件下での評価結果である。本番品質、安全性、法令適合の包括保証とは扱わない。local storageを利用する場合も、judge provider、Confident AI sign-in/upload、telemetry等の外部data flowを別途確認する。"
    }
  ],
  "human_url": "/tools/ea-176-deepeval",
  "markdown_url": "/agent/article.md?path=%2Ftools%2Fea-176-deepeval",
  "json_url": "/agent/article.json?path=%2Ftools%2Fea-176-deepeval"
}