Capture the command-center operation analyses, inventory outputs, and browser pipeline reference files produced during the current research pass so they can be reviewed from the branch. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
640 lines
19 KiB
Markdown
640 lines
19 KiB
Markdown
# 指挥中心虚拟员工标准配置清单建议结构
|
||
|
||
> 免责声明:本文件描述的是“未来可采用的规范化目标配置结构”,不是当前 staged runtime 已稳定实现的结构,也不是对现状的直接复述。文中所有“目标 schema 字段”都必须与当前证据分级文档一起阅读;凡缺乏静态资产直接支撑的字段,只能视为 normalization choice 或 open / candidate 字段,不能表述为当前已稳定存在。
|
||
|
||
## 目标
|
||
|
||
这份结构文档的用途,是把当前 evidence-graded 现状文档中的信息,逐步映射为后续可维护、可扩展、可复用的目标配置清单。
|
||
|
||
因此必须同时保持两条边界:
|
||
|
||
1. 当前已观察到的事实,来自 evidence-graded current-state docs。
|
||
2. 这里提出的统一 schema,则是为后续 command-center 配置治理而做的 normalization proposal。
|
||
|
||
它们不能混写,更不能把 normalization proposal 误写成当前实现事实。
|
||
|
||
---
|
||
|
||
## 一、当前证据文档与目标配置的关系
|
||
|
||
当前已经存在三类文档角色:
|
||
|
||
1. `2026-04-08-command-center-virtual-employee-inventory-table.md`
|
||
- 作用:给人读的 current-state 总览
|
||
- 性质:当前观察结果,不是配置 schema
|
||
2. `2026-04-08-command-center-virtual-employee-inventory.json`
|
||
- 作用:给机器读的 current-state inventory
|
||
- 性质:机器可消费的盘点结果,不是目标配置
|
||
3. 各 scene 的 `*-operation-analysis.md`
|
||
- 作用:记录每个场景的证据来源、强弱、已知问题和边界
|
||
- 性质:最关键的证据支撑层
|
||
|
||
本文件提出的目标配置结构,是在这些 current-state 文档之上的“规范化目标层”。
|
||
|
||
### 映射原则
|
||
|
||
- operation-analysis 文档中的 `code-confirmed` 结论,可优先映射为目标 schema 中的“evidence-derived fields”。
|
||
- `contract-defined` 结论,可映射为“declared / contract-backed fields”,但不能默认等于当前 runtime 已实现。
|
||
- `implementation intent exists but not rigorous / buggy` 的内容,应进入目标 schema 的 `known_issues`、`implementation_gap`、`notes` 或 `open_questions`,而不是被包装成稳定主字段。
|
||
- `no direct evidence / candidate only` 的内容,只能作为 normalization choice、candidate field 或未来扩展项保留。
|
||
|
||
简言之:evidence-graded current-state docs 告诉我们“现在能严谨说什么”,本文件只负责说明“未来若要统一配置,可怎样承接这些信息”。
|
||
|
||
---
|
||
|
||
## 二、推荐文件组织
|
||
|
||
```text
|
||
command-center/
|
||
employee.json
|
||
capabilities.json
|
||
tasks/
|
||
fault-details-report.json
|
||
jinchang-business-environment-weekly-report.json
|
||
95598-weekly-monitor-report.json
|
||
95598-repair-city-dispatch.json
|
||
jiayuguan-meter-outage.json
|
||
```
|
||
|
||
### 文件职责
|
||
|
||
- `employee.json`
|
||
- 描述这个虚拟员工是谁、职责范围是什么、默认采用什么证据口径
|
||
- `capabilities.json`
|
||
- 维护归一化能力词表
|
||
- 明确哪些能力来自现有证据,哪些只是规范化命名
|
||
- `tasks/*.json`
|
||
- 每个场景一份目标配置
|
||
- 承接当前证据与未来标准字段的映射关系
|
||
|
||
### 为什么仍然推荐三层拆分
|
||
|
||
这类拆分仍然成立,但要加一条限定:
|
||
|
||
- 这是一种 target architecture proposal
|
||
- 不是当前仓库已存在的稳定目录结构
|
||
- 尤其 `capabilities.json` 代表“统一能力词表”的目标态,而不是当前 staged assets 已实现的统一能力注册表
|
||
|
||
因此,三层拆分本身属于 normalization choice,证据等级不应高于 `no direct evidence / candidate only`,除非未来真的落地成文件结构。
|
||
|
||
---
|
||
|
||
## 三、`employee.json` 目标结构
|
||
|
||
### 3.1 推荐示例
|
||
|
||
```json
|
||
{
|
||
"id": "command-center-virtual-employee",
|
||
"name": "指挥中心虚拟员工",
|
||
"domain": "电力业务指挥中心",
|
||
"positioning": "负责业务监测、统计报表、异常识别与后续提醒/处置支撑的虚拟运营员工",
|
||
"mission": [
|
||
"采集业务数据并生成结构化报表",
|
||
"监测工单/事件并识别待处理对象",
|
||
"比较历史记录识别新增待办",
|
||
"为提醒、外呼、自动派单、自动处理等下游动作提供输入"
|
||
],
|
||
"task_ids": [
|
||
"fault-details-report",
|
||
"jinchang-business-environment-weekly-report",
|
||
"95598-weekly-monitor-report",
|
||
"95598-repair-city-dispatch",
|
||
"jiayuguan-meter-outage"
|
||
],
|
||
"default_evidence_model": [
|
||
"code-confirmed",
|
||
"contract-defined",
|
||
"implementation intent exists but not rigorous / buggy",
|
||
"no direct evidence / candidate only"
|
||
],
|
||
"default_status_model": [
|
||
"success",
|
||
"partial",
|
||
"empty",
|
||
"blocked"
|
||
]
|
||
}
|
||
```
|
||
|
||
### 3.2 字段分层说明
|
||
|
||
#### A. 可直接由当前证据承接的字段
|
||
|
||
- `name`
|
||
- `domain`
|
||
- `task_ids`(前提是仅映射当前已盘点的 5 个 scene)
|
||
- `default_evidence_model`
|
||
|
||
这些字段之所以较容易承接,是因为 current-state inventory 已经稳定整理出对应对象和场景清单。
|
||
|
||
但仍要注意:这只是“可从当前文档整理得到”,不是说仓库里已经存在一个运行中的 `employee.json`。
|
||
|
||
#### B. normalization choices
|
||
|
||
- `id`
|
||
- `positioning`
|
||
- `mission`
|
||
- `default_status_model`
|
||
|
||
这些字段主要是为了让目标配置更易治理、更可复用,属于规范化整理,不应表述为 staged runtime 现状。
|
||
|
||
#### C. open / candidate 字段
|
||
|
||
建议预留但暂不稳定化:
|
||
|
||
- `default_runtime_requirements`
|
||
- `default_result_types`
|
||
- `default_downstream_policy`
|
||
- `org_scope`
|
||
- `region_scope`
|
||
|
||
原因是:当前不同 scene 在“上下文依赖、输出类型、地区语义、下游策略”上并不一致,过早把这些做成员工级稳定字段会拔高现状。
|
||
|
||
---
|
||
|
||
## 四、`capabilities.json` 目标结构
|
||
|
||
### 4.1 推荐示例
|
||
|
||
```json
|
||
{
|
||
"catalog_version": 1,
|
||
"evidence_method": "evidence-graded",
|
||
"core": [
|
||
{
|
||
"id": "browser-collection",
|
||
"name": "浏览器采集",
|
||
"kind": "normalized-capability",
|
||
"evidence_basis": "derived-from-multiple-scenes"
|
||
},
|
||
{
|
||
"id": "report-generation",
|
||
"name": "报表生成",
|
||
"kind": "normalized-capability",
|
||
"evidence_basis": "derived-from-report-scenes"
|
||
},
|
||
{
|
||
"id": "monitor-snapshot",
|
||
"name": "监测快照",
|
||
"kind": "normalized-capability",
|
||
"evidence_basis": "derived-from-monitor-scenes"
|
||
}
|
||
],
|
||
"channels": [
|
||
{
|
||
"id": "audio-remind",
|
||
"name": "音频提醒",
|
||
"kind": "normalized-channel",
|
||
"observed_in": [
|
||
"95598-repair-city-dispatch",
|
||
"jiayuguan-meter-outage"
|
||
]
|
||
},
|
||
{
|
||
"id": "message-remind",
|
||
"name": "消息提醒",
|
||
"kind": "normalized-channel",
|
||
"observed_in": [
|
||
"95598-repair-city-dispatch"
|
||
],
|
||
"notes": "在 jiayuguan-meter-outage 中只看到保留意图,不应等同视为稳定现状。"
|
||
}
|
||
],
|
||
"actions": [
|
||
{
|
||
"id": "auto-dispatch",
|
||
"name": "自动派单",
|
||
"kind": "normalized-action"
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
### 4.2 字段分层说明
|
||
|
||
#### A. 可由当前证据承接的字段
|
||
|
||
- `observed_in`
|
||
- `notes`
|
||
- `evidence_basis`
|
||
|
||
如果后续真的落地 `capabilities.json`,最应该优先保留的不是“能力名本身”,而是能力和 scene 之间的 evidence mapping。因为当前场景的能力证据强弱明显不同:
|
||
|
||
- 3 个报表 scene 多为 schema/template stub
|
||
- 2 个监测 scene 更强 workflow 主要来自规则资产
|
||
- `message-remind`、`callout`、`auto-dispatch` 等通道在不同 scene 中强度不一致
|
||
|
||
#### B. normalization choices
|
||
|
||
- `core`
|
||
- `channels`
|
||
- `actions`
|
||
- `id`
|
||
- `name`
|
||
- `kind`
|
||
|
||
这些统一词表字段本身就是规范化选择。当前没有直接证据表明仓库中已经存在统一 capability registry。
|
||
|
||
#### C. open / candidate 字段
|
||
|
||
建议保持候选态:
|
||
|
||
- `required_contexts`
|
||
- `result_semantics`
|
||
- `stability_level`
|
||
- `implemented_by`
|
||
- `runtime_owner`
|
||
|
||
这些字段看起来很有用,但 staged assets 还不足以稳定支撑它们。
|
||
|
||
### 4.3 对能力词表的关键限制
|
||
|
||
- 不要把 `report-export`、`audio-remind`、`callout` 之类词条本身写成“已全局统一支持”。
|
||
- 不要因为某个规则资产里出现了调用,就把它提升为所有 scene 的稳定 capability。
|
||
- `email` 目前仍应保持 candidate,不应进入“已支持通道”集合。
|
||
|
||
---
|
||
|
||
## 五、`tasks/*.json` 目标结构
|
||
|
||
### 5.1 统一推荐骨架
|
||
|
||
```json
|
||
{
|
||
"id": "95598-repair-city-dispatch",
|
||
"name": "95598抢修-市指",
|
||
"category": "monitor",
|
||
"current_state": {
|
||
"primary_evidence_summary": "rule assets stronger than packaged JS stub",
|
||
"source_refs": [],
|
||
"known_issues": []
|
||
},
|
||
"binding": {
|
||
"scene_id": "95598-repair-city-dispatch",
|
||
"skill_package": "95598-repair-city-dispatch",
|
||
"tool": "collect_repair_orders"
|
||
},
|
||
"trigger": {
|
||
"observed": {},
|
||
"normalized": {},
|
||
"open_questions": []
|
||
},
|
||
"inputs": {
|
||
"observed": {},
|
||
"normalized": {},
|
||
"open_questions": []
|
||
},
|
||
"systems": {
|
||
"observed": {},
|
||
"normalized": {},
|
||
"open_questions": []
|
||
},
|
||
"workflow": {
|
||
"observed": [],
|
||
"normalized": [],
|
||
"open_questions": []
|
||
},
|
||
"result": {
|
||
"observed": {},
|
||
"normalized": {},
|
||
"open_questions": []
|
||
},
|
||
"downstream_effects": {
|
||
"observed": [],
|
||
"normalized": [],
|
||
"open_questions": []
|
||
},
|
||
"required_capabilities": {
|
||
"normalized": [],
|
||
"open_questions": []
|
||
},
|
||
"status_model": {
|
||
"declared": {},
|
||
"implemented_notes": []
|
||
},
|
||
"evidence_grades": {},
|
||
"open_questions": []
|
||
}
|
||
```
|
||
|
||
这个骨架的核心目标不是“把所有字段都填满”,而是强制区分:
|
||
|
||
- `observed`
|
||
- `normalized`
|
||
- `open_questions`
|
||
|
||
这样可避免把 future-facing target config 误写成 current-state。
|
||
|
||
---
|
||
|
||
## 六、报表类任务在目标 schema 中应如何表达
|
||
|
||
适用对象:
|
||
|
||
- `fault-details-report`
|
||
- `jinchang-business-environment-weekly-report`
|
||
- `95598-weekly-monitor-report`
|
||
|
||
### 6.1 当前证据对目标 schema 的约束
|
||
|
||
这 3 个任务当前最强直接证据主要是:
|
||
|
||
- 已有 `report-artifact` 结构壳
|
||
- 已有 section/template 定义
|
||
- 已有 `status` / `partial_reasons` 字段壳
|
||
|
||
但它们共同缺少同等强度的 live collection 证据。因此若采用该目标 schema,建议保留一个明确的 current-state 提示,例如:
|
||
|
||
```json
|
||
"current_state": {
|
||
"primary_evidence_summary": "packaged script mainly confirms artifact schema / section template; live collection remains contract-defined or weaker"
|
||
}
|
||
```
|
||
|
||
### 6.2 报表类字段分层
|
||
|
||
#### A. evidence-derived fields
|
||
|
||
- `binding.scene_id`
|
||
- `binding.skill_package`
|
||
- `binding.tool`
|
||
- `result.observed.artifact_type`
|
||
- `result.observed.key_fields`
|
||
- `systems.observed.browser_pages`
|
||
- `source_refs`
|
||
|
||
#### B. normalization choices
|
||
|
||
- `trigger.normalized.natural_language_examples`
|
||
- `inputs.normalized.runtime_context`
|
||
- `workflow.normalized`
|
||
- `required_capabilities.normalized`
|
||
- `downstream_effects.normalized`
|
||
|
||
#### C. open / candidate fields
|
||
|
||
- `period_model`
|
||
- `section_semantics`
|
||
- `region_scope`
|
||
- `alignment_rule`
|
||
- `report_export_policy`
|
||
|
||
### 6.3 各报表任务的特别约束
|
||
|
||
#### `fault-details-report`
|
||
|
||
- 若采用该目标 schema,建议对外保留 `period`,但执行层最好允许展开为 `startTime/endTime`。
|
||
- `summary-sheet` 建议标记为“template confirmed”,不要误写成“summary derivation implemented”。
|
||
|
||
#### `jinchang-business-environment-weekly-report`
|
||
|
||
- 若采用该目标 schema,建议把“4 个固定 section 模板已观察到”与“真实多源采集已实现”分开表达。
|
||
- `region` 是否成为稳定字段,目前仍是 open item。
|
||
|
||
#### `95598-weekly-monitor-report`
|
||
|
||
- 若采用该目标 schema,建议预留 `currentPeriod` 与 `cumulativePeriod`,但必须注明这属于对当前建模冲突的修正提案。
|
||
- `period alignment` 建议单列为 schema group 或 `alignment_rule`,而不是默认已经在 runtime 中稳定存在。
|
||
|
||
---
|
||
|
||
## 七、监测类任务在目标 schema 中应如何表达
|
||
|
||
适用对象:
|
||
|
||
- `95598-repair-city-dispatch`
|
||
- `jiayuguan-meter-outage`
|
||
|
||
### 7.1 当前证据对目标 schema 的约束
|
||
|
||
这两个任务与报表类不同:
|
||
|
||
- packaged JS collector 已具备输入驱动的 `monitor-snapshot` 归一化 / 比较逻辑,并会附带规则来源、配置基础页角色、已知问题/身份模型说明
|
||
- 更强 workflow 证据主要来自规则资产(当前按盘点口径以 `D:/desk/智能体资料/大四区报告监测项/*.txt` 规则脚本为主)
|
||
- `assets/scene-snapshot/index.html` 仅属于配置基础层,不应计入 workflow 主执行证据
|
||
|
||
因此若采用该目标 schema,建议显式区分:
|
||
|
||
```json
|
||
"current_state": {
|
||
"packaged_stub_strength": "code-confirmed",
|
||
"rule_asset_workflow_strength": "code-confirmed",
|
||
"notes": "workflow evidence is stronger in rule assets than in packaged JS stub"
|
||
}
|
||
```
|
||
|
||
### 7.2 监测类字段分层
|
||
|
||
#### A. evidence-derived fields
|
||
|
||
- `binding.*`
|
||
- `inputs.observed.explicit`
|
||
- `systems.observed.upstream_apis`
|
||
- `systems.observed.local_services`
|
||
- `workflow.observed`
|
||
- `result.observed`
|
||
- `downstream_effects.observed`
|
||
- `current_state.known_issues`
|
||
|
||
#### B. normalization choices
|
||
|
||
- `workflow.normalized`
|
||
- `required_capabilities.normalized`
|
||
- `canonical_snapshot_fields`
|
||
- `effect_channels`
|
||
|
||
#### C. open / candidate fields
|
||
|
||
- `identity_model`
|
||
- `downstream_policy`
|
||
- `alert_channel_split`
|
||
- `auto_processing_policy`
|
||
- `dependency_promotion_rules`
|
||
|
||
### 7.3 各监测任务的特别约束
|
||
|
||
#### `95598-repair-city-dispatch`
|
||
|
||
若采用该目标 schema,建议保留以下说明:
|
||
|
||
- workflow 强证据主要来自规则资产(当前盘点以 `D:/desk/智能体资料/大四区报告监测项/95598抢修-市指_业务检测配置.txt` 与 `D:/desk/智能体资料/大四区报告监测项/95598抢修-市指_自动处理配置.txt` 为主),而不是 packaged JS stub
|
||
- `pending` 分类存在 `status == "00" && status == "01"` bug
|
||
- `pending_ids/new_pending_ids` 更像 canonical target fields,而不是当前规则层已严格同名产出字段
|
||
|
||
建议把这个 bug 直接纳入:
|
||
|
||
```json
|
||
"current_state": {
|
||
"known_issues": [
|
||
"pending classification bug: status == \"00\" && status == \"01\""
|
||
]
|
||
}
|
||
```
|
||
|
||
#### `jiayuguan-meter-outage`
|
||
|
||
若采用该目标 schema,建议保留以下说明:
|
||
|
||
- workflow 强证据主要来自规则资产(当前盘点以 `D:/desk/智能体资料/大四区报告监测项/户表失电-嘉峪关_业务监测配置.txt` 与 `D:/desk/智能体资料/大四区报告监测项/户表失电-嘉峪关_自动处理配置.txt` 为主),而不是 packaged JS stub
|
||
- marketing token 是自动处理链路的强依赖
|
||
- monitor pending list 用 `consNo`,dispose dedupe 用 `eventId`,身份模型不一致
|
||
|
||
因此在该目标 schema 提案中,建议单列:
|
||
|
||
```json
|
||
"identity_model": {
|
||
"monitor_pending_identity": "consNo",
|
||
"dispose_dedupe_identity": "eventId",
|
||
"status": "implementation intent exists but not rigorous / buggy"
|
||
}
|
||
```
|
||
|
||
这类字段不应被伪装成“已经统一好的 snapshot identity model”。
|
||
|
||
---
|
||
|
||
## 八、推荐统一字段清单与证据边界
|
||
|
||
下面给出一个更严格的统一字段视图。
|
||
|
||
### 1. 元数据层
|
||
|
||
较适合作为稳定 target schema 的字段:
|
||
|
||
- `id`
|
||
- `name`
|
||
- `category`
|
||
- `binding.scene_id`
|
||
- `binding.skill_package`
|
||
- `binding.tool`
|
||
|
||
其中:
|
||
|
||
- `binding.*` 更偏 evidence-derived
|
||
- `id/name/category` 更偏 normalization choice
|
||
|
||
### 2. 现状映射层
|
||
|
||
建议新增并长期保留:
|
||
|
||
- `current_state.primary_evidence_summary`
|
||
- `current_state.source_refs`
|
||
- `current_state.known_issues`
|
||
- `current_state.notes`
|
||
|
||
这是本次重写后最重要的新增设计点之一。没有这层,target schema 很容易再次把“目标结构”和“现状证据”混在一起。
|
||
|
||
### 3. 触发层
|
||
|
||
- `trigger.observed`
|
||
- `trigger.normalized`
|
||
- `trigger.open_questions`
|
||
|
||
### 4. 输入层
|
||
|
||
- `inputs.observed`
|
||
- `inputs.normalized`
|
||
- `inputs.open_questions`
|
||
|
||
### 5. 系统层
|
||
|
||
- `systems.observed`
|
||
- `systems.normalized`
|
||
- `systems.open_questions`
|
||
|
||
### 6. 流程层
|
||
|
||
- `workflow.observed`
|
||
- `workflow.normalized`
|
||
- `workflow.open_questions`
|
||
|
||
### 7. 结果层
|
||
|
||
- `result.observed`
|
||
- `result.normalized`
|
||
- `result.open_questions`
|
||
|
||
### 8. 下游动作层
|
||
|
||
- `downstream_effects.observed`
|
||
- `downstream_effects.normalized`
|
||
- `downstream_effects.open_questions`
|
||
|
||
### 9. 能力层
|
||
|
||
- `required_capabilities.normalized`
|
||
- `required_capabilities.open_questions`
|
||
|
||
### 10. 证据层
|
||
|
||
- `evidence_grades`
|
||
- `source_refs`
|
||
|
||
### 11. 人工确认层
|
||
|
||
- `open_questions`
|
||
- `known_issues`
|
||
|
||
---
|
||
|
||
## 九、为什么这次建议在 target schema 中显式保留“现状层”
|
||
|
||
旧版结构容易出现的问题是:
|
||
|
||
- 把 aggregate inventory 直接写成“标准配置已经长这样”
|
||
- 把 `required_capabilities`、`downstream_effects` 这样的归一化字段误读成 runtime 现状
|
||
- 把规则资产中的 workflow 直接等价成 packaged script 实现
|
||
|
||
因此这次建议最关键的修订不是多加几个字段,而是要求 target schema 同时携带:
|
||
|
||
1. `observed current state`
|
||
2. `normalized target structure`
|
||
3. `open / candidate items`
|
||
|
||
只有这样,后续继续扩展新 scene 时,文档才不会再次把三类内容混在一起。
|
||
|
||
---
|
||
|
||
## 十、建议的落地顺序
|
||
|
||
1. 先把 current-state inventory 保持为证据分级后的事实盘点。
|
||
2. 再基于 inventory 生成目标态 `employee.json` / `capabilities.json` / `tasks/*.json` 草案。
|
||
3. 落地草案时,强制为每个 major group 补齐:
|
||
- `observed`
|
||
- `normalized`
|
||
- `open_questions`
|
||
4. 先优先收敛已知关键不严谨点:
|
||
- `fault-details-report` 的 `period` vs `startTime/endTime`
|
||
- `95598-weekly-monitor-report` 的双周期 / period alignment
|
||
- `95598-repair-city-dispatch` 的 pending classification bug
|
||
- `jiayuguan-meter-outage` 的 `consNo` vs `eventId` 身份不一致
|
||
5. 最后再考虑是否把能力词表与 target config 接入真实消费链路。
|
||
|
||
注意:在这些问题未收敛前,不应把目标配置字段写成“已经稳定”。
|
||
|
||
---
|
||
|
||
## 十一、推荐结论
|
||
|
||
如果目标是形成“指挥中心虚拟员工的标准配置清单”,那么未来仍然可以采用:
|
||
|
||
- `employee.json`
|
||
- `capabilities.json`
|
||
- `tasks/*.json`
|
||
|
||
这样的三层结构。
|
||
|
||
但和旧版不同的是,这套结构必须显式承认:
|
||
|
||
- 它是 target architecture proposal,不是现状复述
|
||
- 每个 major schema group 都要区分 evidence-derived fields、normalization choices、open / candidate fields
|
||
- evidence-graded current-state docs 才是现状依据
|
||
- 报表类 3 个 scene 当前主要是 schema/template stub
|
||
- `95598-repair-city-dispatch` 与 `jiayuguan-meter-outage` 的 workflow 强证据主要在规则资产
|
||
- `95598-repair-city-dispatch` 存在 pending classification bug
|
||
- `jiayuguan-meter-outage` 存在 `consNo` / `eventId` 身份不一致问题
|
||
- 任何地方都不应宣称 runtime verification
|
||
|
||
只有在保持这些边界的前提下,这份“标准配置结构”才是严谨可持续的目标态提案,而不是再次把现状、推断和目标混写在一起。
|