{
  "format": "agent-article-v0",
  "article_id": "EA-039",
  "canonical_url": "/tools/ea-039-ai",
  "page_type": "reference",
  "claim_ids": [],
  "evidence_ids": [
    "EVD-EA-039-URL-C36C22219C47",
    "EVD-EA-039-URL-DE7014B2A6BF",
    "EVD-EA-039-URL-00F240323859",
    "EVD-EA-039-URL-8D62DE500BF8",
    "EVD-EA-039-URL-49AF6AFC8C20",
    "EVD-EA-039-URL-C40617401155",
    "EVD-EA-039-URL-71C6BF63EBCB",
    "EA-039-R11-RESEARCH",
    "EA-039-R11-WEB-READBACK"
  ],
  "unknown_ids": [
    "EA-039-UNKNOWN-01",
    "EA-039-UNKNOWN-CURRENTNESS"
  ],
  "operational_object_ids": [],
  "provider": [],
  "models": [],
  "plans": [],
  "surfaces": [],
  "regions": [],
  "current_status": "UNKNOWN",
  "observation_status": "SPEC_ONLY",
  "freshness": "UNKNOWN",
  "last_verified": null,
  "supersedes": [],
  "superseded_by": [],
  "provenance": [
    "R1R-061-EA0039",
    "SRC-EA-039-URL-C36C22219C47",
    "SRC-EA-039-URL-DE7014B2A6BF",
    "SRC-EA-039-URL-00F240323859",
    "SRC-EA-039-URL-8D62DE500BF8",
    "SRC-EA-039-URL-49AF6AFC8C20",
    "SRC-EA-039-URL-C40617401155",
    "SRC-EA-039-URL-71C6BF63EBCB",
    "WEBBODY-EA0039-R8-EC1CA2EA"
  ],
  "article_sources": [
    {
      "id": "EVD-EA-039-URL-C36C22219C47",
      "evidence_class": "RESEARCH",
      "title": "1. OpenAI Agents SDK, “Tools”, accessed 2026-09-25,",
      "href": "https://openai.github.io/openai-agents-python/tools/",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-039-URL-C36C22219C47"
      ],
      "supporting_locators": [
        "EVIDENCE TABLE",
        "1. OpenAI Agents SDK, “Tools”, accessed 2026-09-25, https://openai.github.io/openai-agents-python/tools/"
      ],
      "scope": "EVIDENCE TABLE",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-039-URL-DE7014B2A6BF",
      "evidence_class": "RESEARCH",
      "title": "2. OpenAI Agents SDK, “Agents”, accessed 2026-09-25,",
      "href": "https://openai.github.io/openai-agents-js/guides/agents/",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-039-URL-DE7014B2A6BF"
      ],
      "supporting_locators": [
        "EVIDENCE TABLE",
        "2. OpenAI Agents SDK, “Agents”, accessed 2026-09-25, https://openai.github.io/openai-agents-js/guides/agents/"
      ],
      "scope": "EVIDENCE TABLE",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-039-URL-00F240323859",
      "evidence_class": "RESEARCH",
      "title": "3. OpenAI Agents SDK, “Handoffs”, accessed 2026-09-25,",
      "href": "https://openai.github.io/openai-agents-js/guides/handoffs/",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-039-URL-00F240323859"
      ],
      "supporting_locators": [
        "EVIDENCE TABLE",
        "3. OpenAI Agents SDK, “Handoffs”, accessed 2026-09-25, https://openai.github.io/openai-agents-js/guides/handoffs/"
      ],
      "scope": "EVIDENCE TABLE",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-039-URL-8D62DE500BF8",
      "evidence_class": "RESEARCH",
      "title": "4. OpenAI Agents SDK, “Tracing”, accessed 2026-09-25,",
      "href": "https://openai.github.io/openai-agents-js/guides/tracing/",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-039-URL-8D62DE500BF8"
      ],
      "supporting_locators": [
        "EVIDENCE TABLE",
        "4. OpenAI Agents SDK, “Tracing”, accessed 2026-09-25, https://openai.github.io/openai-agents-js/guides/tracing/"
      ],
      "scope": "EVIDENCE TABLE",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-039-URL-49AF6AFC8C20",
      "evidence_class": "RESEARCH",
      "title": "5. OpenTelemetry, “Semantic Conventions”, accessed 2026-09-25,",
      "href": "https://opentelemetry.io/docs/specs/otel/semantic-conventions/",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-039-URL-49AF6AFC8C20"
      ],
      "supporting_locators": [
        "EVIDENCE TABLE",
        "5. OpenTelemetry, “Semantic Conventions”, accessed 2026-09-25, https://opentelemetry.io/docs/specs/otel/semantic-conventions/"
      ],
      "scope": "EVIDENCE TABLE",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-039-URL-C40617401155",
      "evidence_class": "RESEARCH",
      "title": "6. Model Context Protocol official Ruby SDK, accessed 2026-09-25,",
      "href": "https://ruby.sdk.modelcontextprotocol.io/",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-039-URL-C40617401155"
      ],
      "supporting_locators": [
        "EVIDENCE TABLE",
        "6. Model Context Protocol official Ruby SDK, accessed 2026-09-25, https://ruby.sdk.modelcontextprotocol.io/"
      ],
      "scope": "EVIDENCE TABLE",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-039-URL-71C6BF63EBCB",
      "evidence_class": "RESEARCH",
      "title": "7. NIST AI Resource Center / AI RMF resources, accessed 2026-09-25,",
      "href": "https://airc.nist.gov/",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-039-URL-71C6BF63EBCB"
      ],
      "supporting_locators": [
        "EVIDENCE TABLE",
        "7. NIST AI Resource Center / AI RMF resources, accessed 2026-09-25, https://airc.nist.gov/"
      ],
      "scope": "EVIDENCE TABLE",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EA-039-R11-RESEARCH",
      "evidence_class": "RESEARCH",
      "title": "EA-039 監査済みresearch / canonical revision binding",
      "supports": [
        "1. 「AI機能」は単一taxonomyではなく、少なくとも capability / control / state / execution / interface / modality / observability の直交軸で表す。\n2. Core component候補:\n   - INFERENCE/GENERATION: model invocation, reasoning/generation.\n   - RETRIEVAL: search/query/retriever/reranker.\n   - KNOWLEDGE/RAG: corpus ingestion, chunk/index, grounding assembly.\n   - MEMORY/STATE: conversation/session/user/task state。retrieval corpusと分離。\n   - TOOL/ACTION EXECUTION: function/API/code/computer等のside effect境界。\n   - ORCHESTRATION/ROUTING: sequencing, manager, handoff, planner。\n   - VALIDATION/GUARDRAIL/POLICY: input/output/tool/action checks。\n   - IDENTITY/AUTHORIZATION/SECRETS: non-LLM control plane。\n   - OBSERVABILITY/AUDIT: trace/span/log/metric/evidence。\n   - MODALITY ADAPTER: text/image/audio/video/document I/O。\n   - HUMAN CONTROL: approval, escalation, override。\n3. 「Agent」はこれら複数componentのcompositionであり、独立した原子機能として固定しない。\n4. 同一component名でもprovider間semanticsは同一とは限らない。provider mappingは capability_id + implementation + version + availability gate として別表にする。\n5. component間interfaceには input/output schema, authority, state ownership, side-effect class, failure contract, evidence locator を持たせる。"
      ],
      "limit": "canonical監査・revision bindingの存在を示す。外部ソースcurrentnessが本文またはcontrol-planeで確定していない場合は、currentnessをUNKNOWNのまま保持する。",
      "origin_class": "AUDITED_CANONICAL_RESEARCH_PACKET",
      "source_or_experiment_ids": [
        "R1R-061-EA0039"
      ],
      "supporting_locators": [
        "R1R-061-EA0039",
        "EA-039-R5-LEGACY-MIGRATION-20261008-R1",
        "content/staging/EA-039.md"
      ],
      "scope": "監査済みEA本文・canonical revision・既存Source Graph relationの範囲。欠損currentnessは推測で閉じない。",
      "provenance_status": "AUDIT_PASS_CANONICAL_BINDING"
    },
    {
      "id": "EA-039-R11-WEB-READBACK",
      "evidence_class": "IMPL",
      "title": "EA-039 Web body identity / canonical readback",
      "supports": [
        "canonical staging bodyのSHA-256一致とR9 canonical ledger readbackをProduction projectionの入力として検証する。"
      ],
      "limit": "body identity/readbackは本文claim自体の真偽や外部ソースの最新性を追加保証しない。",
      "checked_at": null,
      "origin_class": "IMPLEMENTATION_READBACK",
      "source_or_experiment_ids": [
        "WEBBODY-EA0039-R8-EC1CA2EA"
      ],
      "supporting_locators": [
        "WEBBODY-EA0039-R8-EC1CA2EA",
        "content/staging/EA-039.md",
        "EA-039-R5-LEGACY-MIGRATION-20261008-R1"
      ],
      "scope": "R9/R10 canonical readback後のProduction生成時body identity。",
      "provenance_status": "CANONICAL_READBACK_BODY_HASH_MATCH"
    }
  ],
  "research_sections": [
    {
      "heading": "WHY_THIS_MATTERS_TO_UPDATE",
      "text": "製品名や「Agent」という大きな単位だけで比較すると、推論・検索・記憶・実行・RAG・コード・画像・音声・guardrail・state・observability等の責任境界、交換可能性、障害点が隠れる。更新時にprovider製品の改名やbundle変更へ引きずられない、部品単位の共通語彙が必要。"
    },
    {
      "heading": "SCOPE_ROUTING",
      "text": "Enterprise AI Core / implementation / interoperability / observability / provider mapping / non-LLM component."
    },
    {
      "heading": "CLAIM_OR_RESEARCH_QUESTION",
      "text": "Enterprise AI systemを、交換可能性・権限・state・side effect・evidence boundaryが明示できる最小実用componentへどう分解し、provider固有product mappingと切り離して比較するか。"
    },
    {
      "heading": "EVIDENCE TABLE",
      "text": "1. OpenAI Agents SDK, “Tools”, accessed 2026-09-25, https://openai.github.io/openai-agents-python/tools/ — hosted tools / local-runtime tools / function tools / agents-as-tools等を別categoryとして公開。VERIFIED_SPEC + PRODUCT_VOLATILE / support-context.\n2. OpenAI Agents SDK, “Agents”, accessed 2026-09-25, https://openai.github.io/openai-agents-js/guides/agents/ — manager (agents as tools) と handoff を異なるcomposition patternとして定義。VERIFIED_SPEC + PRODUCT_VOLATILE / support-limit.\n3. OpenAI Agents SDK, “Handoffs”, accessed 2026-09-25, https://openai.github.io/openai-agents-js/guides/handoffs/ — handoffはtoolとして表現されるがcontrol transfer、history filtering、authorization timing等に固有semantics。VERIFIED_SPEC + PRODUCT_VOLATILE / support-limit.\n4. OpenAI Agents SDK, “Tracing”, accessed 2026-09-25, https://openai.github.io/openai-agents-js/guides/tracing/ — generation/tool/handoff/guardrail等を別spanとしてtrace。ZDR組織ではtracing unavailableとのavailability gateあり。VERIFIED_SPEC + PRODUCT_VOLATILE / support-limit.\n5. OpenTelemetry, “Semantic Conventions”, accessed 2026-09-25, https://opentelemetry.io/docs/specs/otel/semantic-conventions/ — operation/dataの共通命名をtrace/metric/log/resource等へ標準化する考え方。仕様statusはDevelopment。VERIFIED_SPEC / context-limit.\n6. Model Context Protocol official Ruby SDK, accessed 2026-09-25, https://ruby.sdk.modelcontextprotocol.io/ — MCP server/clientがtools, prompts, resources、transport、OAuth等を別protocol surfaceとして扱う実装例。OSS_PRACTICE + PRODUCT_VOLATILE / context-support.\n7. NIST AI Resource Center / AI RMF resources, accessed 2026-09-25, https://airc.nist.gov/ — AI RMF運用化、TEVV、profiles/playbookを提供。AI RMF 1.0は改訂中との明示あり。VERIFIED_SPEC / governance-context + version-limit."
    },
    {
      "heading": "FINDINGS",
      "text": "1. 「AI機能」は単一taxonomyではなく、少なくとも capability / control / state / execution / interface / modality / observability の直交軸で表す。\n2. Core component候補:\n   - INFERENCE/GENERATION: model invocation, reasoning/generation.\n   - RETRIEVAL: search/query/retriever/reranker.\n   - KNOWLEDGE/RAG: corpus ingestion, chunk/index, grounding assembly.\n   - MEMORY/STATE: conversation/session/user/task state。retrieval corpusと分離。\n   - TOOL/ACTION EXECUTION: function/API/code/computer等のside effect境界。\n   - ORCHESTRATION/ROUTING: sequencing, manager, handoff, planner。\n   - VALIDATION/GUARDRAIL/POLICY: input/output/tool/action checks。\n   - IDENTITY/AUTHORIZATION/SECRETS: non-LLM control plane。\n   - OBSERVABILITY/AUDIT: trace/span/log/metric/evidence。\n   - MODALITY ADAPTER: text/image/audio/video/document I/O。\n   - HUMAN CONTROL: approval, escalation, override。\n3. 「Agent」はこれら複数componentのcompositionであり、独立した原子機能として固定しない。\n4. 同一component名でもprovider間semanticsは同一とは限らない。provider mappingは capability_id + implementation + version + availability gate として別表にする。\n5. component間interfaceには input/output schema, authority, state ownership, side-effect class, failure contract, evidence locator を持たせる。"
    },
    {
      "heading": "LIMITS / COUNTEREVIDENCE / FAILURE ENVELOPE",
      "text": "- taxonomyは自然法則ではなく設計上のPROPOSAL。唯一の標準分類とは書かない。\n- tool / resource / prompt / agent等の用語はSDK/protocolごとに意味が異なる。\n- 「memory」はprovider-managed conversation state、application DB、vector retrieval、user profile等を一語で混同しやすい。\n- RAGはretrievalだけでなくingestion/index/reranking/context assembly/generationを跨ぐため単一component扱いだけでは障害点を隠す。\n- traceが存在しても完全なaudit logとは限らない。OpenAI Agents SDKではZDR利用時tracing unavailableという現行制約がある。\n- OpenTelemetry semantic conventionsは共通命名に有用だが、AI部品taxonomyそのものを規定する証拠ではない。\n- MCPのtools/resources/prompts分類をEnterprise AI全体の普遍taxonomyへ外挿しない。\n- 製品bundleやSDK object境界 ≠ security/trust boundary。"
    },
    {
      "heading": "AVAILABILITY_GATES",
      "text": "provider/model/API/SDK version、plan、region、runtime、ZDR/data-control mode、tool entitlement、connector/MCP availability、organization policyをcomponentごとに記録する。PRODUCT_VOLATILEなprovider mappingは出版・更新時にcurrent再確認する。"
    },
    {
      "heading": "IMPLEMENTATION_STATE",
      "text": "PROPOSAL AI_COMPONENT_DICTIONARY_V1:\ncomponent_id; canonical_name; category; purpose; input_contract; output_contract; state_owned; authority_required; side_effect_class; trust_boundary; failure_modes; observability_signals; audit_evidence; security/privacy properties; latency/cost dimensions; interchangeable_with; dependencies; provider_implementations[]; version/as_of; availability_gates; deprecation_state; source_refs; UNKNOWN.\n別表 AI_COMPONENT_EDGE_V1:\nfrom_component; to_component; data_class; schema/version; auth_context; state_transfer; retry/idempotency; timeout; failure_propagation; readback/postcondition; audit_link."
    },
    {
      "heading": "BENCHMARK_OR_EVAL",
      "text": "COMPONENT_SUBSTITUTION_TEST_V1:\n同一fixtureで特定componentだけを差し替え、end-to-end task successだけでなく component-local accuracy/error、latency、cost、side-effect correctness、state leakage、trace coverage、fallback behaviorを測る。A/B差が隣接component変更に汚染されないようprompt/retrieval corpus/tool schema等を固定。複合system benchmarkを単一component性能保証へ外挿しない。"
    },
    {
      "heading": "SECURITY / PRIVACY / AUDIT / COST / OPERABILITY",
      "text": "trust boundaryとcredential ownershipをcomponent edgeごとに記録し、推論componentへ不要なsecretを渡さない。stateful componentにはretention/delete/tenant boundaryを付与。side-effect componentはleast privilege・approval・idempotency・readbackを要求。observability componentはtrace欠落自体を状態として記録。costはmodel tokenだけでなくretrieval/index/tool/egress/storage/observabilityをcomponent別に帰属可能にする。"
    },
    {
      "heading": "SAFE_WORDING_FOR_FUTURE_BOOK",
      "text": "「Enterprise AIは製品名や『Agent』という一語で比較せず、推論、検索、RAG、記憶・状態、実行、オーケストレーション、検証・ガードレール、Identity、観測、モダリティ、人間承認などの部品へ分解して扱う。これは唯一の標準分類ではなく、責任・権限・状態・障害・コスト・証拠を追跡するための運用上の共通語彙である。各provider製品は、この共通部品へversionとavailability gate付きでmappingする。」"
    },
    {
      "heading": "UPDATE_WORK_HANDOFF",
      "text": "EA-038のAI→従来software execution contractをTOOL/ACTION EXECUTION edgeへ統合候補。EA-040 Enterprise AI Coreでは本component dictionaryをCoreの構成語彙候補として評価する。EA-041 Control Plane、EA-042 Registry/Catalogではcomponent_id/provider implementation/version/owner/approval/deprecationを資産管理keyとして再利用可能。"
    },
    {
      "heading": "OPEN_UNKNOWN",
      "text": "/ STOP_CONDITION\n唯一の標準component taxonomy、component粒度の最適解、provider横断で完全に交換可能なinterface集合は未確立。taxonomyを事実として固定せずPROPOSALとして保持する。component classes、edge contract、provider mapping、failure envelope、substitution evaluationまでboundedに確立したためEA-039を停止。\n\n\nRUN SUMMARY\nCOMPLETED_EA: EA-039"
    },
    {
      "heading": "BOUNDARY",
      "text": "EA-400以降・本編正本・S063 Frozen TOC未変更\n\n---"
    },
    {
      "heading": "AUDITED_BOUNDARY",
      "text": "AI_COMPONENT_DICTIONARY_V1 and AI_COMPONENT_EDGE_V1 remain DICTIONARY PROPOSAL. Component taxonomy is non-standard; Agent is composition rather than a fixed atomic component; provider object/bundle boundaries are not trust boundaries; memory/RAG/state must not be conflated. Use the current OpenTelemetry GenAI semantic-conventions locator/maturity at implementation and preserve all OPEN_UNKNOWN from authority.\nTESTS: exact authority range readback PASS; proposal/non-standard-taxonomy/UNKNOWN/currentness-overlay markers PASS. Build/CI deferred to eligible Git batch."
    }
  ],
  "human_url": "/tools/ea-039-ai",
  "markdown_url": "/agent/article.md?path=%2Ftools%2Fea-039-ai",
  "json_url": "/agent/article.json?path=%2Ftools%2Fea-039-ai"
}