docs: reorganize MVP interview documentation

This commit is contained in:
aruo
2026-07-05 15:29:28 +08:00
parent b22f2d22c8
commit 88e0a6c944
51 changed files with 4352 additions and 1318 deletions
+61 -57
View File
@@ -1,41 +1,42 @@
# MVP Demo Runbook
# MVP 演示手册
This demo proves the MVP flow from user question to persisted diagnosis trace.
本目录用于演示 MVP 从用户问题到诊断 Trace 的完整闭环。
For interview use, start with:
面试时建议先读:
- `interview-walkthrough.md` for the talk track
- `trace-inspection-checklist.md` for fields to inspect
- `scripts/run-payment-timeout-demo.ps1` for the runnable local demo
- `requests/payment-timeout-chat.json` for the fixed request payload
- `ten-minute-interview-demo.md`:10 分钟现场演示脚本。
- `interview-walkthrough.md`:面试讲解话术。
- `trace-inspection-checklist.md`:Trace 字段检查清单。
- `scripts/run-payment-timeout-demo.ps1`:本地可执行 Demo 脚本。
- `requests/payment-timeout-chat.json`:固定 Chat 请求 payload。
## Prerequisites
## 1. 前置条件
- MySQL, Redis, Milvus/Zilliz, and LLM/embedding configuration are available through the current project configuration.
- Security and secret cleanup are intentionally out of scope for this MVP slice.
- The `mvp-demo` profile enables mock Prometheus and CLS providers so log and metric tools can return repeatable evidence.
- MySQL、Redis、Milvus/Zilliz、LLM 和 embedding 配置可用。
- 安全和密钥清理不属于当前 MVP 演示范围。
- `mvp-demo` profile 会启用 mock Prometheus 和 mock CLS,让日志和指标工具返回可复现证据。
## Start
## 2. 启动服务
```powershell
mvn spring-boot:run "-Dspring-boot.run.profiles=mvp-demo"
```
The service listens on:
服务地址:
```text
http://localhost:9900
```
## 1. Run Chat Diagnosis
## 3. Chat 诊断 Demo
Fast path:
最快方式:
```powershell
powershell -ExecutionPolicy Bypass -File mvp/demo/scripts/run-payment-timeout-demo.ps1
```
This writes:
脚本会生成:
```text
mvp/demo/output/chat-response.json
@@ -43,7 +44,7 @@ mvp/demo/output/trace-response.json
mvp/demo/output/feedback-response.json
```
Manual path:
手动请求:
```powershell
$sessionId = "mvp-demo-payment-timeout-001"
@@ -59,13 +60,13 @@ Invoke-RestMethod `
-Body $body
```
Expected result:
期望结果:
- `data.success` is `true`.
- `data.sessionId` equals `mvp-demo-payment-timeout-001`.
- `data.answer` contains a diagnosis answer.
- `data.success = true`
- `data.sessionId = mvp-demo-payment-timeout-001`
- `data.answer` 包含诊断答复
## 2. Query Trace
## 4. 查询 Trace
```powershell
Invoke-RestMethod `
@@ -73,15 +74,15 @@ Invoke-RestMethod `
-Uri "http://localhost:9900/api/diagnosis/$sessionId/trace"
```
Expected result:
期望结果:
- `code` is `200`.
- `data.session.sessionId` equals the chat session id.
- `data.steps` contains planner/executor/verifier records for complex questions.
- `data.toolInvocations` contains evidence tool calls such as `lookup_knowledge`, `query_logs`, or `query_metrics`.
- `data.session.selfEvaluation` contains verifier or rule evaluation when available.
- `code = 200`
- `data.session.sessionId` 等于 Chat session id
- `data.steps` 包含 planner / executor / verifier 等步骤
- `data.toolInvocations` 包含 `lookup_knowledge`、`query_logs`、`query_metrics` 等证据工具
- `data.session.selfEvaluation` 包含 verifier 或 rule evaluation
## 3. Submit Feedback
## 5. 提交反馈
```powershell
$feedback = @{
@@ -96,12 +97,13 @@ Invoke-RestMethod `
-Body $feedback
```
Expected result:
期望结果:
- `success` is `true`.
- A later trace query shows `data.session.feedback` as `useful`.
- `success = true`
- 后续 Trace 中 `data.session.feedback = useful`
- useful 反馈会尝试沉淀 `case_library`
## 4. Run AIOps Alert Diagnosis
## 6. AIOps 告警诊断 Demo
```powershell
$aiopsSessionId = "mvp-demo-aiops-payment-cpu-001"
@@ -122,15 +124,16 @@ Invoke-WebRequest `
-Body $aiopsBody
```
Expected result:
期望结果:
- The SSE stream starts with a `session` message containing `mvp-demo-aiops-payment-cpu-001`.
- The stream later contains an AIOps alert analysis report focused on the supplied `HighCPUUsage/payment-service` payload.
- A trace query for the same session id returns `data.session.agentFlow` as `AI_OPS`.
- `data.session.answer` contains the final alert analysis report when a report is generated.
- `data.toolInvocations` contains evidence tools such as `lookup_knowledge`, `query_logs`, or `query_metrics` when the runtime uses them.
- SSE 首条包含 `session` 消息,sessionId 为 `mvp-demo-aiops-payment-cpu-001`
- 后续流式输出包含 AIOps 告警分析报告
- 报告聚焦输入的 `HighCPUUsage/payment-service`
- 同一 session 的 Trace 中 `data.session.agentFlow = AI_OPS`
- `data.session.answer` 包含最终告警报告
- `data.toolInvocations` 包含证据工具调用
Query the AIOps trace:
查询 AIOps Trace:
```powershell
Invoke-RestMethod `
@@ -138,28 +141,29 @@ Invoke-RestMethod `
-Uri "http://localhost:9900/api/diagnosis/$aiopsSessionId/trace"
```
## Demo Story
## 7. Demo 主线
The important interview story is:
Chat 主线:
```text
one session id
-> user question
-> multi-agent execution
-> evidence tools
-> verifier/self-evaluation
-> final answer
-> feedback
-> trace API for replay and audit
一个 session id
-> 用户问题
-> 多 Agent 执行
-> 证据工具
-> Verifier / self_evaluation
-> 最终答案
-> 用户反馈
-> Trace API 回放
```
The AIOps story uses the same audit spine:
AIOps 主线:
```text
one session id
-> alert payload
-> AIOps planner/executor execution
-> evidence tools
-> alert analysis report
-> trace API for replay and audit
一个 session id
-> 告警 payload
-> AIOps Planner / Executor
-> 证据工具
-> 告警分析报告
-> AIOps rule evaluation
-> Trace API 回放
```