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
+45 -32
View File
@@ -1,18 +1,20 @@
# Interview Demo Script
# 面试演示脚本
## 30 秒开场
## 1. 30 秒开场
这是一个 Agent Engineering 项目,场景是企业故障诊断。它支持两类入口:用户主动提问的 Chat 诊断,以及告警事件驱动的 AIOps 诊断。项目重点不是单次回答,而是把多 Agent 执行、工具证据、Verifier 评估、最终报告和反馈都沉淀成可回放的 trace。
```text
这是一个 Agent 工程项目,场景是企业故障诊断。
它支持两类入口:用户主动提问的 Chat 诊断,以及告警事件驱动的 AIOps 诊断。
项目重点不是单次模型回答,而是把 Agent 编排、工具证据、Verifier 评估、最终报告和反馈都沉淀成可回放的 Trace。
```
## Demo 准备
启动服务:
## 2. 启动服务
```powershell
mvn spring-boot:run "-Dspring-boot.run.profiles=mvp-demo"
```
确认服务地址:
服务地址:
```text
http://localhost:9900
@@ -24,11 +26,9 @@ http://localhost:9900
- CLS 日志使用 mock 数据。
- MySQL、Redis、Milvus/Zilliz 和模型配置仍使用当前项目配置。
## Demo 1: Chat 诊断
## 3. Demo 1:Chat 诊断
目标:展示普通用户问题如何进入多 Agent 诊断、调用工具、经过 Verifier,并生成 trace。
请求:
目标:展示用户问题如何进入多 Agent 诊断、调用工具、经过 Verifier,并生成 Trace。
```powershell
$sessionId = "interview-chat-payment-timeout-001"
@@ -46,13 +46,13 @@ Invoke-RestMethod `
讲解点:
- `ChatController` 把请求交给 `ChatService.executeChatWithStrategy(...)`。
- 简单问题走单 ReactAgent,复杂问题走 `Planner -> Executor -> Verifier`。
- Executor 可以调用知识库、日志、指标等工具。
- Verifier 会基于工具证据生成 groundedness 评估。
- 最终会写入 `diagnosis_session`、`agent_step`、`tool_invocation`。
- `ChatService` 会根据问题复杂度选择轻量回答或复杂 Agent 流程。
- 复杂问题走 `Planner -> Executor -> Verifier`。
- Executor 调用知识库、日志、指标等证据工具。
- Verifier 基于 `tool_trace_summary` 生成 groundedness 评估。
- 最终写入 `diagnosis_session`、`agent_step`、`tool_invocation`。
查询 trace:
查询 Trace:
```powershell
Invoke-RestMethod `
@@ -67,11 +67,9 @@ Invoke-RestMethod `
- `data.toolInvocations` 中能看到证据工具
- `data.session.selfEvaluation` 中有 verifier 结果
## Demo 2: AIOps 告警诊断
## 4. Demo 2:AIOps 告警诊断
目标:展示告警 payload 如何触发 AIOps 入口,并且报告只聚焦目标告警。
请求:
目标:展示告警 payload 如何触发 AIOps,并且报告聚焦目标告警。
```powershell
$aiopsSessionId = "interview-aiops-payment-cpu-001"
@@ -99,9 +97,9 @@ Invoke-WebRequest `
- `AiOpsService` 根据 payload 判断模式:
- `PAYLOAD_TARGETED`:聚焦传入告警。
- `AUTO_DISCOVERY`:没有 payload 时先查 active alerts。
- AIOps 暂时不加 Verifier,先保证告警入口、证据工具和 trace 可用。
- AIOps 当前用 rule evaluation 检查报告完整性、payload 聚焦和证据工具覆盖。
查询 trace:
查询 Trace:
```powershell
Invoke-RestMethod `
@@ -114,19 +112,34 @@ Invoke-RestMethod `
- `data.session.agentFlow = AI_OPS`
- `data.session.answer` 有最终告警报告
- `data.toolInvocations` 有 `query_metrics`、`query_logs`、`lookup_knowledge`
- 报告有 `HighCPUUsage/payment-service` 的完整根因分析
- 其他 active alerts 只作为相关风险出现,不展开成独立根因章节
- 报告主线聚焦 `HighCPUUsage/payment-service`
## MySQL 验证
## 5. Demo 3:反馈闭环
```powershell
python scripts/query_mysql.py "SELECT session_id, agent_flow, status, step_count, tool_call_count FROM diagnosis_session ORDER BY id DESC LIMIT 5"
$feedback = @{
sessionId = $sessionId
feedback = "useful"
} | ConvertTo-Json
Invoke-RestMethod `
-Method Post `
-Uri "http://localhost:9900/api/feedback" `
-ContentType "application/json" `
-Body $feedback
```
```powershell
python scripts/query_mysql.py "SELECT tool_name, COUNT(*) AS cnt FROM tool_invocation WHERE session_id='interview-aiops-payment-cpu-001' GROUP BY tool_name"
讲解点:
- feedback 写回同一个 `diagnosis_session`。
- `useful` 会沉淀 `case_library`。
- `not_useful` 不改变 `status`,只作为质量信号。
## 6. 收尾总结
```text
这个 Demo 展示的是完整 Agent 闭环:
用户问题或告警 -> Agent 编排 -> 工具证据 -> 自评估 -> Trace 回放 -> 用户反馈 -> 案例沉淀。
我关注的不是一次回答,而是这个回答能否被审计、验证和持续改进。
```
## 收尾总结
这套 Demo 展示的是一个完整 Agent 系统,而不是一次模型问答:入口有明确场景边界,Agent 负责规划和执行,工具提供证据,Verifier 提供质量门,trace API 提供审计和复盘能力。AIOps 入口进一步证明它可以从用户问答扩展到事件驱动诊断。