版本号:v0.1.0 最后更新:2026-04-04
说明:本版为按规范整理的历史文档,正文暂保留原英文内容。
This document defines the higher-level framework architecture above the portable signal analyzer design.
The portable signal analyzer should be treated as one product instantiation of a broader platform:
The long-term goal is to build a general analysis framework that can ingest different kinds of observations and drive deterministic algorithm pipelines with AI assistance.
The framework should not be "AI analyzes everything directly".
It should be:
In practice:
The framework should be able to support multiple modalities over time, such as:
Not every modality needs to be implemented at the beginning. The architecture should support them without hardcoding a single domain.
The platform should be designed around five stable abstractions:
InputSourceObservationAlgorithmModuleEvidenceExperimentIf these abstractions are stable, the framework can grow without becoming a pile of special cases.
An input source is where data comes from.
Examples:
Suggested shape:
type InputSource = {
id: string
kind: "rf" | "audio" | "video" | "optical" | "bus" | "file" | "log"
capabilities: string[]
metadata: Record<string, unknown>
}
An observation is a concrete chunk of captured data plus context.
Suggested shape:
type Observation = {
id: string
sourceId: string
modality: string
timeRange: { start: string; end: string }
payloadRef: string
metadata: Record<string, unknown>
}
This abstraction is important because all downstream algorithms should consume observations, not raw device details.
An algorithm module is a reusable processing block.
Examples:
Suggested shape:
type AlgorithmModule = {
name: string
modality: string[]
stage: string
inputFormat: string
outputFormat: string
params: Record<string, ParamSpec>
metrics: string[]
constraints: string[]
cost: { cpu: number; memory: number; latency: number }
}
The framework should not assume a single fixed pipeline. Instead, it should support candidate chains such as:
This is the main reason a framework approach is stronger than a single product implementation.
The system should never rely on a single opaque output. It should accumulate evidence.
Suggested shape:
type Evidence = {
id: string
observationId: string
producer: string
category: "signal" | "frame" | "protocol" | "semantic" | "anomaly"
values: Record<string, unknown>
confidence: number
traceRefs: string[]
}
Examples of evidence:
The framework should make evidence first-class because AI needs something structured to reason over.
The framework should be built around experiments rather than one-pass processing.
Suggested shape:
type Experiment = {
id: string
observationId: string
pipeline: PipelineNode[]
outputs: string[]
evidenceIds: string[]
score: ScoreCard
status: "pending" | "running" | "done" | "failed"
failureReasons: string[]
}
This allows:
The AI layer is an orchestrator, not the raw algorithm engine.
Primary responsibilities:
AI should make decisions based on:
The framework should support a closed-loop controller:
This applies across modalities, even when the underlying algorithms differ.
The scoring layer must be framework-wide, even if metrics differ by modality.
Every score should combine:
High-level score groups:
This is one of the most important shared services in the framework.
The framework can evolve into more than a single device because the hard problem is not one algorithm. The hard problem is:
That creates reusable platform assets:
These assets can later support:
The framework should be platformized internally but commercialized through narrow vertical products first.
Good strategy:
Bad strategy:
Platform-first architecture is good. Platform-first go-to-market is risky.
The portable signal analyzer document is a domain-specific specialization of this framework.
Mapping:
In other words:
多模态分析框架.md defines the parent architecture便携式信号分析仪架构说明.md defines one concrete product pathDo not start by implementing every modality. Start by building the shared framework primitives in a narrow domain.
Recommended first steps:
InputSource, Observation, AlgorithmModule, Evidence, and ExperimentFor this project, the strongest first modality is still RF / signal analysis, because:
The right long-term direction is a multimodal analysis framework, not just a single-purpose signal tool.
But the right execution order is:
That combination gives both technical depth and a plausible product path.