445 lines
21 KiB
JSON
445 lines
21 KiB
JSON
{
|
||
"schema_version": "ai_agent_interaction_learning_proof_v1",
|
||
"generated_at": "2026-06-11T23:20:00+08:00",
|
||
"program_status": {
|
||
"overall_completion_percent": 100,
|
||
"current_priority": "P2",
|
||
"current_task_id": "P2-403J",
|
||
"next_task_id": "P2-403K",
|
||
"read_only_mode": true,
|
||
"runtime_authority": "proof_surface_only_no_live_worker",
|
||
"status_note": "P2-403J 已把報表真相、全 0 週報可處置異常、日週月契約、Telegram 收斂、每個 Agent 工作量、圖表化報告與高/中/低風險自動化政策接入;live AgentSession、message、handoff、learning write、Telegram receipt、報告實發、自動優化、verifier execution 與 route change 仍全部為 0。"
|
||
},
|
||
"live_truth": {
|
||
"runtime_loop_enabled": false,
|
||
"live_agent_session_readback_enabled": false,
|
||
"redis_consumer_group_enabled": false,
|
||
"telegram_send_enabled": false,
|
||
"learning_writeback_enabled": false,
|
||
"active_live_agent_sessions": 0,
|
||
"live_agent_messages_24h": 0,
|
||
"live_handoffs_24h": 0,
|
||
"live_learning_writes_24h": 0,
|
||
"telegram_digest_receipts_24h": 0,
|
||
"truth_note": "目前能證明的是合約、面板與證據需求已建立;還不能宣稱 OpenClaw / Hermes / NemoTron runtime 正在互傳訊息或自主學習。"
|
||
},
|
||
"proof_ladder": [
|
||
{
|
||
"level_id": "contract_surface",
|
||
"display_name": "協作與學習契約可見",
|
||
"status": "contract_ready",
|
||
"completion_percent": 100,
|
||
"operator_meaning": "你可以看到三個 Agent 如何分工、用哪些 MCP/RAG/記憶層互相交接。",
|
||
"source_of_truth": "ai_agent_communication_learning_contract_v1",
|
||
"next_gate": "保持只讀,等待 live read model 接線。"
|
||
},
|
||
{
|
||
"level_id": "proof_dashboard",
|
||
"display_name": "互動證據面板可見",
|
||
"status": "proof_surface_ready",
|
||
"completion_percent": 100,
|
||
"operator_meaning": "治理頁會顯示哪些證據真的有資料、哪些仍是 0 與原因。",
|
||
"source_of_truth": "ai_agent_interaction_learning_proof_v1",
|
||
"next_gate": "P2-403C Redis dry-run gate 已接入;下一步是 learning writeback approval package。"
|
||
},
|
||
{
|
||
"level_id": "live_read_model",
|
||
"display_name": "Live AgentSession 讀回",
|
||
"status": "contract_ready",
|
||
"completion_percent": 100,
|
||
"operator_meaning": "已定義 AgentSession 安全欄位、Redis event envelope、worker gate、回滾與無寫入 smoke;尚未讀 live DB/Redis。",
|
||
"source_of_truth": "ai_agent_live_read_model_gate_v1",
|
||
"next_gate": "P2-403C Redis dry-run gate 已接入治理頁。"
|
||
},
|
||
{
|
||
"level_id": "message_bus_receipts",
|
||
"display_name": "訊息匯流收據",
|
||
"status": "contract_ready",
|
||
"completion_percent": 100,
|
||
"operator_meaning": "已定義 fixture-only Redis dry-run、consumer group plan、ack / dead-letter / replay idempotency;尚未連 production Redis。",
|
||
"source_of_truth": "ai_agent_redis_dry_run_gate_v1",
|
||
"next_gate": "P2-403D learning writeback approval package。"
|
||
},
|
||
{
|
||
"level_id": "handoff_receipts",
|
||
"display_name": "互相接手紀錄",
|
||
"status": "contract_ready",
|
||
"completion_percent": 100,
|
||
"operator_meaning": "已定義 OpenClaw / Hermes / NemoTron handoff envelope、必填欄位、idempotency key 與 redacted evidence refs;尚未啟動 runtime worker。",
|
||
"source_of_truth": "ai_agent_redis_dry_run_gate_v1",
|
||
"next_gate": "P2-403D learning writeback approval package。"
|
||
},
|
||
{
|
||
"level_id": "runtime_verifier_evidence_review",
|
||
"display_name": "Runtime verifier evidence review",
|
||
"status": "contract_ready",
|
||
"completion_percent": 100,
|
||
"operator_meaning": "已定義 runtime verifier implementation 前必看的 readback plan、rollback template、failure receipt redaction 與 NemoTron replay fixture;尚未實作或執行 verifier。",
|
||
"source_of_truth": "ai_agent_runtime_verifier_evidence_review_v1",
|
||
"next_gate": "P2-403J 成長趨勢週報與 operator feedback applied 指標。"
|
||
},
|
||
{
|
||
"level_id": "reporting_and_risk_automation_review",
|
||
"display_name": "日週月報與風險自動化 review",
|
||
"status": "contract_ready",
|
||
"completion_percent": 100,
|
||
"operator_meaning": "已定義 AI Agent 日報、週報、月報、每個 Agent 工作量、圖表化報告、AI 分析建議與高/中/低風險自動化政策;尚未排程實發或啟動中低風險 runtime worker。",
|
||
"source_of_truth": "ai_agent_report_automation_review_v1",
|
||
"next_gate": "P2-403K SRE 戰情室路由收斂後,接 P2-403L 報表 runtime 啟動前閘門。"
|
||
},
|
||
{
|
||
"level_id": "learning_growth",
|
||
"display_name": "學習回寫與成長曲線",
|
||
"status": "approval_required",
|
||
"completion_percent": 0,
|
||
"operator_meaning": "啟用後你會看到知識庫新增、playbook trust 變化、replay 分數改善與錯誤類型下降。",
|
||
"source_of_truth": "knowledge_entries + playbook_trust_history + replay_results + finetune_exporter",
|
||
"next_gate": "P2-403F owner-approved learning dry-run 已接入;實際 KM / PlayBook trust / timeline / replay score writeback 仍需 owner approval 與 runtime write gate。"
|
||
},
|
||
{
|
||
"level_id": "telegram_receipts",
|
||
"display_name": "Telegram 摘要收據",
|
||
"status": "approval_required",
|
||
"completion_percent": 0,
|
||
"operator_meaning": "啟用後 Telegram 只推送需處置、需批准或失敗摘要,治理頁保留已排隊/已送達/已確認收據。",
|
||
"source_of_truth": "telegram_gateway_queue + alert_operation_log",
|
||
"next_gate": "P2-403E Telegram receipt approval package 已接入;實際 queue write、send、delivered、ack 與 retry 仍需 owner approval。"
|
||
}
|
||
],
|
||
"agent_lanes": [
|
||
{
|
||
"agent_id": "openclaw",
|
||
"display_name": "OpenClaw",
|
||
"primary_role": "仲裁者、風險 owner、HITL 守門者",
|
||
"current_visible_state": "contract_visible_live_runtime_pending",
|
||
"visible_signals": [
|
||
"arbitration_request_count",
|
||
"challenge_count",
|
||
"approval_gate_decision",
|
||
"post_verification_learning_receipt"
|
||
],
|
||
"growth_metric": "錯誤批准率下降、人工覆核退回率下降、風險分類穩定度上升",
|
||
"what_operator_will_feel": "你會看到 OpenClaw 不是只給結論,而是保留它要求補證、拒收、批准或升級的每一步摘要。"
|
||
},
|
||
{
|
||
"agent_id": "hermes",
|
||
"display_name": "Hermes",
|
||
"primary_role": "治理文件、證據打包、變更草案與知識整理",
|
||
"current_visible_state": "contract_visible_live_runtime_pending",
|
||
"visible_signals": [
|
||
"evidence_dossier_created",
|
||
"runbook_update_proposed",
|
||
"knowledge_entry_written",
|
||
"telegram_digest_drafted"
|
||
],
|
||
"growth_metric": "證據包完整率上升、缺欄位率下降、runbook reuse 次數上升",
|
||
"what_operator_will_feel": "你會看到 Hermes 把雜訊整理成可審查證據包,並留下哪些知識被沉澱。"
|
||
},
|
||
{
|
||
"agent_id": "nemotron",
|
||
"display_name": "NemoTron",
|
||
"primary_role": "離線 replay、模型候選評分、策略壓力測試",
|
||
"current_visible_state": "contract_visible_live_runtime_pending",
|
||
"visible_signals": [
|
||
"replay_job_scored",
|
||
"candidate_model_compared",
|
||
"failure_pattern_labeled",
|
||
"promotion_gate_recommendation"
|
||
],
|
||
"growth_metric": "replay 通過率上升、失敗模式覆蓋率上升、候選模型誤判率下降",
|
||
"what_operator_will_feel": "你會看到 NemoTron 用離線分數證明自己是否值得被納入某個任務,而不是直接進生產替換。"
|
||
}
|
||
],
|
||
"proof_signals": [
|
||
{
|
||
"signal_id": "agent_heartbeat",
|
||
"display_name": "Agent 心跳",
|
||
"category": "heartbeat",
|
||
"source_of_truth": "agent_sessions.last_seen_at",
|
||
"visible_surface": "governance_agent_proof_panel",
|
||
"current_state": "live_pending",
|
||
"operator_interpretation": "有心跳才代表 runtime worker 真正在回報。",
|
||
"next_gate": "P2-403B"
|
||
},
|
||
{
|
||
"signal_id": "agent_message_created",
|
||
"display_name": "Agent 發話收據",
|
||
"category": "message",
|
||
"source_of_truth": "Redis Streams XADD + agent_sessions.turn_id",
|
||
"visible_surface": "governance_agent_proof_panel",
|
||
"current_state": "live_pending",
|
||
"operator_interpretation": "只能顯示摘要與 event id,未脫敏內容與內部草稿不得進前端。",
|
||
"next_gate": "P2-403C"
|
||
},
|
||
{
|
||
"signal_id": "agent_message_consumed",
|
||
"display_name": "Agent 收話收據",
|
||
"category": "message",
|
||
"source_of_truth": "Redis Streams consumer group ack",
|
||
"visible_surface": "governance_agent_proof_panel",
|
||
"current_state": "live_pending",
|
||
"operator_interpretation": "有 ack 才能證明不是單向寫入,而是對方 Agent 已接手處理。",
|
||
"next_gate": "P2-403C"
|
||
},
|
||
{
|
||
"signal_id": "handoff_accepted",
|
||
"display_name": "接手成功",
|
||
"category": "handoff",
|
||
"source_of_truth": "agent_sessions.parent_turn_id + timeline_events",
|
||
"visible_surface": "AwoooP timeline",
|
||
"current_state": "live_pending",
|
||
"operator_interpretation": "你會看到誰把任務交給誰、被接受或拒收,以及下一步。",
|
||
"next_gate": "P2-403C"
|
||
},
|
||
{
|
||
"signal_id": "critic_challenge",
|
||
"display_name": "互相挑戰",
|
||
"category": "quality_gate",
|
||
"source_of_truth": "agent_sessions.turn_type=challenge",
|
||
"visible_surface": "AwoooP timeline",
|
||
"current_state": "contract_defined",
|
||
"operator_interpretation": "多 Agent 穩定度不是互相附和,而是可記錄的挑戰、拒收與補證。",
|
||
"next_gate": "P2-403C"
|
||
},
|
||
{
|
||
"signal_id": "learning_write_receipt",
|
||
"display_name": "學習回寫收據",
|
||
"category": "learning",
|
||
"source_of_truth": "knowledge_entries + playbook_trust_history + learning_failure_log",
|
||
"visible_surface": "governance_agent_proof_panel",
|
||
"current_state": "live_pending",
|
||
"operator_interpretation": "只有寫入知識或 trust history,才算真正把經驗沉澱。",
|
||
"next_gate": "P2-403F"
|
||
},
|
||
{
|
||
"signal_id": "growth_delta",
|
||
"display_name": "成長趨勢",
|
||
"category": "growth",
|
||
"source_of_truth": "replay_results + evaluation scorecard",
|
||
"visible_surface": "governance_agent_proof_panel",
|
||
"current_state": "live_pending",
|
||
"operator_interpretation": "用 replay 分數、拒收率、誤判率與補證率看 Agent 是否真的變好。",
|
||
"next_gate": "P2-403F"
|
||
},
|
||
{
|
||
"signal_id": "telegram_digest_queued",
|
||
"display_name": "Telegram 摘要排隊",
|
||
"category": "telegram",
|
||
"source_of_truth": "telegram_gateway_queue",
|
||
"visible_surface": "Telegram Bot + governance receipts",
|
||
"current_state": "live_pending",
|
||
"operator_interpretation": "先證明排隊與脫敏,再證明送達;成功噪音不即時推播。",
|
||
"next_gate": "P2-403E"
|
||
},
|
||
{
|
||
"signal_id": "operator_feedback_applied",
|
||
"display_name": "人工回饋採納",
|
||
"category": "learning",
|
||
"source_of_truth": "approval_records + learning_service feedback",
|
||
"visible_surface": "governance_agent_proof_panel",
|
||
"current_state": "contract_defined",
|
||
"operator_interpretation": "你按下接受、拒絕或要求補證後,Agent 要能把結果回寫成後續策略。",
|
||
"next_gate": "P2-403F"
|
||
},
|
||
{
|
||
"signal_id": "runtime_verifier_review_packet",
|
||
"display_name": "Runtime verifier review package",
|
||
"category": "verifier",
|
||
"source_of_truth": "ai_agent_runtime_verifier_evidence_review_v1",
|
||
"visible_surface": "governance_agent_proof_panel",
|
||
"current_state": "contract_defined",
|
||
"operator_interpretation": "你會看到 verifier implementation 前需要哪些脫敏證據、誰審查、哪些 runtime action 仍被阻擋。",
|
||
"next_gate": "P2-403J"
|
||
},
|
||
{
|
||
"signal_id": "daily_weekly_monthly_agent_reports",
|
||
"display_name": "日週月報與 Agent 工作量圖表",
|
||
"category": "reporting",
|
||
"source_of_truth": "ai_agent_report_automation_review_v1",
|
||
"visible_surface": "governance_agent_report_panel",
|
||
"current_state": "contract_defined",
|
||
"operator_interpretation": "你會看到每個 Agent 做了哪些工作、工作量多少、風險分級、AI 建議與哪些項目需要你批准。",
|
||
"next_gate": "P2-403K"
|
||
}
|
||
],
|
||
"operator_surfaces": [
|
||
{
|
||
"surface_id": "governance_agent_proof_panel",
|
||
"display_name": "治理頁 Agent 證據面板",
|
||
"route_or_channel": "/zh-TW/governance?tab=automation-inventory",
|
||
"operator_feel": "一眼看到目前是真的 live、只有合約,或被哪個 gate 阻擋。",
|
||
"redaction_policy": "只顯示狀態、證據 id、來源表、摘要與下一步,不顯示對話逐字稿。",
|
||
"current_state": "implemented_read_only"
|
||
},
|
||
{
|
||
"surface_id": "aiops_timeline",
|
||
"display_name": "AwoooP Timeline",
|
||
"route_or_channel": "/zh-TW/aiops/timeline",
|
||
"operator_feel": "事件會串成觀察、提案、挑戰、審查、決策、驗證、學習的時間線。",
|
||
"redaction_policy": "顯示脫敏 event envelope,不顯示未核准提示內容或內部草稿。",
|
||
"current_state": "existing_surface_needs_agent_read_model"
|
||
},
|
||
{
|
||
"surface_id": "telegram_action_digest",
|
||
"display_name": "Telegram Bot 處置摘要",
|
||
"route_or_channel": "Telegram gateway",
|
||
"operator_feel": "只有需處置、需批准、失敗或風險升級時被打擾。",
|
||
"redaction_policy": "只送摘要、風險、批准連結與證據 id,不送機密值或完整對話。",
|
||
"current_state": "policy_defined_send_blocked"
|
||
},
|
||
{
|
||
"surface_id": "learning_growth_cards",
|
||
"display_name": "學習成長卡",
|
||
"route_or_channel": "governance proof panel",
|
||
"operator_feel": "能看到某個 Agent 的 replay 分數是否上升、失敗類型是否下降。",
|
||
"redaction_policy": "顯示聚合指標與趨勢,不顯示訓練原文。",
|
||
"current_state": "planned"
|
||
},
|
||
{
|
||
"surface_id": "audit_evidence_drawer",
|
||
"display_name": "稽核證據抽屜",
|
||
"route_or_channel": "governance proof panel",
|
||
"operator_feel": "點開後只看來源表、事件 id、驗證狀態與下一 gate。",
|
||
"redaction_policy": "所有 payload 需脫敏,敏感值僅顯示欄位名稱。",
|
||
"current_state": "planned"
|
||
}
|
||
],
|
||
"runtime_gates": [
|
||
{
|
||
"gate_id": "agent_session_read_model_gate",
|
||
"display_name": "AgentSession 唯讀 read model",
|
||
"status": "ready",
|
||
"required_before_green": "P2-403B 已提供既有表確認、safe selected fields、查詢索引、回滾計畫與無寫入 smoke;live DB query 仍未批准。",
|
||
"next_task_id": "P2-403C"
|
||
},
|
||
{
|
||
"gate_id": "redis_stream_consumer_gate",
|
||
"display_name": "Redis Streams consumer group dry-run",
|
||
"status": "approval_required",
|
||
"required_before_green": "P2-403C 已完成 fixture-only dry-run、handoff envelope、ack / dead-letter / replay 契約;建立 production consumer group 前仍需人工批准。",
|
||
"next_task_id": "P2-403D"
|
||
},
|
||
{
|
||
"gate_id": "learning_writeback_gate",
|
||
"display_name": "Learning writeback 批准包",
|
||
"status": "approval_required",
|
||
"required_before_green": "必須定義可寫表、資料保留、錯誤補償、人工回饋回滾。",
|
||
"next_task_id": "P2-403G",
|
||
"next_gate": "P2-403G runtime write gate review 已接入;實際 writeback 仍需雙重批准、dry-run hash 與 post-write verifier。"
|
||
},
|
||
{
|
||
"gate_id": "telegram_receipt_gate",
|
||
"display_name": "Telegram 摘要與收據 gate",
|
||
"status": "approval_required",
|
||
"required_before_green": "必須完成 gateway dry-run、token 注入、E2E 送達、成功降噪與 failure fallback。",
|
||
"next_task_id": "P2-403E",
|
||
"next_gate": "P2-403E Telegram receipt approval package 已接入;實際 receipt write 仍需 owner approval。"
|
||
},
|
||
{
|
||
"gate_id": "runtime_verifier_evidence_review_gate",
|
||
"display_name": "Runtime verifier evidence implementation review",
|
||
"status": "approval_required",
|
||
"required_before_green": "P2-403I 已完成只讀 evidence review package;實作或執行 verifier 前仍需 owner approval、redaction review、rollback owner 與 sanitized replay gate。",
|
||
"next_task_id": "P2-403J",
|
||
"next_gate": "下一步只做成長趨勢與 operator feedback applied 指標,不啟動 live verifier。"
|
||
},
|
||
{
|
||
"gate_id": "report_automation_runtime_guard",
|
||
"display_name": "報表讀後分析與中低風險自動化 guard",
|
||
"status": "approval_required",
|
||
"required_before_green": "P2-403J 已完成日週月報、工作量圖表與風險政策;啟動自動處理前仍需 scheduler guard、Telegram receipt、runtime verifier 與 rollback/no-op evidence。",
|
||
"next_task_id": "P2-403K",
|
||
"next_gate": "下一步建立中低風險自動處理 runtime guard,不碰高風險自動執行。"
|
||
},
|
||
{
|
||
"gate_id": "frontend_redaction_gate",
|
||
"display_name": "前端脫敏與內容紅線",
|
||
"status": "blocked",
|
||
"required_before_green": "任何面板只能顯示脫敏摘要、狀態、來源與核准欄位,未脫敏內容不得進前端。",
|
||
"next_task_id": "P2-403C"
|
||
}
|
||
],
|
||
"learning_memory_stack": [
|
||
{
|
||
"layer_id": "hot_agent_session_memory",
|
||
"display_name": "Hot AgentSession Memory",
|
||
"storage_or_service": "agent_sessions + Redis Streams",
|
||
"visible_growth_signal": "心跳、turn count、handoff accepted、challenge count",
|
||
"current_state": "read_model_gate_defined_live_read_pending"
|
||
},
|
||
{
|
||
"layer_id": "warm_knowledge_memory",
|
||
"display_name": "Warm Knowledge Memory",
|
||
"storage_or_service": "knowledge_entries + playbook_trust_history",
|
||
"visible_growth_signal": "知識新增數、trust delta、人工拒收率",
|
||
"current_state": "service_existing_writeback_gate_pending"
|
||
},
|
||
{
|
||
"layer_id": "cold_replay_memory",
|
||
"display_name": "Cold Replay Memory",
|
||
"storage_or_service": "agent_replay_results + finetune_exporter",
|
||
"visible_growth_signal": "replay 分數、失敗分類、候選模型比較結果",
|
||
"current_state": "offline_adapter_existing_surface_pending"
|
||
},
|
||
{
|
||
"layer_id": "market_model_memory",
|
||
"display_name": "Market Model Memory",
|
||
"storage_or_service": "agent_market_scorecard + governance snapshot",
|
||
"visible_growth_signal": "候選 Agent 市場分數、晉升/降級建議、取代評估證據",
|
||
"current_state": "read_only_governance_existing"
|
||
}
|
||
],
|
||
"telegram_receipt_contract": {
|
||
"direct_send_allowed": false,
|
||
"gateway_queue_write_allowed": false,
|
||
"receipt_visible_to_operator": true,
|
||
"allowed_future_notification_classes": [
|
||
"action_required",
|
||
"approval_required",
|
||
"failure",
|
||
"risk_escalation",
|
||
"daily_digest"
|
||
],
|
||
"success_policy": "成功摘要預設不即時推播,只在日報或被追問時顯示。",
|
||
"redaction_policy": "Telegram 僅允許脫敏摘要、證據 id、風險、批准連結與下一步,不允許機密值或完整對話。"
|
||
},
|
||
"frontend_redaction": {
|
||
"operator_conversation_display_allowed": false,
|
||
"agent_private_reasoning_display_allowed": false,
|
||
"raw_prompt_display_allowed": false,
|
||
"display_policy": "前端只顯示 Agent 狀態、證據摘要、來源、gate、聚合指標與下一步;未公開上下文、提示內容、未脫敏細節與機密值一律不進前端。"
|
||
},
|
||
"approval_boundaries": {
|
||
"runtime_worker_allowed": false,
|
||
"db_migration_allowed": false,
|
||
"redis_consumer_group_allowed": false,
|
||
"telegram_direct_send_allowed": false,
|
||
"conversation_transcript_display_allowed": false,
|
||
"agent_private_reasoning_display_allowed": false,
|
||
"secret_plaintext_allowed": false,
|
||
"autonomous_self_modify_allowed": false
|
||
},
|
||
"rollups": {
|
||
"proof_level_count": 9,
|
||
"contract_ready_level_count": 7,
|
||
"live_pending_level_ids": [],
|
||
"signal_count": 11,
|
||
"live_signal_count": 0,
|
||
"operator_surface_count": 5,
|
||
"runtime_gate_count": 7,
|
||
"blocked_gate_ids": [
|
||
"frontend_redaction_gate",
|
||
"learning_writeback_gate",
|
||
"report_automation_runtime_guard",
|
||
"redis_stream_consumer_gate",
|
||
"runtime_verifier_evidence_review_gate",
|
||
"telegram_receipt_gate"
|
||
],
|
||
"active_live_agent_sessions": 0,
|
||
"live_agent_messages_24h": 0,
|
||
"live_handoffs_24h": 0,
|
||
"live_learning_writes_24h": 0,
|
||
"telegram_digest_receipts_24h": 0
|
||
}
|
||
}
|