feat: 导出 SproutClaw .sproutclaw 配置

包含 extensions、skills、prompts、settings、auth、models、mcp 等配置。
排除 node_modules、npm 缓存、sessions 等运行时数据。
This commit is contained in:
2026-06-26 15:48:56 +08:00
commit 50edff80f5
13904 changed files with 411646 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
# glassmorphism_demo
- Canvas format: ppt169
- Created: 20260517
## Directories
- `svg_output/`: raw SVG output
- `svg_final/`: finalized SVG output
- `images/`: presentation assets
- `notes/`: speaker notes
- `templates/`: project templates
- `sources/`: source materials and normalized markdown
- `exports/`: main native pptx (timestamped); `_svg.pptx` sibling added when exported with `--svg-snapshot`
- `backup/<timestamp>/`: svg_output/ archive (always written in default-flow mode; safe to delete old timestamps)

View File

@@ -0,0 +1,181 @@
{
"version": 1,
"defaults": {
"transition": { "effect": "fade", "duration": 0.4 },
"animation": { "effect": "fade", "duration": 0.45, "stagger": 0.2, "trigger": "after-previous" }
},
"slides": {
"01_cover": {
"transition": { "effect": "fade", "duration": 0.5 },
"animation": { "duration": 0.6, "stagger": 0.25 },
"groups": {
"bg": { "effect": "none" },
"cover-top-mark": { "effect": "fade", "order": 1, "duration": 0.4 },
"glass-panel": { "effect": "zoom", "order": 2, "duration": 0.7, "delay": 0.05 },
"title-block": { "effect": "fade", "order": 3, "duration": 0.7, "delay": 0.15 },
"cover-footer": { "effect": "none" }
}
},
"02_hero_demo_to_prod": {
"transition": { "effect": "wipe", "duration": 0.45 },
"animation": { "duration": 0.55, "stagger": 0.22 },
"groups": {
"bg": { "effect": "none" },
"hero-tag": { "effect": "fade", "order": 1, "duration": 0.4 },
"hero-title": { "effect": "fade", "order": 2, "duration": 0.7, "delay": 0.15 },
"hero-subtext": { "effect": "fade", "order": 3, "duration": 0.5 },
"hero-pillars": { "effect": "expand", "order": 4, "duration": 0.55, "delay": 0.25 },
"hero-footer": { "effect": "none" }
}
},
"03_three_pains": {
"transition": { "effect": "fade", "duration": 0.3 },
"animation": { "duration": 0.45, "stagger": 0.2 },
"groups": {
"bg": { "effect": "none" },
"header": { "effect": "fade", "order": 1, "duration": 0.4 },
"pillar-perf": { "effect": "zoom", "order": 2, "duration": 0.5 },
"pillar-cost": { "effect": "zoom", "order": 3, "duration": 0.5, "delay": 0.18 },
"pillar-quality": { "effect": "zoom", "order": 4, "duration": 0.5, "delay": 0.18 },
"footer": { "effect": "none" }
}
},
"04_agent_architecture": {
"transition": { "effect": "fade", "duration": 0.3 },
"animation": { "duration": 0.4, "stagger": 0.16, "trigger": "after-previous" },
"groups": {
"bg": { "effect": "none" },
"header": { "effect": "fade", "order": 1, "duration": 0.4 },
"layer-perception": { "effect": "wipe", "order": 2, "duration": 0.5 },
"layer-reasoning": { "effect": "wipe", "order": 3, "duration": 0.5 },
"layer-action": { "effect": "wipe", "order": 4, "duration": 0.5 },
"layer-memory": { "effect": "wipe", "order": 5, "duration": 0.5 },
"footer": { "effect": "none" }
}
},
"05_three_modes": {
"transition": { "effect": "fade", "duration": 0.3 },
"animation": { "duration": 0.5, "stagger": 0.22 },
"groups": {
"bg": { "effect": "none" },
"header": { "effect": "fade", "order": 1, "duration": 0.4 },
"card-workflow": { "effect": "fade", "order": 2, "duration": 0.55 },
"card-multi": { "effect": "fade", "order": 3, "duration": 0.55 },
"card-agent": { "effect": "zoom", "order": 4, "duration": 0.7, "delay": 0.25 },
"footer": { "effect": "none" }
}
},
"06_tool_orchestration": {
"transition": { "effect": "wipe", "duration": 0.4 },
"animation": { "duration": 0.4, "stagger": 0.14, "trigger": "after-previous" },
"groups": {
"bg": { "effect": "none" },
"header": { "effect": "fade", "order": 1, "duration": 0.4 },
"flow-axis": { "effect": "wipe", "order": 2, "duration": 0.6 },
"step-1": { "effect": "fade", "order": 3, "duration": 0.4 },
"step-2": { "effect": "fade", "order": 4, "duration": 0.4 },
"step-3": { "effect": "fade", "order": 5, "duration": 0.4 },
"step-4": { "effect": "fade", "order": 6, "duration": 0.4 },
"step-5": { "effect": "fade", "order": 7, "duration": 0.4 },
"step-6": { "effect": "zoom", "order": 8, "duration": 0.55, "delay": 0.15 },
"footer": { "effect": "none" }
}
},
"07_context_engineering": {
"transition": { "effect": "fade", "duration": 0.3 },
"animation": { "duration": 0.45, "stagger": 0.16 },
"groups": {
"bg": { "effect": "none" },
"header": { "effect": "fade", "order": 1, "duration": 0.4 },
"orbit-rings": { "effect": "fade", "order": 2, "duration": 0.5 },
"hub": { "effect": "zoom", "order": 3, "duration": 0.7, "delay": 0.1 },
"spoke-lines": { "effect": "wipe", "order": 4, "duration": 0.55 },
"spoke-retrieval": { "effect": "fade", "order": 5, "duration": 0.4 },
"spoke-rerank": { "effect": "fade", "order": 6, "duration": 0.4 },
"spoke-truncate": { "effect": "fade", "order": 7, "duration": 0.4 },
"spoke-memory": { "effect": "fade", "order": 8, "duration": 0.4 },
"spoke-tools": { "effect": "fade", "order": 9, "duration": 0.4 },
"spoke-system": { "effect": "fade", "order": 10, "duration": 0.4 },
"footer": { "effect": "none" }
}
},
"08_kpi_dashboard": {
"transition": { "effect": "fade", "duration": 0.3 },
"animation": { "duration": 0.5, "stagger": 0.2 },
"groups": {
"bg": { "effect": "none" },
"header": { "effect": "fade", "order": 1, "duration": 0.4 },
"kpi-accuracy": { "effect": "zoom", "order": 2, "duration": 0.55 },
"kpi-latency": { "effect": "zoom", "order": 3, "duration": 0.55 },
"kpi-cost": { "effect": "zoom", "order": 4, "duration": 0.55 },
"kpi-reliability": { "effect": "zoom", "order": 5, "duration": 0.55 },
"footer": { "effect": "none" }
}
},
"09_metrics_trend": {
"transition": { "effect": "fade", "duration": 0.35 },
"animation": { "duration": 0.55, "stagger": 0.2 },
"groups": {
"bg": { "effect": "none" },
"header": { "effect": "fade", "order": 1, "duration": 0.4 },
"chart-panel-bg": { "effect": "none" },
"chartArea": { "effect": "wipe", "order": 2, "duration": 0.8, "delay": 0.1 },
"legend": { "effect": "fade", "order": 3, "duration": 0.45, "delay": 0.15 },
"footer": { "effect": "none" }
}
},
"10_failure_modes": {
"transition": { "effect": "fade", "duration": 0.3 },
"animation": { "duration": 0.45, "stagger": 0.16 },
"groups": {
"bg": { "effect": "none" },
"header": { "effect": "fade", "order": 1, "duration": 0.4 },
"axis-frame": { "effect": "fade", "order": 2, "duration": 0.4 },
"q-tool-errors": { "effect": "zoom", "order": 3, "duration": 0.5 },
"q-cost-overrun": { "effect": "zoom", "order": 4, "duration": 0.5 },
"q-loops": { "effect": "zoom", "order": 5, "duration": 0.5 },
"q-hallucination": { "effect": "zoom", "order": 6, "duration": 0.5 },
"footer": { "effect": "none" }
}
},
"11_roadmap": {
"transition": { "effect": "fade", "duration": 0.3 },
"animation": { "duration": 0.45, "stagger": 0.18 },
"groups": {
"bg": { "effect": "none" },
"header": { "effect": "fade", "order": 1, "duration": 0.4 },
"timeline-axis": { "effect": "wipe", "order": 2, "duration": 0.85 },
"ms-1": { "effect": "fade", "order": 3, "duration": 0.45 },
"ms-2": { "effect": "fade", "order": 4, "duration": 0.45 },
"ms-3": { "effect": "fade", "order": 5, "duration": 0.45 },
"ms-4": { "effect": "zoom", "order": 6, "duration": 0.6, "delay": 0.15 },
"success-panel": { "effect": "fade", "order": 7, "duration": 0.55, "delay": 0.2 },
"footer": { "effect": "none" }
}
},
"12_cta_closing": {
"transition": { "effect": "wipe", "duration": 0.55 },
"animation": { "duration": 0.65, "stagger": 0.28 },
"groups": {
"bg": { "effect": "none" },
"cta-tag": { "effect": "fade", "order": 1, "duration": 0.4 },
"cta-title": { "effect": "fade", "order": 2, "duration": 0.75, "delay": 0.15 },
"cta-subtitle": { "effect": "fade", "order": 3, "duration": 0.55 },
"cta-buttons": { "effect": "zoom", "order": 4, "duration": 0.65, "delay": 0.3 },
"cta-footnote": { "effect": "fade", "order": 5, "duration": 0.45 },
"cta-footer": { "effect": "none" }
}
}
}
}

View File

@@ -0,0 +1,438 @@
# glassmorphism_demo - Design Spec
> Human-readable design narrative — rationale, audience, style, color choices, content outline. Read once by downstream roles for context.
>
> Machine-readable execution contract: `spec_lock.md`. Executor re-reads `spec_lock.md` before every SVG page.
## I. Project Information
| Item | Value |
| ---- | ----- |
| **Project Name** | glassmorphism_demo |
| **Canvas Format** | PPT 16:9 (1280×720) |
| **Page Count** | 12 |
| **Design Style** | B) General Consulting + Glassmorphism SaaS |
| **Target Audience** | AI 产品经理 / 工程负责人 / 技术决策者 |
| **Use Case** | 技术分享 / 内部培训 / 产品发布 |
| **Created Date** | 2026-05-17 |
---
## II. Canvas Specification
| Property | Value |
| -------- | ----- |
| **Format** | PPT 16:9 |
| **Dimensions** | 1280×720 |
| **viewBox** | `0 0 1280 720` |
| **Margins** | 60px 左右 / 50px 上下 |
| **Content Area** | 1160×620除去 margin |
---
## III. Visual Theme
### Theme Style
- **Style**: B) General Consulting + Glassmorphism SaaS
- **Theme**: Dark theme深色玻璃 + 流光霓虹)
- **Tone**: 未来感、科技、轻盈悬浮、专业
### Color Scheme
| Role | HEX | Purpose |
| ---- | --- | ------- |
| **Background** | `#0A0E27` | 深空蓝主底 |
| **Secondary bg** | `#1A2150` | Glass 面板透明叠层基底(实际 fill-opacity 0.4-0.6 |
| **Primary** | `#5B8DEF` | 流光蓝 — 标题装饰 / 主图标 / 主图表 |
| **Accent** | `#A26BFA` | 流光紫 — 关键数据 / 渐变端点 |
| **Secondary accent** | `#3DDDFC` | 霓虹青 — 高亮、连接线发光 |
| **Body text** | `#E8ECFF` | 淡蓝白主文 |
| **Secondary text** | `#A8B0D0` | 柔灰蓝注释 |
| **Tertiary text** | `#6B7299` | 页脚、辅助 |
| **Border/divider** | `#2E3672` | 玻璃描边(实际 stroke-opacity 0.4-0.6 |
| **Success** | `#4ADE80` | 薄荷绿 |
| **Warning** | `#FB7185` | 霓虹粉红 |
> 60-30-10深空底 60% / glass + 文字 30% / 霓虹 accent 10%。
### AI Image Strategy
- **Image Rendering**: glassmorphism
- **Image Palette**: tech-neon
### Gradient Scheme
```xml
<!-- 主标题渐变(蓝→紫→青) -->
<linearGradient id="titleGradient" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#5B8DEF"/>
<stop offset="50%" stop-color="#A26BFA"/>
<stop offset="100%" stop-color="#3DDDFC"/>
</linearGradient>
<!-- 玻璃面板渐变 -->
<linearGradient id="glassPanel" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#5B8DEF" stop-opacity="0.18"/>
<stop offset="100%" stop-color="#A26BFA" stop-opacity="0.08"/>
</linearGradient>
<!-- 背景流光 radial -->
<radialGradient id="bgGlow" cx="80%" cy="20%" r="60%">
<stop offset="0%" stop-color="#5B8DEF" stop-opacity="0.25"/>
<stop offset="100%" stop-color="#5B8DEF" stop-opacity="0"/>
</radialGradient>
<radialGradient id="bgGlow2" cx="20%" cy="80%" r="55%">
<stop offset="0%" stop-color="#A26BFA" stop-opacity="0.2"/>
<stop offset="100%" stop-color="#A26BFA" stop-opacity="0"/>
</radialGradient>
<!-- 玻璃面板高光线 -->
<linearGradient id="glassEdge" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#FFFFFF" stop-opacity="0"/>
<stop offset="50%" stop-color="#FFFFFF" stop-opacity="0.35"/>
<stop offset="100%" stop-color="#FFFFFF" stop-opacity="0"/>
</linearGradient>
```
---
## IV. Typography System
**Typography direction**: modern CJK sans, same family weight contrast (heavy title / regular body)
| Role | Chinese | English | Fallback tail |
| ---- | ------- | ------- | ------------- |
| **Title** | `"Microsoft YaHei", "PingFang SC"` | — | `sans-serif` |
| **Body** | `"Microsoft YaHei", "PingFang SC"` | `Arial` | `sans-serif` |
| **Emphasis** | `"Microsoft YaHei", "PingFang SC"` | — | `sans-serif` |
| **Code** | — | `Consolas, "Courier New"` | `monospace` |
**Per-role font stacks**:
- Title: `"Microsoft YaHei", "PingFang SC", sans-serif`font-weight: 900
- Body: `"Microsoft YaHei", "PingFang SC", Arial, sans-serif`font-weight: 400
- Emphasis: same as Bodyfont-weight: 600
- Code: `Consolas, "Courier New", monospace`
### Font Size Hierarchy
**Baseline**: Body font size = **20px**(中等密度 SaaS deck
| Purpose | Ratio to body | Example @ body=20 | Weight |
| ------- | ------------- | ------------------ | ------ |
| Cover title (hero headline) | 2.5-5x | 60-100px | 900 |
| Chapter / section opener | 2-2.5x | 40-50px | 900 |
| Page title | 1.5-2x | 30-40px | 900 |
| Hero number (KPI) | 1.5-2x | 30-40px | 900 |
| Subtitle | 1.2-1.5x | 24-30px | 600 |
| **Body content** | **1x** | **20px** | 400 |
| Annotation / caption | 0.7-0.85x | 14-17px | 400 |
| Page number / footnote | 0.5-0.65x | 10-13px | 400 |
---
## V. Layout Principles
### Page Structure
- **Header area**: 60px top margin + page title 50px = 顶部 ~110px
- **Content area**: 中部 ~500px含玻璃面板 / chart / 图)
- **Footer area**: 40px 底(页码 + 项目标识)
### Layout Pattern Library
| Pattern | Suitable Scenarios |
| ------- | ----------------- |
| **Single column centered** | 封面、收尾 (P01/P12) |
| **Symmetric split (5:5)** | 模式对比 (P05) |
| **Three/four column cards** | 三难现状 / KPI 仪表板 (P03/P08) |
| **Matrix grid (2×2)** | 失败模式 (P10) |
| **Top-bottom split** | Hero 转场 (P02) |
| **Center-radiating** | 上下文工程 hub_spoke (P07) |
| **Layered horizontal** | Agent 架构 layered (P04) |
| **Z-pattern / waterfall** | 工具编排 numbered_steps (P06) |
| **Negative-space-driven** | breathing 页P02/P12 |
| **Image-as-canvas + native overlay** | 所有有 AI 图的页P01/P02/P04/P06/P07/P08/P10/P12 |
### Spacing Specification
**Universal**
| Element | Value |
| ------- | ----- |
| Safe margin from canvas edge | 50-60px |
| Content block gap | 28px |
| Icon-text gap | 12px |
**Card-based (glass panels)**
| Element | Value |
| ------- | ----- |
| Card gap | 24px |
| Card padding | 24-28px |
| Card border radius | 16px |
| Card stroke | `#FFFFFF` stroke-width 1, stroke-opacity 0.18 |
| Card fill | `url(#glassPanel)` or `#1A2150` with fill-opacity 0.5 |
**Non-card / breathing**
- Line-height 1.5x body
- Full-bleed text inset 80px+with #29 two-stop scrim 保证 legibility
---
## VI. Icon Usage Specification
### Source
- **Library**: `phosphor-duotone`(双层 backplate 与 glassmorphism 分层语言共振)
- **Usage**: `<use data-icon="phosphor-duotone/<name>" .../>`
### Recommended Icon List
| Purpose | Icon Path | Page |
| ------- | --------- | ---- |
| 性能/延迟痛点 | `phosphor-duotone/gauge` | P03, P08 |
| 成本痛点 | `phosphor-duotone/coin` | P03, P08, P10 |
| 质量/错误痛点 | `phosphor-duotone/bug` | P03, P10 |
| 感知层 | `phosphor-duotone/eye` | P04 |
| 推理层 | `phosphor-duotone/brain` | P04 |
| 行动层 | `phosphor-duotone/lightning` | P04 |
| 记忆层 | `phosphor-duotone/database` | P04, P07 |
| Workflow 模式 | `phosphor-duotone/flow-arrow` | P05 |
| Agent 模式 | `phosphor-duotone/robot` | P05 |
| Multi-Agent 模式 | `phosphor-duotone/users-three` | P05 |
| 解析任务 | `phosphor-duotone/magnifying-glass` | P06, P07 |
| 选择工具 | `phosphor-duotone/target` | P06 |
| 调用 | `phosphor-duotone/plug` | P06 |
| 验证 | `phosphor-duotone/check-circle` | P06, P08 |
| 重试/循环 | `phosphor-duotone/arrows-clockwise` | P06, P10 |
| 汇总 | `phosphor-duotone/stack` | P06 |
| 上下文核心 | `phosphor-duotone/cube` | P07 |
| 重排/筛选 | `phosphor-duotone/funnel` | P07 |
| 截断/平衡 | `phosphor-duotone/scales` | P07 |
| 工具说明 | `phosphor-duotone/gear` | P07 |
| 系统提示 | `phosphor-duotone/code-block` | P07 |
| 可靠性 | `phosphor-duotone/shield-check` | P08 |
| 幻觉 | `phosphor-duotone/sparkle` | P10 |
| 原型阶段 | `phosphor-duotone/crosshair` | P11 |
| 工程化阶段 | `phosphor-duotone/gear-six` | P11 |
| 规模化阶段 | `phosphor-duotone/chart-line-up` | P11 |
| 生产阶段 | `phosphor-duotone/rocket` | P11, P12 |
| 合作号召 | `phosphor-duotone/handshake` | P12 |
---
## VII. Visualization Reference List
Catalog read: 71 templates
| Page | Template | Path | Summary-quote (verbatim from `charts_index.json`) | Usage |
| ---- | -------- | ---- | ------------------------------------------------- | ----- |
| P03 | vertical_pillars | `templates/charts/vertical_pillars.svg` | "Pick for 1×3 / 1×4 / 1×5 vertical column layout where each pillar = one independent category with title + bullets — PEST (Political/Economic/Social/Technological), four-pillar strategy overview, side-by-side independent categories. Skip for 2×2 quadrant (use quadrant_text_bullets), pricing tiers (use comparison_columns), or 2×2 parallel aspects (use labeled_card)." | 三大痛点并列展示 |
| P04 | layered_architecture | `templates/charts/layered_architecture.svg` | "Pick for 3-4 horizontal architecture layers (presentation/service/data), 2-4 module cards per layer, each card = title + 1-line description (description required, even if source brief). Skip if no per-module descriptions (use icon_grid) or no horizontal layering (use module_composition)." | Agent 四层架构 (Perception/Reasoning/Action/Memory) |
| P05 | comparison_columns | `templates/charts/comparison_columns.svg` | "Pick for 2-4 pricing/service tier cards in side-by-side columns (marketing layout). Skip for dense feature comparison (use comparison_table)." | Workflow vs Agent vs Multi-Agent 三模式对比 |
| P06 | numbered_steps | `templates/charts/numbered_steps.svg` | "Pick for 3-6 horizontal sequential steps with numeric emphasis — how-it-works section, getting-started guide, methodology overview, implementation phases. Skip if steps need connector arrows (use process_flow) or named output artifacts (use pipeline_with_stages)." | 工具编排六步法 |
| P07 | hub_spoke | `templates/charts/hub_spoke.svg` | "Pick for 1 core capability + 4-8 surrounding capabilities (platform/ecosystem); each spoke = title or title + 1-2 line description. Skip if center is a system containing parts with their own descriptions (use module_composition), or surroundings exert inward pressure on the center (use hub_inward_arrows)." | 上下文工程 — 1 核心 + 6 能力 |
| P08 | kpi_cards | `templates/charts/kpi_cards.svg` | "Pick for 4-8 standalone numeric metrics shown as overview cards (2x2 or 1x4) — exec summary opener, dashboard headline, quarterly recap, results-at-a-glance. Skip if metrics have target baselines (use bullet_chart) or single hero number (use gauge_chart)." | 4 张 KPI 卡 (Accuracy/Latency/Cost/Reliability) |
| P09 | line_chart | `templates/charts/line_chart.svg` | "Pick for 1-3 time-series on a continuous axis showing direction. Skip if cumulative volume matters (use area_chart) or different units (use dual_axis_line_chart)." | 上线后 12 周准确率 + 成本双线趋势 |
| P10 | quadrant_text_bullets | `templates/charts/quadrant_text_bullets.svg` | "Pick for any 2×2 framework where each quadrant holds a titled bullet list — SWOT (Strengths/Weaknesses/Opportunities/Threats, internal-external × helpful-harmful), Ansoff (Existing/New Markets × Existing/New Products), or any named two-axis matrix with text content. Skip for items plotted as points (use matrix_2x2) or bubble-sized portfolios (use quadrant_bubble_scatter)." | 失败模式四象限 (工具错误/死循环/幻觉/成本失控) |
| P11 | roadmap_vertical | `templates/charts/roadmap_vertical.svg` | "Pick for 4-8 milestones on a vertical timeline with status indicators. Skip for horizontal time emphasis (use timeline) or tasks with durations (use gantt_chart)." | 四阶段落地路线图 |
**Runners-up considered** (3 entries minimum):
- `pyramid_chart` | rejected for P04: Agent 架构需要横向多层 × 每层多模块卡片pyramid 是纵向单元素分层,无法承载每层 2-3 模块的描述结构
- `icon_grid` | rejected for P03: 三大痛点每个需要 title + 2-3 行 bullet 描述icon_grid 只配 title + 短副标,深度不够
- `mind_map` | rejected for P07: 上下文工程是聚焦的 1 核心 + 6 能力固定结构hub_spoke 比 mind_map 更对称稳重mind_map 偏脑暴 / 不对称扇形)
---
## VIII. Image Resource List
| Filename | Dimensions | Ratio | Purpose | Type | Layout pattern | Acquire Via | Status | Reference | text_policy | page_role |
| -------- | --------- | ----- | ------- | ---- | -------------- | ----------- | ------ | --------- | ----------- | --------- |
| 01_cover_aurora.png | 1280×720 | 1.78 | 封面流光主背景 | Background | #1 full-bleed background with floating title + #29 two-stop scrim + #28 radial gradient vignette | ai | Pending | Deep space backdrop, drifting frosted glass shards in soft orbit, neon blue-purple-cyan light beams streaming horizontally, calm center band reserved for title overlay, no figures or text | none | hero_page |
| 02_hero_transition.png | 1280×720 | 1.78 | "Demo → Production" 转场氛围 | Background | #12 faded image as backdrop with oversized overlay text + #28 radial vignette + #30 flat semi-transparent overlay | ai | Pending | Wide cinematic horizon: a glowing data city rising from violet mist, distant translucent towers and floating glass platforms, sense of crossing from small workshop to large infrastructure, low-contrast central area for hero title | none | hero_page |
| 04_agent_topology.png | 1280×720 | 1.78 | Agent 拓扑神经脉络背景 | Background | #44 background image + native network/architecture diagram + #28 radial vignette + #30 flat overlay | ai | Pending | Abstract agent topology background: glowing neural mesh with constellation nodes connected by thin luminous filaments, soft depth-of-field, frosted glass tiles floating quietly, dark deep-space field with low-contrast working zone, no labels or text | none | local |
| 06_pipeline_flow.png | 1280×720 | 1.78 | 工具调用流光管线 | Background | #39 background image + flow nodes drawn over the scene + #30 flat overlay + #21 rounded rectangle crop | ai | Pending | Translucent data pipelines flowing horizontally behind frosted glass, glowing liquid light traveling through tubes, scattered floating cubes catching reflections, low-detail center band, dark cosmic backdrop | none | local |
| 07_context_sphere.png | 1280×720 | 1.78 | 上下文知识球 / RAG 隐喻 | Background | #42 background image + glassmorphism UI panels + #28 radial vignette + #30 overlay | ai | Pending | Large luminous sphere of light filaments suspended in deep space, fine threads of information radiating outward, smaller glass shards in orbit, slight chromatic aberration, calm dark surrounding for overlay panels | none | local |
| 08_dashboard_bokeh.png | 1280×720 | 1.78 | 仪表盘失焦光斑 | Background | #40 background image + floating KPI metric cards + #34 gaussian blur backdrop baked-in + #30 overlay | ai | Pending | Out-of-focus dashboard scene: rows of soft neon bokeh circles in blue, purple, cyan against deep-space dark, hint of translucent interface panels in the distance, no readable text or numbers | none | local |
| 10_failure_glow.png | 1280×720 | 1.78 | 失败模式警示氛围 | Background | #12 faded image as backdrop with oversized overlay text + #31 color-tinted overlay + #28 radial vignette | ai | Pending | Dark moody field washed with neon pink and violet, fractured glass shards scattered with subtle distortion, faint warning halos, deep-space backdrop, calm working zone in the center | none | local |
| 12_cta_horizon.png | 1280×720 | 1.78 | CTA 收尾远景地平线 | Background | #1 full-bleed background with floating title + #66 image fading into solid background + #29 two-stop scrim | ai | Pending | Distant glowing horizon at dawn of the data era, floating glass platforms drifting toward the light, soft particulate atmosphere, deep navy field grading into warm blue-purple toward horizon, no figures or text | none | hero_page |
---
## IX. Content Outline
### Part 1: 开场
#### Slide 01 - Cover
- **Layout**: Full-bleed AI 背景 + 中央浮玻璃标题面板Single column centered + #1 + #29
- **Title**: AI Agent 工程化与落地
- **Subtitle**: 从 Demo 到生产,需要的不只是大模型
- **Info**: 2026 · 技术分享系列
#### Slide 02 - Hero / Section opener "从 Demo 到生产"
- **Layout**: Full-bleed AI 背景 + 大字浮文breathing — #1 + #12 + #28
- **Title**: 90% 的 Agent 项目,止步于 Demo
- **Body**: 真正进入生产需要跨越四道工程化门槛 ——
- **Sub-text**: 架构 · 上下文 · 评估 · 可观测
- **Visualization**: 无breathing 页,纯文字 + AI 氛围背景)
### Part 2: 现状与基础
#### Slide 03 - 三大痛点:为什么 Agent 上不了生产
- **Layout**: 1×3 vertical_pillarsV. 三列)
- **Title**: 三道阻碍 Agent 落地的现实门槛
- **Visualization**: vertical_pillars
- **Content**:
- 性能不稳定gauge多步推理累积误差P95 延迟不可控
- 成本不可预测coin单次任务 token 漂移 5-50 倍
- 质量难闭环bug失败原因模糊回归测试缺失
#### Slide 04 - Agent 架构基础:四层模型
- **Layout**: layered_architecture4 横层)+ #44 AI 背景叠加
- **Title**: Agent 的四层骨架
- **Visualization**: layered_architecture
- **Content**:
- **Perception 感知** (eye) — 输入解析 / 多模态 / 上下文窗口管理
- **Reasoning 推理** (brain) — Plan / ReAct / Tree-of-Thought / Reflection
- **Action 行动** (lightning) — 工具调用 / 函数执行 / API 编排
- **Memory 记忆** (database) — 短期上下文 / 长期向量库 / 任务级缓存
#### Slide 05 - 三种工作模式对比
- **Layout**: Symmetric 3-column (comparison_columns)
- **Title**: Workflow / Agent / Multi-Agent — 选哪种?
- **Visualization**: comparison_columns
- **Content**:
- **Workflow** (flow-arrow): 路径固定 / 可预测 / 易调试 / 适用确定性任务
- **Agent** (robot): 路径动态 / LLM 决策 / 工具调用 / 适用半结构化探索
- **Multi-Agent** (users-three): 多角色协作 / 任务分发 / 上下文共享 / 适用复杂长程任务
### Part 3: 工程化四大能力
#### Slide 06 - 工具调用与编排:六步法
- **Layout**: numbered_steps横向 6 步) + #39 AI 管线背景
- **Title**: 让工具调用从"能跑"到"稳跑"
- **Visualization**: numbered_steps
- **Content**:
- 01 解析任务 (magnifying-glass) — 拆解用户意图
- 02 选择工具 (target) — schema 匹配 + 描述检索
- 03 调用执行 (plug) — 参数填充 + 超时控制
- 04 验证返回 (check-circle) — JSON schema / 业务规则
- 05 重试回退 (arrows-clockwise) — 指数退避 / 降级路径
- 06 结果汇总 (stack) — 多轮聚合 → 最终回答
#### Slide 07 - 上下文工程1 核 + 6 能力
- **Layout**: hub_spoke中心 + 6 外围) + #42 AI 球体背景
- **Title**: 上下文,才是 Agent 真正的"权重"
- **Visualization**: hub_spoke
- **Content**:
- **核心** (cube): Context Engineering
- **检索** (magnifying-glass): RAG / 向量召回 / BM25 混排
- **重排** (funnel): Reranker / Top-K 筛选
- **截断** (scales): Token 预算分配 / 关键信息优先
- **记忆** (database): 长短期记忆 / 会话状态
- **工具说明** (gear): Tool schema / 示例描述
- **系统提示** (code-block): Persona / 输出格式 / 安全规则
#### Slide 08 - KPI 仪表板:盯住四个数
- **Layout**: kpi_cards 2×2 + #40 AI bokeh 背景
- **Title**: 上生产前,先把四张表盘装上
- **Visualization**: kpi_cards
- **Content**:
- **任务成功率** (check-circle): 92.4% ↑ 3.2pp / 周
- **P95 延迟** (gauge): 4.8s ↓ 18% / 周
- **单次成本** (coin): ¥0.42 ↓ 22% / 周
- **可靠性** (shield-check): 99.7% SLO / 30 天
#### Slide 09 - 指标趋势:上线后 12 周
- **Layout**: 全宽 line_chart双线 — 准确率 + 成本)
- **Title**: 持续优化的真实曲线:准确率 ↑ 成本 ↓
- **Visualization**: line_chart
- **Content**:
- Series A: 任务成功率(左轴 %,从 71% → 92.4%
- Series B: 单次平均成本(右轴 ¥,从 1.20 → 0.42
- 12 周时间轴 W1-W12关键节点W4 引入 reranker / W8 引入 fallback / W11 引入缓存
#### Slide 10 - 失败模式四象限
- **Layout**: quadrant_text_bullets 2×2 + #12 AI failure 背景
- **Title**: 这四类失败,你最先会遇到哪个
- **Visualization**: quadrant_text_bullets
- **Content**:
- **工具错误** (bug): schema 不匹配 / 参数幻觉 / 超时无回退
- **死循环** (arrows-clockwise): 反思链路无终止 / Plan 反复修改
- **幻觉** (sparkle): 编造工具 / 编造结果 / 假装成功
- **成本失控** (coin): Token 漂移 / 重复检索 / 链路过长
### Part 4: 落地与收尾
#### Slide 11 - 落地路线图:四阶段
- **Layout**: roadmap_vertical4 milestone 纵向)
- **Title**: 从原型到生产 — 12 周分四阶段走
- **Visualization**: roadmap_vertical
- **Content**:
- **W1-W3 原型** (crosshair): 单一任务跑通 + 工具 schema 初稿
- **W4-W7 工程化** (gear-six): 评估集 + 自动测试 + 回退机制
- **W8-W10 规模化** (chart-line-up): 缓存 + 限流 + 多租户隔离
- **W11-W12 生产** (rocket): 灰度上线 + SLO 监控 + 持续优化
#### Slide 12 - CTA / Closing
- **Layout**: breathing — Full-bleed AI 远景 + 中央 CTA 玻璃面板(#1 + #66 + #29
- **Title**: 下一个 Agent从工程化开始
- **Body**: 不是"加个 LLM",是把 LLM 真正装进系统
- **CTA**: 立刻开始你的 Agent 工程化rocket / handshake
---
## X. Speaker Notes Requirements
One file per page, saved to `notes/`:
- **Filename**: match SVG name (e.g., `01_cover.md`)
- **Total duration**: 12-15 分钟
- **Style**: conversational + 技术分享
- **Purpose**: inform + persuade说服决策者把 Agent 工程化提上日程)
---
## XI. Technical Constraints Reminder
### SVG Generation Must Follow:
1. viewBox: `0 0 1280 720`
2. Background uses `<rect>` elements
3. Text wrapping uses `<tspan>``<foreignObject>` FORBIDDEN
4. Transparency uses `fill-opacity` / `stroke-opacity``rgba()` FORBIDDEN
5. FORBIDDEN: `mask`, `<style>`, `class`, `foreignObject`, `textPath`, `animate*`, `script`
6. Text characters: raw Unicode (`—`, `→`, `©`, NBSP)HTML named entities FORBIDDENXML reserved chars escape as `&amp; &lt; &gt; &quot; &apos;`
7. `clipPath` 仅可用在 `<image>`rounded crop 等)
8. `<g opacity>` FORBIDDEN — 每个 child 单独设 opacity
### Glassmorphism 实现专项
- 玻璃面板:`<rect fill="url(#glassPanel)" stroke="#FFFFFF" stroke-opacity="0.18" stroke-width="1" rx="16"/>`
- 玻璃描边高光线:`<rect ... fill="url(#glassEdge)" height="1"/>` 放在面板顶边
- 不允许使用 `<feGaussianBlur>` 做毛玻璃模糊效果PPT 导出不稳定)——氛围由 AI 图承担
- 流光霓虹效果通过半透明叠层 `<rect fill="primary" fill-opacity="0.15-0.25"/>` 模拟
- 阴影若需,使用 `<feDropShadow>` 仅在装饰元素,不在主结构
### PPT Compatibility Rules
- `<g opacity="...">` FORBIDDEN
- 图像透明用 overlay mask layer
- Inline styles onlyno external CSS / `@font-face`

Binary file not shown.

After

Width:  |  Height:  |  Size: 1010 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 839 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 908 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 840 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 799 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 900 KiB

View File

@@ -0,0 +1,110 @@
{
"project": "glassmorphism_demo",
"generated_at": "2026-05-17",
"deck_rendering": "glassmorphism",
"deck_palette": "tech-neon",
"color_scheme": {
"primary": "#5B8DEF",
"accent": "#A26BFA",
"secondary_accent": "#3DDDFC",
"background": "#0A0E27"
},
"items": [
{
"filename": "01_cover_aurora.png",
"purpose": "Cover background (Slide 01) — opens the AI Agent engineering deck with a calm but unmistakably glassmorphism atmosphere",
"type": "background",
"page_role": "hero_page",
"text_policy": "none",
"aspect_ratio": "16:9",
"image_size": "2K",
"prompt": "Modern glassmorphism aesthetic. Composition built on layered semi-transparent glass panels with frosted-glass blur — each panel reads as a sheet of polished glass floating slightly above a soft deep-space gradient. Panel edges are subtly defined with thin 1px highlight strokes (whitespace at top/left, slight shadow at bottom/right) suggesting refraction. Background is a deep-space gradient blurring through the panels. Drop shadows under panels are large and soft (about 20% opacity, generous spread) to create real depth. Color behavior is tech-neon: deep-space navy #0A0E27 covers about 55% of the canvas as the dominant dark field with subtle radial darkening at the corners; electric flow blue #5B8DEF saturates the largest drifting glass shard's interior fill at roughly 30% area with an 8%-opacity outer glow; flow violet #A26BFA appears as the second-layer panel's tint and as a long horizontal light beam streaming across the upper third (roughly 10%); neon cyan #3DDDFC accents only one edge highlight on the foremost shard and two thin streaking light filaments (under 5%). Atmospheric composition with no central subject — three or four drifting frosted glass shards arranged along the upper-right and lower-left edges, with one slow horizontal light beam across the upper canvas. The center 60% of the canvas is deliberately calm and unbusy, designed to receive a slide title overlaid in SVG. Composed as a 1280×720 full-bleed PPT cover background for hero_page use. Color values (HEX codes like #5B8DEF) and color names are rendering guidance only — do NOT display HEX codes, color names, or palette labels as visible text anywhere in the image. NO text of any kind anywhere in the image — no letters, numbers, signs, watermarks, labels, or written symbols.",
"alt_text": "Deep space glassmorphism cover with drifting frosted glass shards and horizontal neon light beam",
"status": "Generated"
},
{
"filename": "02_hero_transition.png",
"purpose": "Hero transition background (Slide 02) — 'from Demo to Production' wide cinematic atmosphere with horizon",
"type": "background",
"page_role": "hero_page",
"text_policy": "none",
"aspect_ratio": "16:9",
"image_size": "2K",
"prompt": "Modern glassmorphism aesthetic. Wide cinematic atmosphere built on layered semi-transparent glass platforms floating over a deep blurred horizon — each translucent layer reads as polished frosted glass with thin 1px highlight strokes on the top edge suggesting refraction and a large soft drop shadow beneath (about 25% opacity, generous spread) to create depth. Color behavior is tech-neon: deep-space navy #0A0E27 covers about 55% of the canvas as the dominant dark sky with a slightly lighter horizon band; electric flow blue #5B8DEF saturates the distant data-city silhouette and the mid-ground glass platforms at roughly 30% with an 8%-opacity outer glow; flow violet #A26BFA appears as the horizon mist haze and the lower-third reflective sheen at about 10%; neon cyan #3DDDFC accents only the rim light along the top edge of the foremost glass platform and a few thin streaking beams above the horizon (under 5%). Atmospheric composition with no dominant central subject — a distant city of translucent towers and floating glass platforms emerging from violet mist on a low horizon, suggesting crossing from a small workshop to large infrastructure. The center 60% of the canvas is deliberately calm and unbusy with low-contrast atmosphere, designed to receive a hero title overlaid in SVG. Composed as a 1280×720 full-bleed PPT chapter-transition background for hero_page use. Color values (HEX codes like #5B8DEF) and color names are rendering guidance only — do NOT display HEX codes, color names, or palette labels as visible text anywhere in the image. NO text of any kind anywhere in the image — no letters, numbers, signs, watermarks, labels, or written symbols.",
"alt_text": "Wide cinematic glassmorphism horizon with distant translucent data city and floating glass platforms",
"status": "Generated"
},
{
"filename": "04_agent_topology.png",
"purpose": "Agent architecture backdrop (Slide 04) — neural mesh topology suggesting the Agent four-layer architecture",
"type": "background",
"page_role": "local",
"text_policy": "none",
"aspect_ratio": "16:9",
"image_size": "2K",
"prompt": "Modern glassmorphism aesthetic backdrop. Composition built on a deep-space field with a sparse luminous neural mesh suspended in soft depth-of-field blur — translucent glass tiles drift quietly behind the mesh, each tile reading as a sheet of polished frosted glass with a thin 1px highlight stroke on its top-left edge and a soft drop shadow beneath (about 20% opacity, generous spread). Color behavior is tech-neon: deep-space navy #0A0E27 covers about 60% of the canvas as the dominant dark field; electric flow blue #5B8DEF saturates the brighter constellation nodes and the longer luminous filaments at roughly 25% with an 8%-opacity outer glow; flow violet #A26BFA appears as the secondary cluster of dimmer nodes in the right third and a soft directional haze (about 10%); neon cyan #3DDDFC accents only three or four pinpoint nodes and a single thin filament arcing across the mid-ground (under 5%). Atmospheric composition with no central subject — the neural-mesh constellation drifts toward the upper-right corner, leaving the left two-thirds calmer for layered SVG overlay. Glass tiles appear only as out-of-focus textural elements behind the mesh, never as labeled containers. The center 60% of the canvas is deliberately calm and low-contrast, designed to receive layered SVG architecture cards overlaid on top. Composed as a 1280×720 full-bleed PPT background for local use beneath SVG content. Color values (HEX codes like #5B8DEF) and color names are rendering guidance only — do NOT display HEX codes, color names, or palette labels as visible text anywhere in the image. NO text of any kind anywhere in the image — no letters, numbers, signs, watermarks, labels, or written symbols.",
"alt_text": "Deep space backdrop with sparse glowing neural mesh and out-of-focus glass tiles",
"status": "Generated"
},
{
"filename": "06_pipeline_flow.png",
"purpose": "Tool orchestration backdrop (Slide 06) — translucent data pipelines flowing horizontally beneath the numbered steps",
"type": "background",
"page_role": "local",
"text_policy": "none",
"aspect_ratio": "16:9",
"image_size": "2K",
"prompt": "Modern glassmorphism aesthetic backdrop. Composition built on layered semi-transparent glass pipes carrying glowing liquid light horizontally across a deep-space field — each tube reads as polished frosted glass with a thin 1px highlight stroke along its top curve and a soft drop shadow beneath (about 20% opacity, generous spread) suggesting real depth. Scattered small floating cubes of frosted glass catch reflections in the surrounding negative space. Color behavior is tech-neon: deep-space navy #0A0E27 covers about 55% of the canvas as the dominant dark backdrop; electric flow blue #5B8DEF saturates the liquid-light fill inside the primary pipes at roughly 28% with an 8%-opacity outer glow that bleeds slightly into the surrounding dark; flow violet #A26BFA appears as the secondary pipe's interior gradient and the haze around the floating cubes (about 12%); neon cyan #3DDDFC accents only the leading edge of the lowest pipe and three pinpoint highlights on the foremost cubes (under 5%). Atmospheric composition with no central subject — pipes run mostly along the lower band and floating cubes drift in the upper corners, leaving a calm central band for overlay. The center 60% of the canvas is deliberately low-contrast and unbusy, designed to receive an SVG numbered-step row overlaid on top. Composed as a 1280×720 full-bleed PPT background for local use beneath SVG content. Color values (HEX codes like #5B8DEF) and color names are rendering guidance only — do NOT display HEX codes, color names, or palette labels as visible text anywhere in the image. NO text of any kind anywhere in the image — no letters, numbers, signs, watermarks, labels, or written symbols.",
"alt_text": "Translucent glass pipes carrying glowing liquid light beneath floating frosted glass cubes",
"status": "Generated"
},
{
"filename": "07_context_sphere.png",
"purpose": "Context engineering backdrop (Slide 07) — luminous knowledge sphere suspended in deep space (RAG metaphor)",
"type": "background",
"page_role": "local",
"text_policy": "none",
"aspect_ratio": "16:9",
"image_size": "2K",
"prompt": "Modern glassmorphism aesthetic backdrop. Composition built on a single large luminous sphere of fine light filaments suspended in deep space, with smaller frosted glass shards in slow orbit around it — each shard reads as a sheet of polished glass with a thin 1px highlight stroke on its top-left edge and a soft drop shadow beneath (about 20% opacity, generous spread). The sphere itself is made of countless thin glowing threads woven into a translucent globe with slight chromatic aberration at its edge. Color behavior is tech-neon: deep-space navy #0A0E27 covers about 55% of the canvas as the dominant dark void; electric flow blue #5B8DEF saturates the sphere's main filament weave at roughly 28% with a strong 10%-opacity outer glow radiating outward; flow violet #A26BFA appears as the orbital glass shards' tint and the sphere's mid-zone gradient (about 12%); neon cyan #3DDDFC accents only the brightest filaments along the sphere's upper-right meridian and one streaking ray into the dark (under 5%). Atmospheric composition with the sphere positioned in the right third of the canvas so the left two-thirds remain a calm dark field for hub_spoke SVG overlay. Composed as a 1280×720 full-bleed PPT background for local use beneath SVG content. Color values (HEX codes like #5B8DEF) and color names are rendering guidance only — do NOT display HEX codes, color names, or palette labels as visible text anywhere in the image. NO text of any kind anywhere in the image — no letters, numbers, signs, watermarks, labels, or written symbols.",
"alt_text": "Luminous filament sphere in deep space with orbiting glass shards and radiating glow",
"status": "Generated"
},
{
"filename": "08_dashboard_bokeh.png",
"purpose": "KPI dashboard backdrop (Slide 08) — out-of-focus neon bokeh suggesting an operations dashboard",
"type": "background",
"page_role": "local",
"text_policy": "none",
"aspect_ratio": "16:9",
"image_size": "2K",
"prompt": "Modern glassmorphism aesthetic backdrop with strong baked-in depth-of-field blur. Composition built on rows of soft neon bokeh circles drifting in a deep-space field, with a few translucent frosted glass interface panels barely visible in the distant background — every panel reads as a sheet of polished glass with a thin 1px highlight stroke on its top-left edge and a soft drop shadow beneath (about 20% opacity, generous spread), but pushed well out of focus so individual UI details cannot be read. Color behavior is tech-neon: deep-space navy #0A0E27 covers about 58% of the canvas as the dominant dark backdrop; electric flow blue #5B8DEF saturates the largest bokeh circles in the lower band at roughly 25% with an 8%-opacity outer glow; flow violet #A26BFA appears as the mid-distance bokeh cluster and the distant panel tint (about 12%); neon cyan #3DDDFC accents only three or four sharper bokeh highlights along the upper edge (under 5%). Atmospheric composition with no central subject — bokeh circles are distributed along the lower and upper bands so the central band remains the calmest zone. The center 60% of the canvas is deliberately low-contrast and unbusy, designed to receive a 2×2 SVG KPI card grid overlaid on top. Composed as a 1280×720 full-bleed PPT background for local use beneath SVG content. Color values (HEX codes like #5B8DEF) and color names are rendering guidance only — do NOT display HEX codes, color names, or palette labels as visible text anywhere in the image. NO text of any kind anywhere in the image — no letters, numbers, signs, watermarks, labels, or written symbols — and no readable UI element such as bar charts, labels, sliders, or icons; everything in the image is out of focus.",
"alt_text": "Out of focus neon bokeh rows over deep space with hints of distant glass interface panels",
"status": "Generated"
},
{
"filename": "10_failure_glow.png",
"purpose": "Failure modes backdrop (Slide 10) — warning-tinted atmosphere for the quadrant of Agent failure modes",
"type": "background",
"page_role": "local",
"text_policy": "none",
"aspect_ratio": "16:9",
"image_size": "2K",
"prompt": "Modern glassmorphism aesthetic backdrop with a subdued warning tonality. Composition built on a deep-space field washed with neon pink and violet, scattered with a few fractured frosted glass shards suggesting subtle distortion — each shard reads as a sheet of polished glass with a thin 1px highlight stroke on its top-left edge and a soft drop shadow beneath (about 20% opacity, generous spread), with a hint of refraction and faint cracks. Color behavior is tech-neon with warning shift: deep-space navy #0A0E27 covers about 50% of the canvas as the dominant dark backdrop; warning neon pink #FB7185 appears as a soft tint wash across the lower band and the cracks on the foremost shard at roughly 22% with an 8%-opacity outer glow; flow violet #A26BFA appears as the secondary atmospheric haze in the upper third (about 18%); electric flow blue #5B8DEF and neon cyan #3DDDFC together hold only the high-rim light on one or two shards (under 10% combined). Atmospheric composition with no central subject — fractured shards drift toward the corners, leaving the center calm. The center 60% of the canvas is deliberately low-contrast and unbusy, designed to receive a 2×2 SVG quadrant text-bullet layout overlaid on top. Composed as a 1280×720 full-bleed PPT background for local use beneath SVG content. Color values (HEX codes like #FB7185) and color names are rendering guidance only — do NOT display HEX codes, color names, or palette labels as visible text anywhere in the image. NO text of any kind anywhere in the image — no letters, numbers, signs, watermarks, labels, or written symbols.",
"alt_text": "Dark space backdrop tinted with neon pink and violet, scattered fractured glass shards with faint cracks",
"status": "Generated"
},
{
"filename": "12_cta_horizon.png",
"purpose": "Closing CTA background (Slide 12) — distant glowing horizon with floating glass platforms drifting toward the light",
"type": "background",
"page_role": "hero_page",
"text_policy": "none",
"aspect_ratio": "16:9",
"image_size": "2K",
"prompt": "Modern glassmorphism aesthetic. Composition built on a wide distant horizon at the dawn of a data era, with several layered frosted glass platforms drifting slowly toward the light — each platform reads as a sheet of polished glass with a thin 1px highlight stroke on its top-left edge and a soft drop shadow beneath (about 25% opacity, generous spread) creating real depth. Soft particulate atmosphere fills the negative space like quiet glowing dust. Color behavior is tech-neon: deep-space navy #0A0E27 covers the upper half of the canvas at about 50% as the still-dark sky; electric flow blue #5B8DEF saturates the mid-horizon glow and the closest glass platform's interior tint at roughly 25% with a 10%-opacity outer glow that radiates outward into the dust; flow violet #A26BFA appears as the warm horizon gradient transitioning from navy down to a softer band (about 15%); neon cyan #3DDDFC accents only the top edges of the closest platform and one streaking ray rising from the horizon (under 5%). Atmospheric composition with the brightest zone gathered at the lower-middle horizon, leaving the upper 60% of the canvas calm and dark for hero CTA title overlay in SVG. Composed as a 1280×720 full-bleed PPT closing background for hero_page use. Color values (HEX codes like #5B8DEF) and color names are rendering guidance only — do NOT display HEX codes, color names, or palette labels as visible text anywhere in the image. NO text of any kind anywhere in the image — no letters, numbers, signs, watermarks, labels, or written symbols.",
"alt_text": "Distant glowing horizon with floating glass platforms drifting toward dawn light",
"status": "Generated"
}
]
}

View File

@@ -0,0 +1,162 @@
# Image Generation Prompts
> Auto-generated from `image_prompts.json` by `image_gen.py --render-md`.
> Do not hand-edit — re-run the command to refresh.
> Project: glassmorphism_demo
> Generated: 2026-05-17
> Color scheme: Primary #5B8DEF | Accent #A26BFA | Secondary_accent #3DDDFC | Background #0A0E27
---
### Image 1: 01_cover_aurora.png
| Attribute | Value |
|---|---|
| Purpose | Cover background (Slide 01) — opens the AI Agent engineering deck with a calm but unmistakably glassmorphism atmosphere |
| Type | background |
| Aspect ratio | 16:9 |
| Image size | 2K |
| Status | Generated |
**Prompt**:
Modern glassmorphism aesthetic. Composition built on layered semi-transparent glass panels with frosted-glass blur — each panel reads as a sheet of polished glass floating slightly above a soft deep-space gradient. Panel edges are subtly defined with thin 1px highlight strokes (whitespace at top/left, slight shadow at bottom/right) suggesting refraction. Background is a deep-space gradient blurring through the panels. Drop shadows under panels are large and soft (about 20% opacity, generous spread) to create real depth. Color behavior is tech-neon: deep-space navy #0A0E27 covers about 55% of the canvas as the dominant dark field with subtle radial darkening at the corners; electric flow blue #5B8DEF saturates the largest drifting glass shard's interior fill at roughly 30% area with an 8%-opacity outer glow; flow violet #A26BFA appears as the second-layer panel's tint and as a long horizontal light beam streaming across the upper third (roughly 10%); neon cyan #3DDDFC accents only one edge highlight on the foremost shard and two thin streaking light filaments (under 5%). Atmospheric composition with no central subject — three or four drifting frosted glass shards arranged along the upper-right and lower-left edges, with one slow horizontal light beam across the upper canvas. The center 60% of the canvas is deliberately calm and unbusy, designed to receive a slide title overlaid in SVG. Composed as a 1280×720 full-bleed PPT cover background for hero_page use. Color values (HEX codes like #5B8DEF) and color names are rendering guidance only — do NOT display HEX codes, color names, or palette labels as visible text anywhere in the image. NO text of any kind anywhere in the image — no letters, numbers, signs, watermarks, labels, or written symbols.
**Alt Text**:
> Deep space glassmorphism cover with drifting frosted glass shards and horizontal neon light beam
---
### Image 2: 02_hero_transition.png
| Attribute | Value |
|---|---|
| Purpose | Hero transition background (Slide 02) — 'from Demo to Production' wide cinematic atmosphere with horizon |
| Type | background |
| Aspect ratio | 16:9 |
| Image size | 2K |
| Status | Generated |
**Prompt**:
Modern glassmorphism aesthetic. Wide cinematic atmosphere built on layered semi-transparent glass platforms floating over a deep blurred horizon — each translucent layer reads as polished frosted glass with thin 1px highlight strokes on the top edge suggesting refraction and a large soft drop shadow beneath (about 25% opacity, generous spread) to create depth. Color behavior is tech-neon: deep-space navy #0A0E27 covers about 55% of the canvas as the dominant dark sky with a slightly lighter horizon band; electric flow blue #5B8DEF saturates the distant data-city silhouette and the mid-ground glass platforms at roughly 30% with an 8%-opacity outer glow; flow violet #A26BFA appears as the horizon mist haze and the lower-third reflective sheen at about 10%; neon cyan #3DDDFC accents only the rim light along the top edge of the foremost glass platform and a few thin streaking beams above the horizon (under 5%). Atmospheric composition with no dominant central subject — a distant city of translucent towers and floating glass platforms emerging from violet mist on a low horizon, suggesting crossing from a small workshop to large infrastructure. The center 60% of the canvas is deliberately calm and unbusy with low-contrast atmosphere, designed to receive a hero title overlaid in SVG. Composed as a 1280×720 full-bleed PPT chapter-transition background for hero_page use. Color values (HEX codes like #5B8DEF) and color names are rendering guidance only — do NOT display HEX codes, color names, or palette labels as visible text anywhere in the image. NO text of any kind anywhere in the image — no letters, numbers, signs, watermarks, labels, or written symbols.
**Alt Text**:
> Wide cinematic glassmorphism horizon with distant translucent data city and floating glass platforms
---
### Image 3: 04_agent_topology.png
| Attribute | Value |
|---|---|
| Purpose | Agent architecture backdrop (Slide 04) — neural mesh topology suggesting the Agent four-layer architecture |
| Type | background |
| Aspect ratio | 16:9 |
| Image size | 2K |
| Status | Generated |
**Prompt**:
Modern glassmorphism aesthetic backdrop. Composition built on a deep-space field with a sparse luminous neural mesh suspended in soft depth-of-field blur — translucent glass tiles drift quietly behind the mesh, each tile reading as a sheet of polished frosted glass with a thin 1px highlight stroke on its top-left edge and a soft drop shadow beneath (about 20% opacity, generous spread). Color behavior is tech-neon: deep-space navy #0A0E27 covers about 60% of the canvas as the dominant dark field; electric flow blue #5B8DEF saturates the brighter constellation nodes and the longer luminous filaments at roughly 25% with an 8%-opacity outer glow; flow violet #A26BFA appears as the secondary cluster of dimmer nodes in the right third and a soft directional haze (about 10%); neon cyan #3DDDFC accents only three or four pinpoint nodes and a single thin filament arcing across the mid-ground (under 5%). Atmospheric composition with no central subject — the neural-mesh constellation drifts toward the upper-right corner, leaving the left two-thirds calmer for layered SVG overlay. Glass tiles appear only as out-of-focus textural elements behind the mesh, never as labeled containers. The center 60% of the canvas is deliberately calm and low-contrast, designed to receive layered SVG architecture cards overlaid on top. Composed as a 1280×720 full-bleed PPT background for local use beneath SVG content. Color values (HEX codes like #5B8DEF) and color names are rendering guidance only — do NOT display HEX codes, color names, or palette labels as visible text anywhere in the image. NO text of any kind anywhere in the image — no letters, numbers, signs, watermarks, labels, or written symbols.
**Alt Text**:
> Deep space backdrop with sparse glowing neural mesh and out-of-focus glass tiles
---
### Image 4: 06_pipeline_flow.png
| Attribute | Value |
|---|---|
| Purpose | Tool orchestration backdrop (Slide 06) — translucent data pipelines flowing horizontally beneath the numbered steps |
| Type | background |
| Aspect ratio | 16:9 |
| Image size | 2K |
| Status | Generated |
**Prompt**:
Modern glassmorphism aesthetic backdrop. Composition built on layered semi-transparent glass pipes carrying glowing liquid light horizontally across a deep-space field — each tube reads as polished frosted glass with a thin 1px highlight stroke along its top curve and a soft drop shadow beneath (about 20% opacity, generous spread) suggesting real depth. Scattered small floating cubes of frosted glass catch reflections in the surrounding negative space. Color behavior is tech-neon: deep-space navy #0A0E27 covers about 55% of the canvas as the dominant dark backdrop; electric flow blue #5B8DEF saturates the liquid-light fill inside the primary pipes at roughly 28% with an 8%-opacity outer glow that bleeds slightly into the surrounding dark; flow violet #A26BFA appears as the secondary pipe's interior gradient and the haze around the floating cubes (about 12%); neon cyan #3DDDFC accents only the leading edge of the lowest pipe and three pinpoint highlights on the foremost cubes (under 5%). Atmospheric composition with no central subject — pipes run mostly along the lower band and floating cubes drift in the upper corners, leaving a calm central band for overlay. The center 60% of the canvas is deliberately low-contrast and unbusy, designed to receive an SVG numbered-step row overlaid on top. Composed as a 1280×720 full-bleed PPT background for local use beneath SVG content. Color values (HEX codes like #5B8DEF) and color names are rendering guidance only — do NOT display HEX codes, color names, or palette labels as visible text anywhere in the image. NO text of any kind anywhere in the image — no letters, numbers, signs, watermarks, labels, or written symbols.
**Alt Text**:
> Translucent glass pipes carrying glowing liquid light beneath floating frosted glass cubes
---
### Image 5: 07_context_sphere.png
| Attribute | Value |
|---|---|
| Purpose | Context engineering backdrop (Slide 07) — luminous knowledge sphere suspended in deep space (RAG metaphor) |
| Type | background |
| Aspect ratio | 16:9 |
| Image size | 2K |
| Status | Generated |
**Prompt**:
Modern glassmorphism aesthetic backdrop. Composition built on a single large luminous sphere of fine light filaments suspended in deep space, with smaller frosted glass shards in slow orbit around it — each shard reads as a sheet of polished glass with a thin 1px highlight stroke on its top-left edge and a soft drop shadow beneath (about 20% opacity, generous spread). The sphere itself is made of countless thin glowing threads woven into a translucent globe with slight chromatic aberration at its edge. Color behavior is tech-neon: deep-space navy #0A0E27 covers about 55% of the canvas as the dominant dark void; electric flow blue #5B8DEF saturates the sphere's main filament weave at roughly 28% with a strong 10%-opacity outer glow radiating outward; flow violet #A26BFA appears as the orbital glass shards' tint and the sphere's mid-zone gradient (about 12%); neon cyan #3DDDFC accents only the brightest filaments along the sphere's upper-right meridian and one streaking ray into the dark (under 5%). Atmospheric composition with the sphere positioned in the right third of the canvas so the left two-thirds remain a calm dark field for hub_spoke SVG overlay. Composed as a 1280×720 full-bleed PPT background for local use beneath SVG content. Color values (HEX codes like #5B8DEF) and color names are rendering guidance only — do NOT display HEX codes, color names, or palette labels as visible text anywhere in the image. NO text of any kind anywhere in the image — no letters, numbers, signs, watermarks, labels, or written symbols.
**Alt Text**:
> Luminous filament sphere in deep space with orbiting glass shards and radiating glow
---
### Image 6: 08_dashboard_bokeh.png
| Attribute | Value |
|---|---|
| Purpose | KPI dashboard backdrop (Slide 08) — out-of-focus neon bokeh suggesting an operations dashboard |
| Type | background |
| Aspect ratio | 16:9 |
| Image size | 2K |
| Status | Generated |
**Prompt**:
Modern glassmorphism aesthetic backdrop with strong baked-in depth-of-field blur. Composition built on rows of soft neon bokeh circles drifting in a deep-space field, with a few translucent frosted glass interface panels barely visible in the distant background — every panel reads as a sheet of polished glass with a thin 1px highlight stroke on its top-left edge and a soft drop shadow beneath (about 20% opacity, generous spread), but pushed well out of focus so individual UI details cannot be read. Color behavior is tech-neon: deep-space navy #0A0E27 covers about 58% of the canvas as the dominant dark backdrop; electric flow blue #5B8DEF saturates the largest bokeh circles in the lower band at roughly 25% with an 8%-opacity outer glow; flow violet #A26BFA appears as the mid-distance bokeh cluster and the distant panel tint (about 12%); neon cyan #3DDDFC accents only three or four sharper bokeh highlights along the upper edge (under 5%). Atmospheric composition with no central subject — bokeh circles are distributed along the lower and upper bands so the central band remains the calmest zone. The center 60% of the canvas is deliberately low-contrast and unbusy, designed to receive a 2×2 SVG KPI card grid overlaid on top. Composed as a 1280×720 full-bleed PPT background for local use beneath SVG content. Color values (HEX codes like #5B8DEF) and color names are rendering guidance only — do NOT display HEX codes, color names, or palette labels as visible text anywhere in the image. NO text of any kind anywhere in the image — no letters, numbers, signs, watermarks, labels, or written symbols — and no readable UI element such as bar charts, labels, sliders, or icons; everything in the image is out of focus.
**Alt Text**:
> Out of focus neon bokeh rows over deep space with hints of distant glass interface panels
---
### Image 7: 10_failure_glow.png
| Attribute | Value |
|---|---|
| Purpose | Failure modes backdrop (Slide 10) — warning-tinted atmosphere for the quadrant of Agent failure modes |
| Type | background |
| Aspect ratio | 16:9 |
| Image size | 2K |
| Status | Generated |
**Prompt**:
Modern glassmorphism aesthetic backdrop with a subdued warning tonality. Composition built on a deep-space field washed with neon pink and violet, scattered with a few fractured frosted glass shards suggesting subtle distortion — each shard reads as a sheet of polished glass with a thin 1px highlight stroke on its top-left edge and a soft drop shadow beneath (about 20% opacity, generous spread), with a hint of refraction and faint cracks. Color behavior is tech-neon with warning shift: deep-space navy #0A0E27 covers about 50% of the canvas as the dominant dark backdrop; warning neon pink #FB7185 appears as a soft tint wash across the lower band and the cracks on the foremost shard at roughly 22% with an 8%-opacity outer glow; flow violet #A26BFA appears as the secondary atmospheric haze in the upper third (about 18%); electric flow blue #5B8DEF and neon cyan #3DDDFC together hold only the high-rim light on one or two shards (under 10% combined). Atmospheric composition with no central subject — fractured shards drift toward the corners, leaving the center calm. The center 60% of the canvas is deliberately low-contrast and unbusy, designed to receive a 2×2 SVG quadrant text-bullet layout overlaid on top. Composed as a 1280×720 full-bleed PPT background for local use beneath SVG content. Color values (HEX codes like #FB7185) and color names are rendering guidance only — do NOT display HEX codes, color names, or palette labels as visible text anywhere in the image. NO text of any kind anywhere in the image — no letters, numbers, signs, watermarks, labels, or written symbols.
**Alt Text**:
> Dark space backdrop tinted with neon pink and violet, scattered fractured glass shards with faint cracks
---
### Image 8: 12_cta_horizon.png
| Attribute | Value |
|---|---|
| Purpose | Closing CTA background (Slide 12) — distant glowing horizon with floating glass platforms drifting toward the light |
| Type | background |
| Aspect ratio | 16:9 |
| Image size | 2K |
| Status | Generated |
**Prompt**:
Modern glassmorphism aesthetic. Composition built on a wide distant horizon at the dawn of a data era, with several layered frosted glass platforms drifting slowly toward the light — each platform reads as a sheet of polished glass with a thin 1px highlight stroke on its top-left edge and a soft drop shadow beneath (about 25% opacity, generous spread) creating real depth. Soft particulate atmosphere fills the negative space like quiet glowing dust. Color behavior is tech-neon: deep-space navy #0A0E27 covers the upper half of the canvas at about 50% as the still-dark sky; electric flow blue #5B8DEF saturates the mid-horizon glow and the closest glass platform's interior tint at roughly 25% with a 10%-opacity outer glow that radiates outward into the dust; flow violet #A26BFA appears as the warm horizon gradient transitioning from navy down to a softer band (about 15%); neon cyan #3DDDFC accents only the top edges of the closest platform and one streaking ray rising from the horizon (under 5%). Atmospheric composition with the brightest zone gathered at the lower-middle horizon, leaving the upper 60% of the canvas calm and dark for hero CTA title overlay in SVG. Composed as a 1280×720 full-bleed PPT closing background for hero_page use. Color values (HEX codes like #5B8DEF) and color names are rendering guidance only — do NOT display HEX codes, color names, or palette labels as visible text anywhere in the image. NO text of any kind anywhere in the image — no letters, numbers, signs, watermarks, labels, or written symbols.
**Alt Text**:
> Distant glowing horizon with floating glass platforms drifting toward dawn light
---

View File

@@ -0,0 +1 @@
大家好,欢迎来到这次技术分享。今天的主题是 AI Agent 工程化与落地——也就是说,我们不聊新模型,不聊新论文,专门聊一件事:怎么把那些跑得动 Demo 的 Agent真正搬进生产环境里。

View File

@@ -0,0 +1 @@
先抛一个让人有点不舒服的事实。在我和很多团队的交流里,大约九成的 Agent 项目最后都停在了 Demo 阶段。原因不是模型不够强也不是想法不够好而是要进生产需要跨过四道工程化门槛——架构、上下文、评估、可观测。这四件事一件没做Demo 就永远只能是 Demo。

View File

@@ -0,0 +1 @@
第一道是性能不稳定多步推理一叠加每一步五到十个百分点的抖动累计起来整体成功率就会断崖式下滑P95 延迟更是常常翻五到十倍。第二道是成本不可预测,同一个任务在不同上下文长度下,单次 token 消耗能漂移五到五十倍,长尾任务尤其会吞掉预算。第三道是质量难闭环,失败原因是模型问题、提示词问题、还是数据问题往往说不清楚,回归测试也没有,一改 prompt 就提心吊胆。这三道门槛,是绝大多数项目都会先撞上的。

View File

@@ -0,0 +1 @@
接下来我们看一下 Agent 的标准骨架。基本上可以分成四层。最上面是感知层,负责输入解析、多模态融合、上下文窗口管理。第二层是推理层,承担 Plan、ReAct、Tree-of-Thought、Reflection 这些决策范式。第三层是行动层把模型的决策落到工具调用、函数执行、API 编排上。最下面是记忆层,包括短期上下文、长期向量库和任务级缓存。每一层都有自己的工程化坑,但只要框架对了,每一层都能独立打磨和替换。

View File

@@ -0,0 +1 @@
理解了四层骨架之后下一个常见问题是到底用哪种模式。简单说有三种。Workflow 是路径固定的 DAGLLM 只负责填空可预测、好调试适合确定性任务。Agent 是路径动态的运行时让模型自己决定下一步最常用、也是大部分项目真正在做的事适合半结构化的探索类任务。Multi-Agent 是多角色协作,把 Planner、Critic、Worker 拆开并发协作,灵活性最高,但复杂度也最高,只在真正需要长程任务的时候用。绝大多数生产场景,从 Agent 开始就够了。

View File

@@ -0,0 +1 @@
把模式确定下来之后,最先开始做的就是工具编排。一个稳定的工具调用大致是六步:先解析任务、再选工具、然后调用执行、接着验证返回、必要时重试或回退、最后做结果汇总。每一步都要可观测,每一步都要有兜底。最常见的翻车点不在第一步而在第四步——大家往往拿到工具返回就直接喂给模型,缺了 schema 验证和业务规则校验,幻觉就是从这里漏进来的。

View File

@@ -0,0 +1 @@
讲完工具,下面这页是我个人觉得最重要的一页:上下文工程。模型每天都在变,提示词也每天都在调,但真正决定一个 Agent 智不智能的,是它每一步看到了什么——也就是上下文。围绕这一个核心,至少要做好六件事:检索要稳,重排要准,截断要会取舍,记忆要分长短期,工具说明要够具体,系统提示要把人设、输出格式、安全规则都讲清楚。上下文工程做不好,模型再强也救不回来。

View File

@@ -0,0 +1 @@
接下来切到运营视角。要上生产,你必须给自己装上四块表盘。第一块是任务成功率,目前这套系统跑到了百分之九十二点四,还在每周提升三个百分点。第二块是 P95 延迟,从初版的十一秒多,收敛到了四点八秒。第三块是单次任务成本,做了模型分级路由和检索结果缓存之后,单次成本压到了四毛二。第四块是三十天 SLO 达成率,靠多模型 fallback 兜住了上游事故,目前在百分之九十九点七。这四个数没有,就别谈上生产。

View File

@@ -0,0 +1 @@
把这四个指标拉成时间轴,就能看到一条很真实的曲线。绿色是任务成功率,从最早的百分之七十一,一路爬到了百分之九十二点四。红色是单次成本,从一块二降到了四毛二。最关键的三个拐点都标在图上:第四周引入了 reranker准确率跳了一档第八周引入了 fallback长尾任务的成本和失败率一起被压下来第十一周引入了结果缓存成本下了最大的一刀。每一次提升的背后都对应一个具体的工程动作不是靠运气也不是靠换模型。

View File

@@ -0,0 +1 @@
聊一聊会遇到的失败。大致可以分到四个象限。左上是高频浅层的工具错误schema 不匹配、参数幻觉、超时无回退这一类靠提前校验就能挡住。左下是低频但麻烦的死循环反思链路没有终止条件Plan 反反复复改,必须设硬性停机条件。右下是更难处理的幻觉,编造工具、编造结果,甚至假装成功,这一类只能靠 Grounding让每一步都对接真实数据源。右上是隐蔽的成本失控Token 漂移、重复检索、链路套娃,必须做计量和上限。预案的关键,是分类别准备,不是事后扑火。

View File

@@ -0,0 +1 @@
把这些东西整合起来,给一个十二周可执行的落地路线。第一阶段是前三周,跑通最小可用的原型,金标准 case 通过率到八成以上,再进下一阶段。第二阶段是第四到第七周,把评估集铺到一百条以上,自动回归点亮绿灯,重试和降级机制全部上。第三阶段是第八到第十周,规模化,加缓存、加限流、做多租户隔离、做模型分级路由。第四阶段是第十一到第十二周,灰度上线,从百分之一到百分之十再到全量,盯住 SLO让飞轮真正转起来。每个阶段都要有"通关"硬指标,否则就只是在赶进度。

View File

@@ -0,0 +1 @@
最后总结一句话。所谓的 Agent 工程化,不是给系统里加一个 LLM 就完事了,而是把 LLM 真正装进一个有架构、有上下文、有评估、有可观测的工程系统里。这四件事一起做Agent 才能从 Demo 走到生产。希望今天分享的这套框架,能帮到正在路上的你。谢谢大家。

View File

@@ -0,0 +1,69 @@
# 01_cover
大家好,欢迎来到这次技术分享。今天的主题是 AI Agent 工程化与落地——也就是说,我们不聊新模型,不聊新论文,专门聊一件事:怎么把那些跑得动 Demo 的 Agent真正搬进生产环境里。
---
# 02_hero_demo_to_prod
先抛一个让人有点不舒服的事实。在我和很多团队的交流里,大约九成的 Agent 项目最后都停在了 Demo 阶段。原因不是模型不够强也不是想法不够好而是要进生产需要跨过四道工程化门槛——架构、上下文、评估、可观测。这四件事一件没做Demo 就永远只能是 Demo。
---
# 03_three_pains
第一道是性能不稳定多步推理一叠加每一步五到十个百分点的抖动累计起来整体成功率就会断崖式下滑P95 延迟更是常常翻五到十倍。第二道是成本不可预测,同一个任务在不同上下文长度下,单次 token 消耗能漂移五到五十倍,长尾任务尤其会吞掉预算。第三道是质量难闭环,失败原因是模型问题、提示词问题、还是数据问题往往说不清楚,回归测试也没有,一改 prompt 就提心吊胆。这三道门槛,是绝大多数项目都会先撞上的。
---
# 04_agent_architecture
接下来我们看一下 Agent 的标准骨架。基本上可以分成四层。最上面是感知层,负责输入解析、多模态融合、上下文窗口管理。第二层是推理层,承担 Plan、ReAct、Tree-of-Thought、Reflection 这些决策范式。第三层是行动层把模型的决策落到工具调用、函数执行、API 编排上。最下面是记忆层,包括短期上下文、长期向量库和任务级缓存。每一层都有自己的工程化坑,但只要框架对了,每一层都能独立打磨和替换。
---
# 05_three_modes
理解了四层骨架之后下一个常见问题是到底用哪种模式。简单说有三种。Workflow 是路径固定的 DAGLLM 只负责填空可预测、好调试适合确定性任务。Agent 是路径动态的运行时让模型自己决定下一步最常用、也是大部分项目真正在做的事适合半结构化的探索类任务。Multi-Agent 是多角色协作,把 Planner、Critic、Worker 拆开并发协作,灵活性最高,但复杂度也最高,只在真正需要长程任务的时候用。绝大多数生产场景,从 Agent 开始就够了。
---
# 06_tool_orchestration
把模式确定下来之后,最先开始做的就是工具编排。一个稳定的工具调用大致是六步:先解析任务、再选工具、然后调用执行、接着验证返回、必要时重试或回退、最后做结果汇总。每一步都要可观测,每一步都要有兜底。最常见的翻车点不在第一步而在第四步——大家往往拿到工具返回就直接喂给模型,缺了 schema 验证和业务规则校验,幻觉就是从这里漏进来的。
---
# 07_context_engineering
讲完工具,下面这页是我个人觉得最重要的一页:上下文工程。模型每天都在变,提示词也每天都在调,但真正决定一个 Agent 智不智能的,是它每一步看到了什么——也就是上下文。围绕这一个核心,至少要做好六件事:检索要稳,重排要准,截断要会取舍,记忆要分长短期,工具说明要够具体,系统提示要把人设、输出格式、安全规则都讲清楚。上下文工程做不好,模型再强也救不回来。
---
# 08_kpi_dashboard
接下来切到运营视角。要上生产,你必须给自己装上四块表盘。第一块是任务成功率,目前这套系统跑到了百分之九十二点四,还在每周提升三个百分点。第二块是 P95 延迟,从初版的十一秒多,收敛到了四点八秒。第三块是单次任务成本,做了模型分级路由和检索结果缓存之后,单次成本压到了四毛二。第四块是三十天 SLO 达成率,靠多模型 fallback 兜住了上游事故,目前在百分之九十九点七。这四个数没有,就别谈上生产。
---
# 09_metrics_trend
把这四个指标拉成时间轴,就能看到一条很真实的曲线。绿色是任务成功率,从最早的百分之七十一,一路爬到了百分之九十二点四。红色是单次成本,从一块二降到了四毛二。最关键的三个拐点都标在图上:第四周引入了 reranker准确率跳了一档第八周引入了 fallback长尾任务的成本和失败率一起被压下来第十一周引入了结果缓存成本下了最大的一刀。每一次提升的背后都对应一个具体的工程动作不是靠运气也不是靠换模型。
---
# 10_failure_modes
聊一聊会遇到的失败。大致可以分到四个象限。左上是高频浅层的工具错误schema 不匹配、参数幻觉、超时无回退这一类靠提前校验就能挡住。左下是低频但麻烦的死循环反思链路没有终止条件Plan 反反复复改,必须设硬性停机条件。右下是更难处理的幻觉,编造工具、编造结果,甚至假装成功,这一类只能靠 Grounding让每一步都对接真实数据源。右上是隐蔽的成本失控Token 漂移、重复检索、链路套娃,必须做计量和上限。预案的关键,是分类别准备,不是事后扑火。
---
# 11_roadmap
把这些东西整合起来,给一个十二周可执行的落地路线。第一阶段是前三周,跑通最小可用的原型,金标准 case 通过率到八成以上,再进下一阶段。第二阶段是第四到第七周,把评估集铺到一百条以上,自动回归点亮绿灯,重试和降级机制全部上。第三阶段是第八到第十周,规模化,加缓存、加限流、做多租户隔离、做模型分级路由。第四阶段是第十一到第十二周,灰度上线,从百分之一到百分之十再到全量,盯住 SLO让飞轮真正转起来。每个阶段都要有"通关"硬指标,否则就只是在赶进度。
---
# 12_cta_closing
最后总结一句话。所谓的 Agent 工程化,不是给系统里加一个 LLM 就完事了,而是把 LLM 真正装进一个有架构、有上下文、有评估、有可观测的工程系统里。这四件事一起做Agent 才能从 Demo 走到生产。希望今天分享的这套框架,能帮到正在路上的你。谢谢大家。

View File

@@ -0,0 +1,82 @@
# Execution Lock
## canvas
- viewBox: 0 0 1280 720
- format: PPT 16:9
## colors
- bg: #0A0E27
- bg_secondary: #1A2150
- primary: #5B8DEF
- accent: #A26BFA
- secondary_accent: #3DDDFC
- text: #E8ECFF
- text_secondary: #A8B0D0
- text_tertiary: #6B7299
- border: #2E3672
- success: #4ADE80
- warning: #FB7185
- amber: #F59E0B
- glass_highlight: #FFFFFF
- image_rendering: glassmorphism
- image_palette: tech-neon
## typography
- font_family: "Microsoft YaHei", "PingFang SC", Arial, sans-serif
- title_family: "Microsoft YaHei", "PingFang SC", sans-serif
- body_family: "Microsoft YaHei", "PingFang SC", Arial, sans-serif
- code_family: Consolas, "Courier New", monospace
- body: 20
- title: 36
- subtitle: 26
- cover_title: 80
- chapter_title: 48
- hero_number: 40
- annotation: 15
- footnote: 12
## icons
- library: phosphor-duotone
- inventory: gauge, coin, bug, eye, brain, lightning, database, flow-arrow, robot, users-three, magnifying-glass, target, plug, check-circle, arrows-clockwise, stack, cube, funnel, scales, gear, code-block, shield-check, sparkle, crosshair, gear-six, chart-line-up, rocket, handshake
## images
- 01_cover_aurora: images/01_cover_aurora.png
- 02_hero_transition: images/02_hero_transition.png
- 04_agent_topology: images/04_agent_topology.png
- 06_pipeline_flow: images/06_pipeline_flow.png
- 07_context_sphere: images/07_context_sphere.png
- 08_dashboard_bokeh: images/08_dashboard_bokeh.png
- 10_failure_glow: images/10_failure_glow.png
- 12_cta_horizon: images/12_cta_horizon.png
## page_rhythm
- P01: anchor
- P02: breathing
- P03: dense
- P04: dense
- P05: dense
- P06: dense
- P07: dense
- P08: dense
- P09: dense
- P10: dense
- P11: dense
- P12: breathing
## page_charts
- P03: vertical_pillars
- P04: layered_architecture
- P05: comparison_columns
- P06: numbered_steps
- P07: hub_spoke
- P08: kpi_cards
- P09: line_chart
- P10: quadrant_text_bullets
- P11: roadmap_vertical
## forbidden
- Mixing icon libraries
- rgba()
- `<style>`, `class`, `<foreignObject>`, `textPath`, `@font-face`, `<animate*>`, `<script>`, `<iframe>`, `<symbol>`+`<use>`
- `<g opacity>` (set opacity on each child element individually)
- HTML named entities in text — write raw Unicode; XML reserved chars escape as `&amp; &lt; &gt; &quot; &apos;`

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.3 MiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.1 MiB

View File

@@ -0,0 +1,127 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
<defs>
<linearGradient id="titleGradient" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#5B8DEF" />
<stop offset="50%" stop-color="#A26BFA" />
<stop offset="100%" stop-color="#3DDDFC" />
</linearGradient>
<radialGradient id="bgGlowA" cx="20%" cy="15%" r="55%">
<stop offset="0%" stop-color="#5B8DEF" stop-opacity="0.22" />
<stop offset="100%" stop-color="#5B8DEF" stop-opacity="0" />
</radialGradient>
<radialGradient id="bgGlowB" cx="85%" cy="80%" r="55%">
<stop offset="0%" stop-color="#A26BFA" stop-opacity="0.18" />
<stop offset="100%" stop-color="#A26BFA" stop-opacity="0" />
</radialGradient>
<linearGradient id="pillarGlass" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#1A2150" stop-opacity="0.7" />
<stop offset="100%" stop-color="#1A2150" stop-opacity="0.35" />
</linearGradient>
<linearGradient id="headBlue" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#5B8DEF" stop-opacity="0.85" />
<stop offset="100%" stop-color="#5B8DEF" stop-opacity="0.4" />
</linearGradient>
<linearGradient id="headPurple" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#A26BFA" stop-opacity="0.85" />
<stop offset="100%" stop-color="#A26BFA" stop-opacity="0.4" />
</linearGradient>
<linearGradient id="headPink" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#FB7185" stop-opacity="0.85" />
<stop offset="100%" stop-color="#FB7185" stop-opacity="0.4" />
</linearGradient>
<linearGradient id="glassEdge" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#FFFFFF" stop-opacity="0" />
<stop offset="50%" stop-color="#FFFFFF" stop-opacity="0.35" />
<stop offset="100%" stop-color="#FFFFFF" stop-opacity="0" />
</linearGradient>
</defs>
<g id="bg">
<rect width="1280" height="720" fill="#0A0E27" />
<rect width="1280" height="720" fill="url(#bgGlowA)" />
<rect width="1280" height="720" fill="url(#bgGlowB)" />
</g>
<g id="header">
<path fill="url(#titleGradient)" d="M63,58 H63 A3,3 0 0 1 66,61 V87 A3,3 0 0 1 63,90 H63 A3,3 0 0 1 60,87 V61 A3,3 0 0 1 63,58 Z" />
<text x="80" y="84" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="34" font-weight="900" fill="#E8ECFF">三道阻碍 Agent 落地的现实门槛</text>
<text x="80" y="116" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="600" fill="#A8B0D0" letter-spacing="3">PERFORMANCE · COST · QUALITY — THREE BARRIERS BETWEEN DEMO AND PRODUCTION</text>
</g>
<g id="pillar-perf">
<path fill="url(#pillarGlass)" stroke="#FFFFFF" stroke-opacity="0.16" stroke-width="1" d="M98,160 H432 A18,18 0 0 1 450,178 V632 A18,18 0 0 1 432,650 H98 A18,18 0 0 1 80,632 V178 A18,18 0 0 1 98,160 Z" />
<rect x="98" y="161" width="334" height="1" fill="url(#glassEdge)" />
<path d="M 98 160 h 334 a 18 18 0 0 1 18 18 v 110 h -370 v -110 a 18 18 0 0 1 18 -18 Z" fill="url(#headBlue)" />
<circle cx="160" cy="220" r="32" fill="#0A0E27" fill-opacity="0.55" />
<g transform="translate(136.0, 196.0) scale(0.1875)" fill="#3DDDFC">
<path d="M232,160v24a8,8,0,0,1-8,8H32a8,8,0,0,1-8-8V161.13C24,103.65,70.15,56.2,127.63,56A104,104,0,0,1,232,160Z" opacity="0.2" />
<path d="M207.06,80.67A111.24,111.24,0,0,0,128,48h-.4C66.07,48.21,16,99,16,161.13V184a16,16,0,0,0,16,16H224a16,16,0,0,0,16-16V160A111.25,111.25,0,0,0,207.06,80.67ZM224,184H119.71l54.76-75.3a8,8,0,0,0-12.94-9.42L99.92,184H32V161.13c0-3.08.15-6.12.43-9.13H56a8,8,0,0,0,0-16H35.27c10.32-38.86,44-68.24,84.73-71.66V88a8,8,0,0,0,16,0V64.33A96.14,96.14,0,0,1,221,136H200a8,8,0,0,0,0,16h23.67c.21,2.65.33,5.31.33,8Z" />
</g>
<text x="208" y="208" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="700" fill="#E8ECFF" letter-spacing="3">PERFORMANCE</text>
<text x="208" y="240" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="26" font-weight="900" fill="#FFFFFF">性能不稳定</text>
<line x1="100" y1="320" x2="430" y2="320" stroke="#FFFFFF" stroke-opacity="0.16" stroke-width="1" />
<text x="100" y="362" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="20" font-weight="700" fill="#E8ECFF">多步推理累积误差</text>
<text x="100" y="394" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="400" fill="#A8B0D0">每一步 LLM 调用都有 5-10% 抖动,</text>
<text x="100" y="416" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="400" fill="#A8B0D0">叠加后总成功率断崖式下滑。</text>
<text x="100" y="464" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="20" font-weight="700" fill="#E8ECFF">P95 延迟失控</text>
<text x="100" y="496" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="400" fill="#A8B0D0">链式调用让 P50 看似可控,</text>
<text x="100" y="518" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="400" fill="#A8B0D0">P95 / P99 翻 5-10 倍。</text>
<path fill="#5B8DEF" fill-opacity="0.18" stroke="#5B8DEF" stroke-opacity="0.5" stroke-width="1" d="M112,568 H418 A12,12 0 0 1 430,580 V618 A12,12 0 0 1 418,630 H112 A12,12 0 0 1 100,618 V580 A12,12 0 0 1 112,568 Z" />
<text x="116" y="595" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#A8B0D0" letter-spacing="2">P95 / P50 RATIO</text>
<text x="416" y="610" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="28" font-weight="900" fill="#3DDDFC" text-anchor="end">5-10×</text>
</g>
<g id="pillar-cost">
<path fill="url(#pillarGlass)" stroke="#FFFFFF" stroke-opacity="0.16" stroke-width="1" d="M480,160 H814 A18,18 0 0 1 832,178 V632 A18,18 0 0 1 814,650 H480 A18,18 0 0 1 462,632 V178 A18,18 0 0 1 480,160 Z" />
<rect x="480" y="161" width="334" height="1" fill="url(#glassEdge)" />
<path d="M 480 160 h 334 a 18 18 0 0 1 18 18 v 110 h -370 v -110 a 18 18 0 0 1 18 -18 Z" fill="url(#headPurple)" />
<circle cx="542" cy="220" r="32" fill="#0A0E27" fill-opacity="0.55" />
<g transform="translate(518.0, 196.0) scale(0.1875)" fill="#3DDDFC">
<path d="M232,104c0,24-40,48-104,48S24,128,24,104,64,56,128,56,232,80,232,104Z" opacity="0.2" />
<path d="M207.58,63.84C186.85,53.48,159.33,48,128,48S69.15,53.48,48.42,63.84,16,88.78,16,104v48c0,15.22,11.82,29.85,32.42,40.16S96.67,208,128,208s58.85-5.48,79.58-15.84S240,167.22,240,152V104C240,88.78,228.18,74.15,207.58,63.84ZM128,64c62.64,0,96,23.23,96,40s-33.36,40-96,40-96-23.23-96-40S65.36,64,128,64Zm-8,95.86v32c-19-.62-35-3.42-48-7.49V153.05A203.43,203.43,0,0,0,120,159.86Zm16,0a203.43,203.43,0,0,0,48-6.81v31.31c-13,4.07-29,6.87-48,7.49ZM32,152V133.53a82.88,82.88,0,0,0,16.42,10.63c2.43,1.21,5,2.35,7.58,3.43V178C40.17,170.16,32,160.29,32,152Zm168,26V147.59c2.61-1.08,5.15-2.22,7.58-3.43A82.88,82.88,0,0,0,224,133.53V152C224,160.29,215.83,170.16,200,178Z" />
</g>
<text x="590" y="208" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="700" fill="#E8ECFF" letter-spacing="3">COST</text>
<text x="590" y="240" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="26" font-weight="900" fill="#FFFFFF">成本不可预测</text>
<line x1="482" y1="320" x2="812" y2="320" stroke="#FFFFFF" stroke-opacity="0.16" stroke-width="1" />
<text x="482" y="362" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="20" font-weight="700" fill="#E8ECFF">Token 漂移 5-50 倍</text>
<text x="482" y="394" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="400" fill="#A8B0D0">同一任务,不同上下文长度、</text>
<text x="482" y="416" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="400" fill="#A8B0D0">检索条数、循环深度,价格分布极宽。</text>
<text x="482" y="464" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="20" font-weight="700" fill="#E8ECFF">长尾任务吞掉预算</text>
<text x="482" y="496" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="400" fill="#A8B0D0">5% 的疑难任务,</text>
<text x="482" y="518" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="400" fill="#A8B0D0">常常消耗 50% 以上的 token。</text>
<path fill="#A26BFA" fill-opacity="0.18" stroke="#A26BFA" stroke-opacity="0.5" stroke-width="1" d="M494,568 H800 A12,12 0 0 1 812,580 V618 A12,12 0 0 1 800,630 H494 A12,12 0 0 1 482,618 V580 A12,12 0 0 1 494,568 Z" />
<text x="498" y="595" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#A8B0D0" letter-spacing="2">COST DRIFT RANGE</text>
<text x="798" y="610" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="28" font-weight="900" fill="#A26BFA" text-anchor="end">5-50×</text>
</g>
<g id="pillar-quality">
<path fill="url(#pillarGlass)" stroke="#FFFFFF" stroke-opacity="0.16" stroke-width="1" d="M862,160 H1196 A18,18 0 0 1 1214,178 V632 A18,18 0 0 1 1196,650 H862 A18,18 0 0 1 844,632 V178 A18,18 0 0 1 862,160 Z" />
<rect x="862" y="161" width="334" height="1" fill="url(#glassEdge)" />
<path d="M 862 160 h 334 a 18 18 0 0 1 18 18 v 110 h -370 v -110 a 18 18 0 0 1 18 -18 Z" fill="url(#headPink)" />
<circle cx="924" cy="220" r="32" fill="#0A0E27" fill-opacity="0.55" />
<g transform="translate(900.0, 196.0) scale(0.1875)" fill="#3DDDFC">
<path d="M208,128v16a80,80,0,0,1-160,0V128Z" opacity="0.2" />
<path d="M144,92a12,12,0,1,1,12,12A12,12,0,0,1,144,92ZM100,80a12,12,0,1,0,12,12A12,12,0,0,0,100,80Zm116,64A87.76,87.76,0,0,1,213,167l22.24,9.72A8,8,0,0,1,232,192a7.89,7.89,0,0,1-3.2-.67L207.38,182a88,88,0,0,1-158.76,0L27.2,191.33A7.89,7.89,0,0,1,24,192a8,8,0,0,1-3.2-15.33L43,167A87.76,87.76,0,0,1,40,144v-8H16a8,8,0,0,1,0-16H40v-8a87.76,87.76,0,0,1,3-23L20.8,79.33a8,8,0,1,1,6.4-14.66L48.62,74a88,88,0,0,1,158.76,0l21.42-9.36a8,8,0,0,1,6.4,14.66L213,89.05a87.76,87.76,0,0,1,3,23v8h24a8,8,0,0,1,0,16H216ZM56,120H200v-8a72,72,0,0,0-144,0Zm64,95.54V136H56v8A72.08,72.08,0,0,0,120,215.54ZM200,144v-8H136v79.54A72.08,72.08,0,0,0,200,144Z" />
</g>
<text x="972" y="208" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="700" fill="#E8ECFF" letter-spacing="3">QUALITY</text>
<text x="972" y="240" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="26" font-weight="900" fill="#FFFFFF">质量难闭环</text>
<line x1="864" y1="320" x2="1194" y2="320" stroke="#FFFFFF" stroke-opacity="0.16" stroke-width="1" />
<text x="864" y="362" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="20" font-weight="700" fill="#E8ECFF">失败原因模糊</text>
<text x="864" y="394" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="400" fill="#A8B0D0">是模型、提示词、工具,还是数据问题?</text>
<text x="864" y="416" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="400" fill="#A8B0D0">没有可观测层很难定位。</text>
<text x="864" y="464" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="20" font-weight="700" fill="#E8ECFF">回归测试缺失</text>
<text x="864" y="496" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="400" fill="#A8B0D0">改一个 prompt,就要担心</text>
<text x="864" y="518" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="400" fill="#A8B0D0">十个老 case 是否回退。</text>
<path fill="#FB7185" fill-opacity="0.18" stroke="#FB7185" stroke-opacity="0.5" stroke-width="1" d="M876,568 H1182 A12,12 0 0 1 1194,580 V618 A12,12 0 0 1 1182,630 H876 A12,12 0 0 1 864,618 V580 A12,12 0 0 1 876,568 Z" />
<text x="880" y="595" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#A8B0D0" letter-spacing="2">DEBUG CYCLE COST</text>
<text x="1180" y="610" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="28" font-weight="900" fill="#FB7185" text-anchor="end">3-7 天</text>
</g>
<g id="footer">
<text x="60" y="690" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#6B7299">现状 · 三大门槛</text>
<text x="1220" y="690" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#6B7299" text-anchor="end">03 / 12</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.2 MiB

View File

@@ -0,0 +1,151 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
<defs>
<linearGradient id="titleGradient" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#5B8DEF" />
<stop offset="50%" stop-color="#A26BFA" />
<stop offset="100%" stop-color="#3DDDFC" />
</linearGradient>
<radialGradient id="bgGlowL" cx="10%" cy="50%" r="55%">
<stop offset="0%" stop-color="#5B8DEF" stop-opacity="0.18" />
<stop offset="100%" stop-color="#5B8DEF" stop-opacity="0" />
</radialGradient>
<radialGradient id="bgGlowC" cx="50%" cy="55%" r="50%">
<stop offset="0%" stop-color="#A26BFA" stop-opacity="0.22" />
<stop offset="100%" stop-color="#A26BFA" stop-opacity="0" />
</radialGradient>
<radialGradient id="bgGlowR" cx="90%" cy="50%" r="55%">
<stop offset="0%" stop-color="#3DDDFC" stop-opacity="0.18" />
<stop offset="100%" stop-color="#3DDDFC" stop-opacity="0" />
</radialGradient>
<linearGradient id="cardGlass" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#1A2150" stop-opacity="0.78" />
<stop offset="100%" stop-color="#1A2150" stop-opacity="0.4" />
</linearGradient>
<linearGradient id="cardGlassHi" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#A26BFA" stop-opacity="0.32" />
<stop offset="50%" stop-color="#5B8DEF" stop-opacity="0.22" />
<stop offset="100%" stop-color="#A26BFA" stop-opacity="0.32" />
</linearGradient>
<linearGradient id="headBlue" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#5B8DEF" stop-opacity="0.82" />
<stop offset="100%" stop-color="#5B8DEF" stop-opacity="0.32" />
</linearGradient>
<linearGradient id="headPurple" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#A26BFA" stop-opacity="0.95" />
<stop offset="100%" stop-color="#5B8DEF" stop-opacity="0.7" />
</linearGradient>
<linearGradient id="headCyan" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#3DDDFC" stop-opacity="0.78" />
<stop offset="100%" stop-color="#3DDDFC" stop-opacity="0.3" />
</linearGradient>
<linearGradient id="glassEdge" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#FFFFFF" stop-opacity="0" />
<stop offset="50%" stop-color="#FFFFFF" stop-opacity="0.4" />
<stop offset="100%" stop-color="#FFFFFF" stop-opacity="0" />
</linearGradient>
</defs>
<g id="bg">
<rect width="1280" height="720" fill="#0A0E27" />
<rect width="1280" height="720" fill="url(#bgGlowL)" />
<rect width="1280" height="720" fill="url(#bgGlowC)" />
<rect width="1280" height="720" fill="url(#bgGlowR)" />
</g>
<g id="header">
<text x="640" y="68" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="700" fill="#3DDDFC" letter-spacing="4" text-anchor="middle">CHOOSING THE RIGHT PATTERN</text>
<text x="640" y="112" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="34" font-weight="900" fill="#E8ECFF" text-anchor="middle">Workflow · Agent · Multi-Agent — 选哪种?</text>
<text x="640" y="142" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="400" fill="#A8B0D0" text-anchor="middle">三种主流模式按"路径确定性"递增 — 灵活性越高,工程化代价越大</text>
</g>
<g id="card-workflow">
<path fill="url(#cardGlass)" stroke="#FFFFFF" stroke-opacity="0.16" stroke-width="1" d="M100,180 H430 A20,20 0 0 1 450,200 V650 A20,20 0 0 1 430,670 H100 A20,20 0 0 1 80,650 V200 A20,20 0 0 1 100,180 Z" />
<rect x="98" y="181" width="334" height="1" fill="url(#glassEdge)" />
<path d="M 100 180 h 330 a 20 20 0 0 1 20 20 v 100 h -370 v -100 a 20 20 0 0 1 20 -20 Z" fill="url(#headBlue)" />
<g transform="translate(116.0, 208.0) scale(0.15625)" fill="#E8ECFF">
<path d="M80,176a32,32,0,1,1-32-32A32,32,0,0,1,80,176Z" opacity="0.2" />
<path d="M245.66,74.34l-32-32a8,8,0,0,0-11.32,11.32L220.69,72H192a74.49,74.49,0,0,0-28.35,6.73c-13.62,6.29-30.83,19.71-35.54,48-5.32,31.93-29.1,39.22-41,40.86a40,40,0,1,0,.18,16.06A71.65,71.65,0,0,0,108.13,178C121.75,172,139,158.6,143.89,129.31,150.65,88.77,190.34,88,192,88h28.69l-18.35,18.34a8,8,0,0,0,11.32,11.32l32-32A8,8,0,0,0,245.66,74.34ZM48,200a24,24,0,1,1,24-24A24,24,0,0,1,48,200Z" />
</g>
<text x="266" y="226" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="700" fill="#E8ECFF" letter-spacing="3" text-anchor="middle">PATTERN A</text>
<text x="266" y="266" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="28" font-weight="900" fill="#FFFFFF" text-anchor="middle">Workflow</text>
<text x="266" y="328" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="600" fill="#3DDDFC" letter-spacing="2" text-anchor="middle">DETERMINISTIC</text>
<line x1="120" y1="356" x2="412" y2="356" stroke="#FFFFFF" stroke-opacity="0.14" />
<g id="wf-feat">
<circle cx="116" cy="395" r="4" fill="#5B8DEF" />
<text x="132" y="400" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="16" font-weight="700" fill="#E8ECFF">路径固定</text>
<text x="132" y="422" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0">DAG 编排,LLM 只填空</text>
<circle cx="116" cy="465" r="4" fill="#5B8DEF" />
<text x="132" y="470" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="16" font-weight="700" fill="#E8ECFF">可预测</text>
<text x="132" y="492" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0">每一步成本、延迟可量化</text>
<circle cx="116" cy="535" r="4" fill="#5B8DEF" />
<text x="132" y="540" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="16" font-weight="700" fill="#E8ECFF">易调试</text>
<text x="132" y="562" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0">问题定位精确到节点</text>
</g>
<path fill="#5B8DEF" fill-opacity="0.15" stroke="#5B8DEF" stroke-opacity="0.5" stroke-width="1" d="M130,600 H402 A10,10 0 0 1 412,610 V636 A10,10 0 0 1 402,646 H130 A10,10 0 0 1 120,636 V610 A10,10 0 0 1 130,600 Z" />
<text x="266" y="630" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="700" fill="#3DDDFC" text-anchor="middle">适合确定性任务</text>
</g>
<g id="card-agent">
<path fill="url(#cardGlassHi)" stroke="#A26BFA" stroke-opacity="0.75" stroke-width="1.5" d="M490,170 H820 A20,20 0 0 1 840,190 V660 A20,20 0 0 1 820,680 H490 A20,20 0 0 1 470,660 V190 A20,20 0 0 1 490,170 Z" />
<rect x="488" y="171" width="334" height="1" fill="url(#glassEdge)" />
<path d="M 490 170 h 330 a 20 20 0 0 1 20 20 v 110 h -370 v -110 a 20 20 0 0 1 20 -20 Z" fill="url(#headPurple)" />
<path fill="#3DDDFC" d="M602,148 H708 A14,14 0 0 1 722,162 V162 A14,14 0 0 1 708,176 H602 A14,14 0 0 1 588,162 V162 A14,14 0 0 1 602,148 Z" />
<text x="655" y="167" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="900" fill="#0A0E27" letter-spacing="2" text-anchor="middle">MOST COMMON</text>
<g transform="translate(506.0, 208.0) scale(0.1875)" fill="#E8ECFF">
<path d="M200,56H56A24,24,0,0,0,32,80V192a24,24,0,0,0,24,24H200a24,24,0,0,0,24-24V80A24,24,0,0,0,200,56ZM164,184H92a20,20,0,0,1,0-40h72a20,20,0,0,1,0,40Z" opacity="0.2" />
<path d="M200,48H136V16a8,8,0,0,0-16,0V48H56A32,32,0,0,0,24,80V192a32,32,0,0,0,32,32H200a32,32,0,0,0,32-32V80A32,32,0,0,0,200,48Zm16,144a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V80A16,16,0,0,1,56,64H200a16,16,0,0,1,16,16Zm-52-56H92a28,28,0,0,0,0,56h72a28,28,0,0,0,0-56Zm-28,16v24H120V152ZM80,164a12,12,0,0,1,12-12h12v24H92A12,12,0,0,1,80,164Zm84,12H152V152h12a12,12,0,0,1,0,24ZM72,108a12,12,0,1,1,12,12A12,12,0,0,1,72,108Zm88,0a12,12,0,1,1,12,12A12,12,0,0,1,160,108Z" />
</g>
<text x="656" y="226" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="700" fill="#E8ECFF" letter-spacing="3" text-anchor="middle">PATTERN B</text>
<text x="656" y="266" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="28" font-weight="900" fill="#FFFFFF" text-anchor="middle">Agent</text>
<text x="656" y="338" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="600" fill="#3DDDFC" letter-spacing="2" text-anchor="middle">EXPLORATORY</text>
<line x1="510" y1="366" x2="802" y2="366" stroke="#FFFFFF" stroke-opacity="0.18" />
<g id="ag-feat">
<circle cx="506" cy="405" r="4" fill="#A26BFA" />
<text x="522" y="410" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="16" font-weight="700" fill="#E8ECFF">路径动态</text>
<text x="522" y="432" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0">运行时按情境自选下一步</text>
<circle cx="506" cy="475" r="4" fill="#A26BFA" />
<text x="522" y="480" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="16" font-weight="700" fill="#E8ECFF">LLM 决策</text>
<text x="522" y="502" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0">用模型判断 → 工具/继续/终止</text>
<circle cx="506" cy="545" r="4" fill="#A26BFA" />
<text x="522" y="550" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="16" font-weight="700" fill="#E8ECFF">工具调用</text>
<text x="522" y="572" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0">检索 · 计算 · 业务 API</text>
</g>
<path fill="#A26BFA" fill-opacity="0.25" stroke="#A26BFA" stroke-opacity="0.7" stroke-width="1" d="M520,610 H792 A10,10 0 0 1 802,620 V646 A10,10 0 0 1 792,656 H520 A10,10 0 0 1 510,646 V620 A10,10 0 0 1 520,610 Z" />
<text x="656" y="640" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="700" fill="#E8ECFF" text-anchor="middle">适合半结构化探索</text>
</g>
<g id="card-multi">
<path fill="url(#cardGlass)" stroke="#FFFFFF" stroke-opacity="0.16" stroke-width="1" d="M880,180 H1210 A20,20 0 0 1 1230,200 V650 A20,20 0 0 1 1210,670 H880 A20,20 0 0 1 860,650 V200 A20,20 0 0 1 880,180 Z" />
<rect x="878" y="181" width="334" height="1" fill="url(#glassEdge)" />
<path d="M 880 180 h 330 a 20 20 0 0 1 20 20 v 100 h -370 v -100 a 20 20 0 0 1 20 -20 Z" fill="url(#headCyan)" />
<g transform="translate(896.0, 208.0) scale(0.15625)" fill="#E8ECFF">
<path d="M168,144a40,40,0,1,1-40-40A40,40,0,0,1,168,144ZM64,56A32,32,0,1,0,96,88,32,32,0,0,0,64,56Zm128,0a32,32,0,1,0,32,32A32,32,0,0,0,192,56Z" opacity="0.2" />
<path d="M244.8,150.4a8,8,0,0,1-11.2-1.6A51.6,51.6,0,0,0,192,128a8,8,0,0,1,0-16,24,24,0,1,0-23.24-30,8,8,0,1,1-15.5-4A40,40,0,1,1,219,117.51a67.94,67.94,0,0,1,27.43,21.68A8,8,0,0,1,244.8,150.4ZM190.92,212a8,8,0,1,1-13.85,8,57,57,0,0,0-98.15,0,8,8,0,1,1-13.84-8,72.06,72.06,0,0,1,33.74-29.92,48,48,0,1,1,58.36,0A72.06,72.06,0,0,1,190.92,212ZM128,176a32,32,0,1,0-32-32A32,32,0,0,0,128,176ZM72,120a8,8,0,0,0-8-8A24,24,0,1,1,87.24,82a8,8,0,1,0,15.5-4A40,40,0,1,0,37,117.51,67.94,67.94,0,0,0,9.6,139.19a8,8,0,1,0,12.8,9.61A51.6,51.6,0,0,1,64,128,8,8,0,0,0,72,120Z" />
</g>
<text x="1046" y="226" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="700" fill="#E8ECFF" letter-spacing="3" text-anchor="middle">PATTERN C</text>
<text x="1046" y="266" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="28" font-weight="900" fill="#FFFFFF" text-anchor="middle">Multi-Agent</text>
<text x="1046" y="328" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="600" fill="#3DDDFC" letter-spacing="2" text-anchor="middle">COLLABORATIVE</text>
<line x1="900" y1="356" x2="1192" y2="356" stroke="#FFFFFF" stroke-opacity="0.14" />
<g id="ma-feat">
<circle cx="896" cy="395" r="4" fill="#3DDDFC" />
<text x="912" y="400" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="16" font-weight="700" fill="#E8ECFF">多角色协作</text>
<text x="912" y="422" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0">Planner · Critic · Worker</text>
<circle cx="896" cy="465" r="4" fill="#3DDDFC" />
<text x="912" y="470" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="16" font-weight="700" fill="#E8ECFF">任务分发</text>
<text x="912" y="492" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0">并发 / 串联 / 投票仲裁</text>
<circle cx="896" cy="535" r="4" fill="#3DDDFC" />
<text x="912" y="540" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="16" font-weight="700" fill="#E8ECFF">上下文共享</text>
<text x="912" y="562" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0">共享黑板 / 消息总线</text>
</g>
<path fill="#3DDDFC" fill-opacity="0.18" stroke="#3DDDFC" stroke-opacity="0.55" stroke-width="1" d="M910,600 H1182 A10,10 0 0 1 1192,610 V636 A10,10 0 0 1 1182,646 H910 A10,10 0 0 1 900,636 V610 A10,10 0 0 1 910,600 Z" />
<text x="1046" y="630" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="700" fill="#3DDDFC" text-anchor="middle">适合复杂长程任务</text>
</g>
<g id="footer">
<text x="60" y="700" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#6B7299">三种模式 · 路径确定性递减</text>
<text x="1220" y="700" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#6B7299" text-anchor="end">05 / 12</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 15 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.1 MiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.5 MiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.1 MiB

View File

@@ -0,0 +1,157 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
<defs>
<linearGradient id="titleGradient" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#5B8DEF" />
<stop offset="50%" stop-color="#A26BFA" />
<stop offset="100%" stop-color="#3DDDFC" />
</linearGradient>
<radialGradient id="bgGlowA" cx="20%" cy="30%" r="55%">
<stop offset="0%" stop-color="#5B8DEF" stop-opacity="0.16" />
<stop offset="100%" stop-color="#5B8DEF" stop-opacity="0" />
</radialGradient>
<radialGradient id="bgGlowB" cx="80%" cy="70%" r="55%">
<stop offset="0%" stop-color="#A26BFA" stop-opacity="0.16" />
<stop offset="100%" stop-color="#A26BFA" stop-opacity="0" />
</radialGradient>
<linearGradient id="areaAcc" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#4ADE80" stop-opacity="0.4" />
<stop offset="100%" stop-color="#4ADE80" stop-opacity="0.0" />
</linearGradient>
<linearGradient id="areaCost" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#FB7185" stop-opacity="0.35" />
<stop offset="100%" stop-color="#FB7185" stop-opacity="0.0" />
</linearGradient>
<linearGradient id="chartPanel" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#1A2150" stop-opacity="0.5" />
<stop offset="100%" stop-color="#1A2150" stop-opacity="0.18" />
</linearGradient>
<linearGradient id="glassEdge" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#FFFFFF" stop-opacity="0" />
<stop offset="50%" stop-color="#FFFFFF" stop-opacity="0.3" />
<stop offset="100%" stop-color="#FFFFFF" stop-opacity="0" />
</linearGradient>
</defs>
<g id="bg">
<rect width="1280" height="720" fill="#0A0E27" />
<rect width="1280" height="720" fill="url(#bgGlowA)" />
<rect width="1280" height="720" fill="url(#bgGlowB)" />
</g>
<g id="header">
<path fill="url(#titleGradient)" d="M63,50 H63 A3,3 0 0 1 66,53 V79 A3,3 0 0 1 63,82 H63 A3,3 0 0 1 60,79 V53 A3,3 0 0 1 63,50 Z" />
<text x="80" y="76" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="34" font-weight="900" fill="#E8ECFF">持续优化的真实曲线 — <tspan fill="#4ADE80">准确率 ↑</tspan> <tspan fill="#FB7185">成本 ↓</tspan></text>
<text x="80" y="108" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="600" fill="#A8B0D0" letter-spacing="3">UPLINE TO PRODUCTION · 12-WEEK TREND</text>
</g>
<g id="chart-panel-bg">
<path fill="url(#chartPanel)" stroke="#FFFFFF" stroke-opacity="0.12" stroke-width="1" d="M120,135 H1180 A20,20 0 0 1 1200,155 V590 A20,20 0 0 1 1180,610 H120 A20,20 0 0 1 100,590 V155 A20,20 0 0 1 120,135 Z" />
<rect x="118" y="136" width="1064" height="1" fill="url(#glassEdge)" />
</g>
<g id="chartArea">
<line x1="140" y1="560" x2="1180" y2="560" stroke="#FFFFFF" stroke-opacity="0.16" stroke-width="1" />
<line x1="140" y1="462" x2="1180" y2="462" stroke="#FFFFFF" stroke-opacity="0.08" stroke-width="1" stroke-dasharray="3 5" />
<line x1="140" y1="365" x2="1180" y2="365" stroke="#FFFFFF" stroke-opacity="0.08" stroke-width="1" stroke-dasharray="3 5" />
<line x1="140" y1="267" x2="1180" y2="267" stroke="#FFFFFF" stroke-opacity="0.08" stroke-width="1" stroke-dasharray="3 5" />
<line x1="140" y1="170" x2="1180" y2="170" stroke="#FFFFFF" stroke-opacity="0.08" stroke-width="1" stroke-dasharray="3 5" />
<line x1="140" y1="170" x2="140" y2="560" stroke="#FFFFFF" stroke-opacity="0.16" stroke-width="1" />
<line x1="1180" y1="170" x2="1180" y2="560" stroke="#FFFFFF" stroke-opacity="0.16" stroke-width="1" />
<text x="128" y="565" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="600" fill="#A8B0D0" text-anchor="end">60%</text>
<text x="128" y="467" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="600" fill="#A8B0D0" text-anchor="end">70%</text>
<text x="128" y="370" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="600" fill="#A8B0D0" text-anchor="end">80%</text>
<text x="128" y="272" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="600" fill="#A8B0D0" text-anchor="end">90%</text>
<text x="128" y="175" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="600" fill="#A8B0D0" text-anchor="end">100%</text>
<text x="1192" y="565" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="600" fill="#A8B0D0">¥0</text>
<text x="1192" y="467" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="600" fill="#A8B0D0">¥0.35</text>
<text x="1192" y="370" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="600" fill="#A8B0D0">¥0.70</text>
<text x="1192" y="272" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="600" fill="#A8B0D0">¥1.05</text>
<text x="1192" y="175" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="600" fill="#A8B0D0">¥1.40</text>
<text x="140" y="588" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="600" fill="#A8B0D0" text-anchor="middle">W1</text>
<text x="234" y="588" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="600" fill="#A8B0D0" text-anchor="middle">W2</text>
<text x="329" y="588" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="600" fill="#A8B0D0" text-anchor="middle">W3</text>
<text x="423" y="588" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="700" fill="#3DDDFC" text-anchor="middle">W4</text>
<text x="518" y="588" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="600" fill="#A8B0D0" text-anchor="middle">W5</text>
<text x="612" y="588" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="600" fill="#A8B0D0" text-anchor="middle">W6</text>
<text x="707" y="588" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="600" fill="#A8B0D0" text-anchor="middle">W7</text>
<text x="801" y="588" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="700" fill="#3DDDFC" text-anchor="middle">W8</text>
<text x="896" y="588" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="600" fill="#A8B0D0" text-anchor="middle">W9</text>
<text x="990" y="588" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="600" fill="#A8B0D0" text-anchor="middle">W10</text>
<text x="1085" y="588" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="700" fill="#3DDDFC" text-anchor="middle">W11</text>
<text x="1180" y="588" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="600" fill="#A8B0D0" text-anchor="middle">W12</text>
<line x1="423" y1="170" x2="423" y2="560" stroke="#3DDDFC" stroke-opacity="0.32" stroke-width="1" stroke-dasharray="4 6" />
<line x1="801" y1="170" x2="801" y2="560" stroke="#3DDDFC" stroke-opacity="0.32" stroke-width="1" stroke-dasharray="4 6" />
<line x1="1085" y1="170" x2="1085" y2="560" stroke="#3DDDFC" stroke-opacity="0.32" stroke-width="1" stroke-dasharray="4 6" />
<path d="M 140,453 L 234,433 L 329,414 L 423,365 L 518,345 L 612,316 L 707,306 L 801,277 L 896,267 L 990,258 L 1085,248 L 1180,244 L 1180,560 L 140,560 Z" fill="url(#areaAcc)" />
<polyline points="140,453 234,433 329,414 423,365 518,345 612,316 707,306 801,277 896,267 990,258 1085,248 1180,244" fill="none" stroke="#4ADE80" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round" />
<g id="acc-dots">
<circle cx="140" cy="453" r="5" fill="#4ADE80" stroke="#0A0E27" stroke-width="2" />
<circle cx="234" cy="433" r="5" fill="#4ADE80" stroke="#0A0E27" stroke-width="2" />
<circle cx="329" cy="414" r="5" fill="#4ADE80" stroke="#0A0E27" stroke-width="2" />
<circle cx="423" cy="365" r="6" fill="#4ADE80" stroke="#0A0E27" stroke-width="2" />
<circle cx="518" cy="345" r="5" fill="#4ADE80" stroke="#0A0E27" stroke-width="2" />
<circle cx="612" cy="316" r="5" fill="#4ADE80" stroke="#0A0E27" stroke-width="2" />
<circle cx="707" cy="306" r="5" fill="#4ADE80" stroke="#0A0E27" stroke-width="2" />
<circle cx="801" cy="277" r="6" fill="#4ADE80" stroke="#0A0E27" stroke-width="2" />
<circle cx="896" cy="267" r="5" fill="#4ADE80" stroke="#0A0E27" stroke-width="2" />
<circle cx="990" cy="258" r="5" fill="#4ADE80" stroke="#0A0E27" stroke-width="2" />
<circle cx="1085" cy="248" r="6" fill="#4ADE80" stroke="#0A0E27" stroke-width="2" />
<circle cx="1180" cy="244" r="7" fill="#4ADE80" stroke="#0A0E27" stroke-width="2" />
</g>
<path d="M 140,226 L 234,240 L 329,254 L 423,295 L 518,309 L 612,323 L 707,343 L 801,379 L 896,393 L 990,407 L 1085,426 L 1180,443 L 1180,560 L 140,560 Z" fill="url(#areaCost)" fill-opacity="0.0" />
<polyline points="140,226 234,240 329,254 423,295 518,309 612,323 707,343 801,379 896,393 990,407 1085,426 1180,443" fill="none" stroke="#FB7185" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round" />
<g id="cost-dots">
<circle cx="140" cy="226" r="5" fill="#FB7185" stroke="#0A0E27" stroke-width="2" />
<circle cx="234" cy="240" r="5" fill="#FB7185" stroke="#0A0E27" stroke-width="2" />
<circle cx="329" cy="254" r="5" fill="#FB7185" stroke="#0A0E27" stroke-width="2" />
<circle cx="423" cy="295" r="5" fill="#FB7185" stroke="#0A0E27" stroke-width="2" />
<circle cx="518" cy="309" r="5" fill="#FB7185" stroke="#0A0E27" stroke-width="2" />
<circle cx="612" cy="323" r="5" fill="#FB7185" stroke="#0A0E27" stroke-width="2" />
<circle cx="707" cy="343" r="5" fill="#FB7185" stroke="#0A0E27" stroke-width="2" />
<circle cx="801" cy="379" r="5" fill="#FB7185" stroke="#0A0E27" stroke-width="2" />
<circle cx="896" cy="393" r="5" fill="#FB7185" stroke="#0A0E27" stroke-width="2" />
<circle cx="990" cy="407" r="5" fill="#FB7185" stroke="#0A0E27" stroke-width="2" />
<circle cx="1085" cy="426" r="5" fill="#FB7185" stroke="#0A0E27" stroke-width="2" />
<circle cx="1180" cy="443" r="7" fill="#FB7185" stroke="#0A0E27" stroke-width="2" />
</g>
<g id="annot-w4">
<path fill="#1A2150" fill-opacity="0.85" stroke="#3DDDFC" stroke-opacity="0.5" stroke-width="1" d="M361,148 H485 A11,11 0 0 1 496,159 V159 A11,11 0 0 1 485,170 H361 A11,11 0 0 1 350,159 V159 A11,11 0 0 1 361,148 Z" />
<text x="423" y="164" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="700" fill="#3DDDFC" text-anchor="middle">W4 · 引入 reranker</text>
</g>
<g id="annot-w8">
<path fill="#1A2150" fill-opacity="0.85" stroke="#3DDDFC" stroke-opacity="0.5" stroke-width="1" d="M739,148 H863 A11,11 0 0 1 874,159 V159 A11,11 0 0 1 863,170 H739 A11,11 0 0 1 728,159 V159 A11,11 0 0 1 739,148 Z" />
<text x="801" y="164" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="700" fill="#3DDDFC" text-anchor="middle">W8 · 引入 fallback</text>
</g>
<g id="annot-w11">
<path fill="#1A2150" fill-opacity="0.85" stroke="#3DDDFC" stroke-opacity="0.5" stroke-width="1" d="M1023,148 H1147 A11,11 0 0 1 1158,159 V159 A11,11 0 0 1 1147,170 H1023 A11,11 0 0 1 1012,159 V159 A11,11 0 0 1 1023,148 Z" />
<text x="1085" y="164" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="700" fill="#3DDDFC" text-anchor="middle">W11 · 引入缓存</text>
</g>
</g>
<g id="legend">
<path fill="#1A2150" fill-opacity="0.65" stroke="#FFFFFF" stroke-opacity="0.16" stroke-width="1" d="M110,630 H370 A10,10 0 0 1 380,640 V664 A10,10 0 0 1 370,674 H110 A10,10 0 0 1 100,664 V640 A10,10 0 0 1 110,630 Z" />
<line x1="120" y1="652" x2="148" y2="652" stroke="#4ADE80" stroke-width="3.5" stroke-linecap="round" />
<circle cx="134" cy="652" r="5" fill="#4ADE80" stroke="#0A0E27" stroke-width="2" />
<text x="162" y="657" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="700" fill="#E8ECFF">任务成功率(左轴)</text>
<path fill="#1A2150" fill-opacity="0.65" stroke="#FFFFFF" stroke-opacity="0.16" stroke-width="1" d="M405,630 H665 A10,10 0 0 1 675,640 V664 A10,10 0 0 1 665,674 H405 A10,10 0 0 1 395,664 V640 A10,10 0 0 1 405,630 Z" />
<line x1="415" y1="652" x2="443" y2="652" stroke="#FB7185" stroke-width="3.5" stroke-linecap="round" />
<circle cx="429" cy="652" r="5" fill="#FB7185" stroke="#0A0E27" stroke-width="2" />
<text x="457" y="657" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="700" fill="#E8ECFF">单次成本(右轴)</text>
<path fill="#1A2150" fill-opacity="0.65" stroke="#3DDDFC" stroke-opacity="0.4" stroke-width="1" d="M700,630 H1190 A10,10 0 0 1 1200,640 V664 A10,10 0 0 1 1190,674 H700 A10,10 0 0 1 690,664 V640 A10,10 0 0 1 700,630 Z" />
<text x="710" y="657" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="600" fill="#A8B0D0"><tspan fill="#3DDDFC" font-weight="800"></tspan> 准确率 71% → 92.4%  ·  成本 ¥1.20 → ¥0.42</text>
</g>
<g id="footer">
<text x="60" y="700" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#6B7299">12 周指标趋势 · 来源:内部 Agent 平台监控</text>
<text x="1220" y="700" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#6B7299" text-anchor="end">09 / 12</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.4 MiB

View File

@@ -0,0 +1,162 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
<defs>
<linearGradient id="titleGradient" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#5B8DEF" />
<stop offset="50%" stop-color="#A26BFA" />
<stop offset="100%" stop-color="#3DDDFC" />
</linearGradient>
<radialGradient id="bgGlowA" cx="15%" cy="30%" r="55%">
<stop offset="0%" stop-color="#5B8DEF" stop-opacity="0.16" />
<stop offset="100%" stop-color="#5B8DEF" stop-opacity="0" />
</radialGradient>
<radialGradient id="bgGlowB" cx="85%" cy="75%" r="55%">
<stop offset="0%" stop-color="#A26BFA" stop-opacity="0.16" />
<stop offset="100%" stop-color="#A26BFA" stop-opacity="0" />
</radialGradient>
<linearGradient id="cardGlass" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#1A2150" stop-opacity="0.78" />
<stop offset="100%" stop-color="#1A2150" stop-opacity="0.42" />
</linearGradient>
<linearGradient id="timelineGrad" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#5B8DEF" />
<stop offset="35%" stop-color="#A26BFA" />
<stop offset="70%" stop-color="#3DDDFC" />
<stop offset="100%" stop-color="#4ADE80" />
</linearGradient>
<linearGradient id="glassEdge" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#FFFFFF" stop-opacity="0" />
<stop offset="50%" stop-color="#FFFFFF" stop-opacity="0.32" />
<stop offset="100%" stop-color="#FFFFFF" stop-opacity="0" />
</linearGradient>
</defs>
<g id="bg">
<rect width="1280" height="720" fill="#0A0E27" />
<rect width="1280" height="720" fill="url(#bgGlowA)" />
<rect width="1280" height="720" fill="url(#bgGlowB)" />
</g>
<g id="header">
<path fill="url(#titleGradient)" d="M63,50 H63 A3,3 0 0 1 66,53 V79 A3,3 0 0 1 63,82 H63 A3,3 0 0 1 60,79 V53 A3,3 0 0 1 63,50 Z" />
<text x="80" y="76" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="34" font-weight="900" fill="#E8ECFF">从原型到生产 — 12 周分四阶段</text>
<text x="80" y="108" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="600" fill="#A8B0D0" letter-spacing="3">ROADMAP · PROTOTYPE → ENGINEERING → SCALE → PRODUCTION</text>
</g>
<g id="timeline-axis">
<line x1="200" y1="155" x2="200" y2="660" stroke="#FFFFFF" stroke-opacity="0.1" stroke-width="6" stroke-linecap="round" />
<line x1="200" y1="155" x2="200" y2="660" stroke="url(#timelineGrad)" stroke-width="4" stroke-linecap="round" />
</g>
<g id="ms-1">
<text x="172" y="200" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="800" fill="#5B8DEF" text-anchor="end" letter-spacing="1">W1 — W3</text>
<circle cx="200" cy="195" r="18" fill="#0A0E27" stroke="#5B8DEF" stroke-width="3" />
<circle cx="200" cy="195" r="6" fill="#5B8DEF" />
<path fill="url(#cardGlass)" stroke="#5B8DEF" stroke-opacity="0.45" stroke-width="1" d="M254,150 H726 A14,14 0 0 1 740,164 V236 A14,14 0 0 1 726,250 H254 A14,14 0 0 1 240,236 V164 A14,14 0 0 1 254,150 Z" />
<rect x="258" y="151" width="464" height="1" fill="url(#glassEdge)" />
<path fill="#5B8DEF" d="M243,174 H243 A3,3 0 0 1 246,177 V223 A3,3 0 0 1 243,226 H243 A3,3 0 0 1 240,223 V177 A3,3 0 0 1 243,174 Z" />
<path fill="#5B8DEF" fill-opacity="0.2" d="M272,166 H298 A12,12 0 0 1 310,178 V204 A12,12 0 0 1 298,216 H272 A12,12 0 0 1 260,204 V178 A12,12 0 0 1 272,166 Z" />
<g transform="translate(268.0, 174.0) scale(0.1328125)" fill="#5B8DEF">
<path d="M160,128a32,32,0,1,1-32-32A32,32,0,0,1,160,128Z" opacity="0.2" />
<path d="M232,120h-8.34A96.14,96.14,0,0,0,136,32.34V24a8,8,0,0,0-16,0v8.34A96.14,96.14,0,0,0,32.34,120H24a8,8,0,0,0,0,16h8.34A96.14,96.14,0,0,0,120,223.66V232a8,8,0,0,0,16,0v-8.34A96.14,96.14,0,0,0,223.66,136H232a8,8,0,0,0,0-16Zm-96,87.6V200a8,8,0,0,0-16,0v7.6A80.15,80.15,0,0,1,48.4,136H56a8,8,0,0,0,0-16H48.4A80.15,80.15,0,0,1,120,48.4V56a8,8,0,0,0,16,0V48.4A80.15,80.15,0,0,1,207.6,120H200a8,8,0,0,0,0,16h7.6A80.15,80.15,0,0,1,136,207.6ZM128,88a40,40,0,1,0,40,40A40,40,0,0,0,128,88Zm0,64a24,24,0,1,1,24-24A24,24,0,0,1,128,152Z" />
</g>
<text x="326" y="183" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="700" fill="#5B8DEF" letter-spacing="2">STAGE 01 · PROTOTYPE</text>
<text x="326" y="212" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="22" font-weight="900" fill="#E8ECFF">原型 — 单一任务跑通</text>
<text x="326" y="238" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="400" fill="#A8B0D0">最小工具集 · prompt 初稿 · 5-10 个金标准 case 验证</text>
</g>
<g id="ms-2">
<text x="172" y="325" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="800" fill="#A26BFA" text-anchor="end" letter-spacing="1">W4 — W7</text>
<circle cx="200" cy="320" r="18" fill="#0A0E27" stroke="#A26BFA" stroke-width="3" />
<circle cx="200" cy="320" r="6" fill="#A26BFA" />
<path fill="url(#cardGlass)" stroke="#A26BFA" stroke-opacity="0.45" stroke-width="1" d="M254,275 H726 A14,14 0 0 1 740,289 V361 A14,14 0 0 1 726,375 H254 A14,14 0 0 1 240,361 V289 A14,14 0 0 1 254,275 Z" />
<rect x="258" y="276" width="464" height="1" fill="url(#glassEdge)" />
<path fill="#A26BFA" d="M243,299 H243 A3,3 0 0 1 246,302 V348 A3,3 0 0 1 243,351 H243 A3,3 0 0 1 240,348 V302 A3,3 0 0 1 243,299 Z" />
<path fill="#A26BFA" fill-opacity="0.2" d="M272,291 H298 A12,12 0 0 1 310,303 V329 A12,12 0 0 1 298,341 H272 A12,12 0 0 1 260,329 V303 A12,12 0 0 1 272,291 Z" />
<g transform="translate(268.0, 299.0) scale(0.1328125)" fill="#A26BFA">
<path d="M230.1,108.76,198.25,90.62c-.64-1.16-1.31-2.29-2-3.41l-.12-36A104.61,104.61,0,0,0,162,32L130,49.89c-1.34,0-2.69,0-4,0L94,32A104.58,104.58,0,0,0,59.89,51.25l-.16,36c-.7,1.12-1.37,2.26-2,3.41l-31.84,18.1a99.15,99.15,0,0,0,0,38.46l31.85,18.14c.64,1.16,1.31,2.29,2,3.41l.12,36A104.61,104.61,0,0,0,94,224l32-17.87c1.34,0,2.69,0,4,0L162,224a104.58,104.58,0,0,0,34.08-19.25l.16-36c.7-1.12,1.37-2.26,2-3.41l31.84-18.1A99.15,99.15,0,0,0,230.1,108.76ZM128,168a40,40,0,1,1,40-40A40,40,0,0,1,128,168Z" opacity="0.2" />
<path d="M128,80a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,80Zm0,80a32,32,0,1,1,32-32A32,32,0,0,1,128,160Zm109.94-52.79a8,8,0,0,0-3.89-5.4l-29.83-17-.12-33.62a8,8,0,0,0-2.83-6.08,111.91,111.91,0,0,0-36.72-20.67,8,8,0,0,0-6.46.59L128,41.85,97.88,25a8,8,0,0,0-6.47-.6A111.92,111.92,0,0,0,54.73,45.15a8,8,0,0,0-2.83,6.07l-.15,33.65-29.83,17a8,8,0,0,0-3.89,5.4,106.47,106.47,0,0,0,0,41.56,8,8,0,0,0,3.89,5.4l29.83,17,.12,33.63a8,8,0,0,0,2.83,6.08,111.91,111.91,0,0,0,36.72,20.67,8,8,0,0,0,6.46-.59L128,214.15,158.12,231a7.91,7.91,0,0,0,3.9,1,8.09,8.09,0,0,0,2.57-.42,112.1,112.1,0,0,0,36.68-20.73,8,8,0,0,0,2.83-6.07l.15-33.65,29.83-17a8,8,0,0,0,3.89-5.4A106.47,106.47,0,0,0,237.94,107.21Zm-15,34.91-28.57,16.25a8,8,0,0,0-3,3c-.58,1-1.19,2.06-1.81,3.06a7.94,7.94,0,0,0-1.22,4.21l-.15,32.25a95.89,95.89,0,0,1-25.37,14.3L134,199.13a8,8,0,0,0-3.91-1h-.19c-1.21,0-2.43,0-3.64,0a8.1,8.1,0,0,0-4.1,1l-28.84,16.1A96,96,0,0,1,67.88,201l-.11-32.2a8,8,0,0,0-1.22-4.22c-.62-1-1.23-2-1.8-3.06a8.09,8.09,0,0,0-3-3.06l-28.6-16.29a90.49,90.49,0,0,1,0-28.26L61.67,97.63a8,8,0,0,0,3-3c.58-1,1.19-2.06,1.81-3.06a7.94,7.94,0,0,0,1.22-4.21l.15-32.25a95.89,95.89,0,0,1,25.37-14.3L122,56.87a8,8,0,0,0,4.1,1c1.21,0,2.43,0,3.64,0a8,8,0,0,0,4.1-1l28.84-16.1A96,96,0,0,1,188.12,55l.11,32.2a8,8,0,0,0,1.22,4.22c.62,1,1.23,2,1.8,3.06a8.09,8.09,0,0,0,3,3.06l28.6,16.29A90.49,90.49,0,0,1,222.9,142.12Z" />
</g>
<text x="326" y="308" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="700" fill="#A26BFA" letter-spacing="2">STAGE 02 · ENGINEERING</text>
<text x="326" y="337" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="22" font-weight="900" fill="#E8ECFF">工程化 — 评估闭环</text>
<text x="326" y="363" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="400" fill="#A8B0D0">评估集 100+ · 自动回归 · 重试与降级机制全覆盖</text>
</g>
<g id="ms-3">
<text x="172" y="450" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="800" fill="#3DDDFC" text-anchor="end" letter-spacing="1">W8 — W10</text>
<circle cx="200" cy="445" r="18" fill="#0A0E27" stroke="#3DDDFC" stroke-width="3" />
<circle cx="200" cy="445" r="6" fill="#3DDDFC" />
<path fill="url(#cardGlass)" stroke="#3DDDFC" stroke-opacity="0.45" stroke-width="1" d="M254,400 H726 A14,14 0 0 1 740,414 V486 A14,14 0 0 1 726,500 H254 A14,14 0 0 1 240,486 V414 A14,14 0 0 1 254,400 Z" />
<rect x="258" y="401" width="464" height="1" fill="url(#glassEdge)" />
<path fill="#3DDDFC" d="M243,424 H243 A3,3 0 0 1 246,427 V473 A3,3 0 0 1 243,476 H243 A3,3 0 0 1 240,473 V427 A3,3 0 0 1 243,424 Z" />
<path fill="#3DDDFC" fill-opacity="0.2" d="M272,416 H298 A12,12 0 0 1 310,428 V454 A12,12 0 0 1 298,466 H272 A12,12 0 0 1 260,454 V428 A12,12 0 0 1 272,416 Z" />
<g transform="translate(268.0, 424.0) scale(0.1328125)" fill="#3DDDFC">
<path d="M224,56V208H32V48H216A8,8,0,0,1,224,56Z" opacity="0.2" />
<path d="M232,208a8,8,0,0,1-8,8H32a8,8,0,0,1-8-8V48a8,8,0,0,1,16,0V156.69l50.34-50.35a8,8,0,0,1,11.32,0L128,132.69,180.69,80H160a8,8,0,0,1,0-16h40a8,8,0,0,1,8,8v40a8,8,0,0,1-16,0V91.31l-58.34,58.35a8,8,0,0,1-11.32,0L96,123.31l-56,56V200H224A8,8,0,0,1,232,208Z" />
</g>
<text x="326" y="433" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="700" fill="#3DDDFC" letter-spacing="2">STAGE 03 · SCALE</text>
<text x="326" y="462" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="22" font-weight="900" fill="#E8ECFF">规模化 — 性能与成本</text>
<text x="326" y="488" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="400" fill="#A8B0D0">结果缓存 · 限流熔断 · 多租户隔离 · 模型分级路由</text>
</g>
<g id="ms-4">
<text x="172" y="595" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="800" fill="#4ADE80" text-anchor="end" letter-spacing="1">W11 — W12</text>
<circle cx="200" cy="590" r="20" fill="#0A0E27" stroke="#4ADE80" stroke-width="3" />
<path d="M 192 590 L 198 596 L 210 584" stroke="#4ADE80" stroke-width="3" fill="none" stroke-linecap="round" stroke-linejoin="round" />
<path fill="url(#cardGlass)" stroke="#4ADE80" stroke-opacity="0.55" stroke-width="1.5" d="M254,545 H726 A14,14 0 0 1 740,559 V631 A14,14 0 0 1 726,645 H254 A14,14 0 0 1 240,631 V559 A14,14 0 0 1 254,545 Z" />
<rect x="258" y="546" width="464" height="1" fill="url(#glassEdge)" />
<path fill="#4ADE80" d="M243,569 H243 A3,3 0 0 1 246,572 V618 A3,3 0 0 1 243,621 H243 A3,3 0 0 1 240,618 V572 A3,3 0 0 1 243,569 Z" />
<path fill="#4ADE80" fill-opacity="0.22" d="M272,561 H298 A12,12 0 0 1 310,573 V599 A12,12 0 0 1 298,611 H272 A12,12 0 0 1 260,599 V573 A12,12 0 0 1 272,561 Z" />
<g transform="translate(268.0, 569.0) scale(0.1328125)" fill="#4ADE80">
<path d="M94.81,192,65.36,214.24a8,8,0,0,1-12.81-4.51L40.19,154.1a8,8,0,0,1,1.66-6.86l30.31-36.33C71,134.25,76.7,161.43,94.81,192Zm119.34-44.76-30.31-36.33c1.21,23.34-4.54,50.52-22.65,81.09l29.45,22.24a8,8,0,0,0,12.81-4.51l12.36-55.63A8,8,0,0,0,214.15,147.24Z" opacity="0.2" />
<path d="M152,224a8,8,0,0,1-8,8H112a8,8,0,0,1,0-16h32A8,8,0,0,1,152,224ZM128,112a12,12,0,1,0-12-12A12,12,0,0,0,128,112Zm95.62,43.83-12.36,55.63a16,16,0,0,1-25.51,9.11L158.51,200h-61L70.25,220.57a16,16,0,0,1-25.51-9.11L32.38,155.83a16.09,16.09,0,0,1,3.32-13.71l28.56-34.26a123.07,123.07,0,0,1,8.57-36.67c12.9-32.34,36-52.63,45.37-59.85a16,16,0,0,1,19.6,0c9.34,7.22,32.47,27.51,45.37,59.85a123.07,123.07,0,0,1,8.57,36.67l28.56,34.26A16.09,16.09,0,0,1,223.62,155.83ZM99.43,184h57.14c21.12-37.54,25.07-73.48,11.74-106.88C156.55,47.64,134.49,29,128,24c-6.51,5-28.57,23.64-40.33,53.12C74.36,110.52,78.31,146.46,99.43,184Zm-15,5.85Q68.28,160.5,64.83,132.16L48,152.36,60.36,208l.18-.13ZM208,152.36l-16.83-20.2q-3.42,28.28-19.56,57.69l23.85,18,.18.13Z" />
</g>
<text x="326" y="578" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="700" fill="#4ADE80" letter-spacing="2">STAGE 04 · PRODUCTION</text>
<text x="326" y="607" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="22" font-weight="900" fill="#E8ECFF">生产 — 灰度与 SLO</text>
<text x="326" y="633" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="400" fill="#A8B0D0">1% → 10% → 全量灰度 · SLO 监控 · 持续优化飞轮</text>
</g>
<g id="success-panel">
<path fill="url(#cardGlass)" stroke="#FFFFFF" stroke-opacity="0.18" stroke-width="1" d="M790,150 H1200 A20,20 0 0 1 1220,170 V625 A20,20 0 0 1 1200,645 H790 A20,20 0 0 1 770,625 V170 A20,20 0 0 1 790,150 Z" />
<rect x="788" y="151" width="414" height="1" fill="url(#glassEdge)" />
<text x="995" y="186" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="700" fill="#3DDDFC" text-anchor="middle" letter-spacing="3">SUCCESS CRITERIA</text>
<text x="995" y="220" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="22" font-weight="900" fill="#E8ECFF" text-anchor="middle">每阶段过线标准</text>
<line x1="800" y1="245" x2="1190" y2="245" stroke="#FFFFFF" stroke-opacity="0.14" />
<g id="sc-1">
<circle cx="816" cy="282" r="14" fill="#5B8DEF" fill-opacity="0.3" />
<text x="816" y="287" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="900" fill="#5B8DEF" text-anchor="middle">01</text>
<text x="844" y="276" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="700" fill="#E8ECFF">原型 → 工程化</text>
<text x="844" y="298" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="500" fill="#A8B0D0">金标准 case 通过率 ≥ 80%</text>
</g>
<g id="sc-2">
<circle cx="816" cy="354" r="14" fill="#A26BFA" fill-opacity="0.3" />
<text x="816" y="359" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="900" fill="#A26BFA" text-anchor="middle">02</text>
<text x="844" y="348" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="700" fill="#E8ECFF">工程化 → 规模化</text>
<text x="844" y="370" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="500" fill="#A8B0D0">评估集 ≥ 100 · 自动回归绿灯</text>
</g>
<g id="sc-3">
<circle cx="816" cy="426" r="14" fill="#3DDDFC" fill-opacity="0.3" />
<text x="816" y="431" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="900" fill="#3DDDFC" text-anchor="middle">03</text>
<text x="844" y="420" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="700" fill="#E8ECFF">规模化 → 生产</text>
<text x="844" y="442" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="500" fill="#A8B0D0">P95 &lt; 5s · 单次成本 &lt; ¥0.5</text>
</g>
<g id="sc-4">
<circle cx="816" cy="498" r="14" fill="#4ADE80" fill-opacity="0.3" />
<text x="816" y="503" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="900" fill="#4ADE80" text-anchor="middle">04</text>
<text x="844" y="492" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="700" fill="#E8ECFF">生产持续运营</text>
<text x="844" y="514" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="500" fill="#A8B0D0">30 天 SLO ≥ 99.5% · 成本月度下降</text>
</g>
<line x1="800" y1="545" x2="1190" y2="545" stroke="#FFFFFF" stroke-opacity="0.12" />
<text x="816" y="580" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="700" fill="#A8B0D0">⚡ 不达标不晋级 — 每个阶段</text>
<text x="816" y="604" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="700" fill="#A8B0D0">必须有"通关"硬指标</text>
<text x="816" y="628" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="500" fill="#6B7299">否则只是"进度"假象</text>
</g>
<g id="footer">
<text x="60" y="700" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#6B7299">路线图 · 12 周可执行计划</text>
<text x="1220" y="700" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#6B7299" text-anchor="end">11 / 12</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 18 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.2 MiB

View File

@@ -0,0 +1,54 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
<defs>
<linearGradient id="titleGradient" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#5B8DEF"/>
<stop offset="50%" stop-color="#A26BFA"/>
<stop offset="100%" stop-color="#3DDDFC"/>
</linearGradient>
<linearGradient id="glassPanel" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#5B8DEF" stop-opacity="0.22"/>
<stop offset="100%" stop-color="#A26BFA" stop-opacity="0.08"/>
</linearGradient>
<linearGradient id="glassEdgeTop" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#FFFFFF" stop-opacity="0"/>
<stop offset="50%" stop-color="#FFFFFF" stop-opacity="0.4"/>
<stop offset="100%" stop-color="#FFFFFF" stop-opacity="0"/>
</linearGradient>
<linearGradient id="coverScrim" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#0A0E27" stop-opacity="0.0"/>
<stop offset="50%" stop-color="#0A0E27" stop-opacity="0.35"/>
<stop offset="100%" stop-color="#0A0E27" stop-opacity="0.7"/>
</linearGradient>
</defs>
<g id="bg">
<rect width="1280" height="720" fill="#0A0E27"/>
<image href="../images/01_cover_aurora.png" x="0" y="0" width="1280" height="720" preserveAspectRatio="xMidYMid slice"/>
<rect x="0" y="0" width="1280" height="720" fill="url(#coverScrim)"/>
</g>
<g id="cover-top-mark">
<circle cx="64" cy="60" r="4" fill="#3DDDFC"/>
<circle cx="76" cy="60" r="4" fill="#5B8DEF" fill-opacity="0.7"/>
<circle cx="88" cy="60" r="4" fill="#A26BFA" fill-opacity="0.55"/>
<text x="106" y="65" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#A8B0D0" letter-spacing="3">TECH TALK · 2026</text>
</g>
<g id="glass-panel">
<rect x="160" y="240" width="960" height="280" rx="22" fill="url(#glassPanel)" stroke="#FFFFFF" stroke-opacity="0.2" stroke-width="1"/>
<rect x="178" y="241" width="924" height="1" fill="url(#glassEdgeTop)"/>
<rect x="160" y="260" width="6" height="240" rx="3" fill="url(#titleGradient)"/>
</g>
<g id="title-block">
<text x="200" y="310" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="700" fill="#3DDDFC" letter-spacing="4">AI AGENT · ENGINEERING IN PRODUCTION</text>
<text x="200" y="400" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="80" font-weight="900" fill="url(#titleGradient)" letter-spacing="-1">AI Agent 工程化</text>
<text x="200" y="468" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="28" font-weight="400" fill="#E8ECFF">从 Demo 到生产 — 需要的不只是大模型</text>
<line x1="200" y1="494" x2="320" y2="494" stroke="#3DDDFC" stroke-width="2" stroke-linecap="round"/>
</g>
<g id="cover-footer">
<text x="60" y="688" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#A8B0D0">2026 · 技术分享系列</text>
<text x="1220" y="688" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#6B7299" text-anchor="end">01 / 12</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

@@ -0,0 +1,72 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
<defs>
<linearGradient id="titleGradient" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#5B8DEF"/>
<stop offset="50%" stop-color="#A26BFA"/>
<stop offset="100%" stop-color="#3DDDFC"/>
</linearGradient>
<linearGradient id="heroScrim" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#0A0E27" stop-opacity="0.55"/>
<stop offset="50%" stop-color="#0A0E27" stop-opacity="0.35"/>
<stop offset="100%" stop-color="#0A0E27" stop-opacity="0.75"/>
</linearGradient>
<radialGradient id="heroVignette" cx="50%" cy="50%" r="68%">
<stop offset="0%" stop-color="#0A0E27" stop-opacity="0"/>
<stop offset="100%" stop-color="#0A0E27" stop-opacity="0.55"/>
</radialGradient>
<linearGradient id="pillFill" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#5B8DEF" stop-opacity="0.22"/>
<stop offset="100%" stop-color="#A26BFA" stop-opacity="0.12"/>
</linearGradient>
</defs>
<g id="bg">
<rect width="1280" height="720" fill="#0A0E27"/>
<image href="../images/02_hero_transition.png" x="0" y="0" width="1280" height="720" preserveAspectRatio="xMidYMid slice"/>
<rect x="0" y="0" width="1280" height="720" fill="url(#heroScrim)"/>
<rect x="0" y="0" width="1280" height="720" fill="url(#heroVignette)"/>
</g>
<g id="hero-tag">
<line x1="640" y1="155" x2="608" y2="155" stroke="#3DDDFC" stroke-width="2" stroke-linecap="round"/>
<text x="640" y="160" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="700" fill="#3DDDFC" letter-spacing="5" text-anchor="middle">FROM DEMO TO PRODUCTION</text>
<line x1="640" y1="155" x2="672" y2="155" stroke="#3DDDFC" stroke-width="2" stroke-linecap="round"/>
</g>
<g id="hero-title">
<text x="640" y="280" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="68" font-weight="900" fill="#E8ECFF" text-anchor="middle"><tspan fill="url(#titleGradient)">90%</tspan> 的 Agent 项目</text>
<text x="640" y="362" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="68" font-weight="900" fill="#E8ECFF" text-anchor="middle">止步于 Demo</text>
</g>
<g id="hero-subtext">
<text x="640" y="438" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="24" font-weight="400" fill="#A8B0D0" text-anchor="middle">真正进入生产,需要跨越四道工程化门槛</text>
</g>
<g id="hero-pillars">
<g id="pillar-1">
<rect x="270" y="510" width="170" height="62" rx="31" fill="url(#pillFill)" stroke="#5B8DEF" stroke-opacity="0.55" stroke-width="1"/>
<circle cx="312" cy="541" r="6" fill="#5B8DEF"/>
<text x="332" y="547" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="20" font-weight="700" fill="#E8ECFF">架构</text>
</g>
<g id="pillar-2">
<rect x="460" y="510" width="170" height="62" rx="31" fill="url(#pillFill)" stroke="#A26BFA" stroke-opacity="0.55" stroke-width="1"/>
<circle cx="502" cy="541" r="6" fill="#A26BFA"/>
<text x="522" y="547" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="20" font-weight="700" fill="#E8ECFF">上下文</text>
</g>
<g id="pillar-3">
<rect x="650" y="510" width="170" height="62" rx="31" fill="url(#pillFill)" stroke="#3DDDFC" stroke-opacity="0.55" stroke-width="1"/>
<circle cx="692" cy="541" r="6" fill="#3DDDFC"/>
<text x="712" y="547" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="20" font-weight="700" fill="#E8ECFF">评估</text>
</g>
<g id="pillar-4">
<rect x="840" y="510" width="170" height="62" rx="31" fill="url(#pillFill)" stroke="#4ADE80" stroke-opacity="0.55" stroke-width="1"/>
<circle cx="882" cy="541" r="6" fill="#4ADE80"/>
<text x="902" y="547" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="20" font-weight="700" fill="#E8ECFF">可观测</text>
</g>
</g>
<g id="hero-footer">
<text x="60" y="688" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#A8B0D0">AI Agent 工程化</text>
<text x="1220" y="688" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#6B7299" text-anchor="end">02 / 12</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

@@ -0,0 +1,115 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
<defs>
<linearGradient id="titleGradient" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#5B8DEF"/>
<stop offset="50%" stop-color="#A26BFA"/>
<stop offset="100%" stop-color="#3DDDFC"/>
</linearGradient>
<radialGradient id="bgGlowA" cx="20%" cy="15%" r="55%">
<stop offset="0%" stop-color="#5B8DEF" stop-opacity="0.22"/>
<stop offset="100%" stop-color="#5B8DEF" stop-opacity="0"/>
</radialGradient>
<radialGradient id="bgGlowB" cx="85%" cy="80%" r="55%">
<stop offset="0%" stop-color="#A26BFA" stop-opacity="0.18"/>
<stop offset="100%" stop-color="#A26BFA" stop-opacity="0"/>
</radialGradient>
<linearGradient id="pillarGlass" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#1A2150" stop-opacity="0.7"/>
<stop offset="100%" stop-color="#1A2150" stop-opacity="0.35"/>
</linearGradient>
<linearGradient id="headBlue" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#5B8DEF" stop-opacity="0.85"/>
<stop offset="100%" stop-color="#5B8DEF" stop-opacity="0.4"/>
</linearGradient>
<linearGradient id="headPurple" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#A26BFA" stop-opacity="0.85"/>
<stop offset="100%" stop-color="#A26BFA" stop-opacity="0.4"/>
</linearGradient>
<linearGradient id="headPink" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#FB7185" stop-opacity="0.85"/>
<stop offset="100%" stop-color="#FB7185" stop-opacity="0.4"/>
</linearGradient>
<linearGradient id="glassEdge" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#FFFFFF" stop-opacity="0"/>
<stop offset="50%" stop-color="#FFFFFF" stop-opacity="0.35"/>
<stop offset="100%" stop-color="#FFFFFF" stop-opacity="0"/>
</linearGradient>
</defs>
<g id="bg">
<rect width="1280" height="720" fill="#0A0E27"/>
<rect width="1280" height="720" fill="url(#bgGlowA)"/>
<rect width="1280" height="720" fill="url(#bgGlowB)"/>
</g>
<g id="header">
<rect x="60" y="58" width="6" height="32" rx="3" fill="url(#titleGradient)"/>
<text x="80" y="84" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="34" font-weight="900" fill="#E8ECFF">三道阻碍 Agent 落地的现实门槛</text>
<text x="80" y="116" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="600" fill="#A8B0D0" letter-spacing="3">PERFORMANCE · COST · QUALITY — THREE BARRIERS BETWEEN DEMO AND PRODUCTION</text>
</g>
<g id="pillar-perf">
<rect x="80" y="160" width="370" height="490" rx="18" fill="url(#pillarGlass)" stroke="#FFFFFF" stroke-opacity="0.16" stroke-width="1"/>
<rect x="98" y="161" width="334" height="1" fill="url(#glassEdge)"/>
<path d="M 98 160 h 334 a 18 18 0 0 1 18 18 v 110 h -370 v -110 a 18 18 0 0 1 18 -18 Z" fill="url(#headBlue)"/>
<circle cx="160" cy="220" r="32" fill="#0A0E27" fill-opacity="0.55"/>
<use data-icon="phosphor-duotone/gauge" x="136" y="196" width="48" height="48" fill="#3DDDFC"/>
<text x="208" y="208" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="700" fill="#E8ECFF" letter-spacing="3">PERFORMANCE</text>
<text x="208" y="240" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="26" font-weight="900" fill="#FFFFFF">性能不稳定</text>
<line x1="100" y1="320" x2="430" y2="320" stroke="#FFFFFF" stroke-opacity="0.16" stroke-width="1"/>
<text x="100" y="362" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="20" font-weight="700" fill="#E8ECFF">多步推理累积误差</text>
<text x="100" y="394" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="400" fill="#A8B0D0">每一步 LLM 调用都有 5-10% 抖动,</text>
<text x="100" y="416" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="400" fill="#A8B0D0">叠加后总成功率断崖式下滑。</text>
<text x="100" y="464" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="20" font-weight="700" fill="#E8ECFF">P95 延迟失控</text>
<text x="100" y="496" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="400" fill="#A8B0D0">链式调用让 P50 看似可控,</text>
<text x="100" y="518" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="400" fill="#A8B0D0">P95 / P99 翻 5-10 倍。</text>
<rect x="100" y="568" width="330" height="62" rx="12" fill="#5B8DEF" fill-opacity="0.18" stroke="#5B8DEF" stroke-opacity="0.5" stroke-width="1"/>
<text x="116" y="595" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#A8B0D0" letter-spacing="2">P95 / P50 RATIO</text>
<text x="416" y="610" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="28" font-weight="900" fill="#3DDDFC" text-anchor="end">5-10×</text>
</g>
<g id="pillar-cost">
<rect x="462" y="160" width="370" height="490" rx="18" fill="url(#pillarGlass)" stroke="#FFFFFF" stroke-opacity="0.16" stroke-width="1"/>
<rect x="480" y="161" width="334" height="1" fill="url(#glassEdge)"/>
<path d="M 480 160 h 334 a 18 18 0 0 1 18 18 v 110 h -370 v -110 a 18 18 0 0 1 18 -18 Z" fill="url(#headPurple)"/>
<circle cx="542" cy="220" r="32" fill="#0A0E27" fill-opacity="0.55"/>
<use data-icon="phosphor-duotone/coin" x="518" y="196" width="48" height="48" fill="#3DDDFC"/>
<text x="590" y="208" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="700" fill="#E8ECFF" letter-spacing="3">COST</text>
<text x="590" y="240" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="26" font-weight="900" fill="#FFFFFF">成本不可预测</text>
<line x1="482" y1="320" x2="812" y2="320" stroke="#FFFFFF" stroke-opacity="0.16" stroke-width="1"/>
<text x="482" y="362" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="20" font-weight="700" fill="#E8ECFF">Token 漂移 5-50 倍</text>
<text x="482" y="394" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="400" fill="#A8B0D0">同一任务,不同上下文长度、</text>
<text x="482" y="416" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="400" fill="#A8B0D0">检索条数、循环深度,价格分布极宽。</text>
<text x="482" y="464" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="20" font-weight="700" fill="#E8ECFF">长尾任务吞掉预算</text>
<text x="482" y="496" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="400" fill="#A8B0D0">5% 的疑难任务,</text>
<text x="482" y="518" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="400" fill="#A8B0D0">常常消耗 50% 以上的 token。</text>
<rect x="482" y="568" width="330" height="62" rx="12" fill="#A26BFA" fill-opacity="0.18" stroke="#A26BFA" stroke-opacity="0.5" stroke-width="1"/>
<text x="498" y="595" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#A8B0D0" letter-spacing="2">COST DRIFT RANGE</text>
<text x="798" y="610" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="28" font-weight="900" fill="#A26BFA" text-anchor="end">5-50×</text>
</g>
<g id="pillar-quality">
<rect x="844" y="160" width="370" height="490" rx="18" fill="url(#pillarGlass)" stroke="#FFFFFF" stroke-opacity="0.16" stroke-width="1"/>
<rect x="862" y="161" width="334" height="1" fill="url(#glassEdge)"/>
<path d="M 862 160 h 334 a 18 18 0 0 1 18 18 v 110 h -370 v -110 a 18 18 0 0 1 18 -18 Z" fill="url(#headPink)"/>
<circle cx="924" cy="220" r="32" fill="#0A0E27" fill-opacity="0.55"/>
<use data-icon="phosphor-duotone/bug" x="900" y="196" width="48" height="48" fill="#3DDDFC"/>
<text x="972" y="208" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="700" fill="#E8ECFF" letter-spacing="3">QUALITY</text>
<text x="972" y="240" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="26" font-weight="900" fill="#FFFFFF">质量难闭环</text>
<line x1="864" y1="320" x2="1194" y2="320" stroke="#FFFFFF" stroke-opacity="0.16" stroke-width="1"/>
<text x="864" y="362" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="20" font-weight="700" fill="#E8ECFF">失败原因模糊</text>
<text x="864" y="394" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="400" fill="#A8B0D0">是模型、提示词、工具,还是数据问题?</text>
<text x="864" y="416" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="400" fill="#A8B0D0">没有可观测层很难定位。</text>
<text x="864" y="464" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="20" font-weight="700" fill="#E8ECFF">回归测试缺失</text>
<text x="864" y="496" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="400" fill="#A8B0D0">改一个 prompt,就要担心</text>
<text x="864" y="518" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="400" fill="#A8B0D0">十个老 case 是否回退。</text>
<rect x="864" y="568" width="330" height="62" rx="12" fill="#FB7185" fill-opacity="0.18" stroke="#FB7185" stroke-opacity="0.5" stroke-width="1"/>
<text x="880" y="595" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#A8B0D0" letter-spacing="2">DEBUG CYCLE COST</text>
<text x="1180" y="610" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="28" font-weight="900" fill="#FB7185" text-anchor="end">3-7 天</text>
</g>
<g id="footer">
<text x="60" y="690" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#6B7299">现状 · 三大门槛</text>
<text x="1220" y="690" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#6B7299" text-anchor="end">03 / 12</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -0,0 +1,167 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
<defs>
<linearGradient id="titleGradient" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#5B8DEF"/>
<stop offset="50%" stop-color="#A26BFA"/>
<stop offset="100%" stop-color="#3DDDFC"/>
</linearGradient>
<linearGradient id="bgOverlay" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#0A0E27" stop-opacity="0.65"/>
<stop offset="100%" stop-color="#0A0E27" stop-opacity="0.78"/>
</linearGradient>
<linearGradient id="moduleGlass" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#1A2150" stop-opacity="0.78"/>
<stop offset="100%" stop-color="#1A2150" stop-opacity="0.45"/>
</linearGradient>
<linearGradient id="badgeBlue" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#5B8DEF" stop-opacity="0.55"/>
<stop offset="100%" stop-color="#5B8DEF" stop-opacity="0.18"/>
</linearGradient>
<linearGradient id="badgePurple" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#A26BFA" stop-opacity="0.55"/>
<stop offset="100%" stop-color="#A26BFA" stop-opacity="0.18"/>
</linearGradient>
<linearGradient id="badgeCyan" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#3DDDFC" stop-opacity="0.55"/>
<stop offset="100%" stop-color="#3DDDFC" stop-opacity="0.18"/>
</linearGradient>
<linearGradient id="badgeGreen" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#4ADE80" stop-opacity="0.55"/>
<stop offset="100%" stop-color="#4ADE80" stop-opacity="0.18"/>
</linearGradient>
<linearGradient id="glassEdge" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#FFFFFF" stop-opacity="0"/>
<stop offset="50%" stop-color="#FFFFFF" stop-opacity="0.3"/>
<stop offset="100%" stop-color="#FFFFFF" stop-opacity="0"/>
</linearGradient>
</defs>
<g id="bg">
<rect width="1280" height="720" fill="#0A0E27"/>
<image href="../images/04_agent_topology.png" x="0" y="0" width="1280" height="720" preserveAspectRatio="xMidYMid slice"/>
<rect x="0" y="0" width="1280" height="720" fill="url(#bgOverlay)"/>
</g>
<g id="header">
<rect x="60" y="50" width="6" height="32" rx="3" fill="url(#titleGradient)"/>
<text x="80" y="76" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="34" font-weight="900" fill="#E8ECFF">Agent 的四层骨架</text>
<text x="80" y="108" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="600" fill="#A8B0D0" letter-spacing="3">PERCEPTION · REASONING · ACTION · MEMORY</text>
</g>
<g id="layer-perception">
<rect x="60" y="140" width="170" height="120" rx="14" fill="url(#badgeBlue)" stroke="#5B8DEF" stroke-opacity="0.55" stroke-width="1"/>
<use data-icon="phosphor-duotone/eye" x="80" y="158" width="40" height="40" fill="#3DDDFC"/>
<text x="80" y="220" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="700" fill="#3DDDFC" letter-spacing="2">L1 · PERCEPTION</text>
<text x="80" y="246" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="22" font-weight="900" fill="#E8ECFF">感知层</text>
<g id="mod-p1">
<rect x="246" y="140" width="320" height="120" rx="14" fill="url(#moduleGlass)" stroke="#FFFFFF" stroke-opacity="0.14" stroke-width="1"/>
<rect x="264" y="141" width="284" height="1" fill="url(#glassEdge)"/>
<text x="266" y="178" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="18" font-weight="800" fill="#E8ECFF">输入解析</text>
<text x="266" y="206" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="400" fill="#A8B0D0">用户意图分类、槽位抽取</text>
<text x="266" y="228" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="400" fill="#A8B0D0">语言识别、敏感词过滤</text>
</g>
<g id="mod-p2">
<rect x="578" y="140" width="320" height="120" rx="14" fill="url(#moduleGlass)" stroke="#FFFFFF" stroke-opacity="0.14" stroke-width="1"/>
<rect x="596" y="141" width="284" height="1" fill="url(#glassEdge)"/>
<text x="598" y="178" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="18" font-weight="800" fill="#E8ECFF">多模态融合</text>
<text x="598" y="206" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="400" fill="#A8B0D0">文本 · 图像 · 表格 · 音频</text>
<text x="598" y="228" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="400" fill="#A8B0D0">统一为可推理的结构化输入</text>
</g>
<g id="mod-p3">
<rect x="910" y="140" width="310" height="120" rx="14" fill="url(#moduleGlass)" stroke="#FFFFFF" stroke-opacity="0.14" stroke-width="1"/>
<rect x="928" y="141" width="274" height="1" fill="url(#glassEdge)"/>
<text x="930" y="178" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="18" font-weight="800" fill="#E8ECFF">上下文窗口管理</text>
<text x="930" y="206" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="400" fill="#A8B0D0">动态截断、关键信息前置</text>
<text x="930" y="228" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="400" fill="#A8B0D0">应对长 prompt 退化</text>
</g>
</g>
<g id="layer-reasoning">
<rect x="60" y="272" width="170" height="120" rx="14" fill="url(#badgePurple)" stroke="#A26BFA" stroke-opacity="0.55" stroke-width="1"/>
<use data-icon="phosphor-duotone/brain" x="80" y="290" width="40" height="40" fill="#A26BFA"/>
<text x="80" y="352" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="700" fill="#A26BFA" letter-spacing="2">L2 · REASONING</text>
<text x="80" y="378" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="22" font-weight="900" fill="#E8ECFF">推理层</text>
<g id="mod-r1">
<rect x="246" y="272" width="320" height="120" rx="14" fill="url(#moduleGlass)" stroke="#FFFFFF" stroke-opacity="0.14" stroke-width="1"/>
<rect x="264" y="273" width="284" height="1" fill="url(#glassEdge)"/>
<text x="266" y="310" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="18" font-weight="800" fill="#E8ECFF">Plan / ReAct</text>
<text x="266" y="338" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="400" fill="#A8B0D0">先拆解,再推理 → 行动</text>
<text x="266" y="360" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="400" fill="#A8B0D0">观察结果再决定下一步</text>
</g>
<g id="mod-r2">
<rect x="578" y="272" width="320" height="120" rx="14" fill="url(#moduleGlass)" stroke="#FFFFFF" stroke-opacity="0.14" stroke-width="1"/>
<rect x="596" y="273" width="284" height="1" fill="url(#glassEdge)"/>
<text x="598" y="310" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="18" font-weight="800" fill="#E8ECFF">Tree-of-Thought</text>
<text x="598" y="338" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="400" fill="#A8B0D0">多路径展开 · 评估剪枝</text>
<text x="598" y="360" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="400" fill="#A8B0D0">适合搜索 · 规划 · 推理任务</text>
</g>
<g id="mod-r3">
<rect x="910" y="272" width="310" height="120" rx="14" fill="url(#moduleGlass)" stroke="#FFFFFF" stroke-opacity="0.14" stroke-width="1"/>
<rect x="928" y="273" width="274" height="1" fill="url(#glassEdge)"/>
<text x="930" y="310" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="18" font-weight="800" fill="#E8ECFF">Reflection</text>
<text x="930" y="338" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="400" fill="#A8B0D0">自检 · 自纠 · 自我评分</text>
<text x="930" y="360" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="400" fill="#A8B0D0">配合终止条件防止无限循环</text>
</g>
</g>
<g id="layer-action">
<rect x="60" y="404" width="170" height="120" rx="14" fill="url(#badgeCyan)" stroke="#3DDDFC" stroke-opacity="0.55" stroke-width="1"/>
<use data-icon="phosphor-duotone/lightning" x="80" y="422" width="40" height="40" fill="#3DDDFC"/>
<text x="80" y="484" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="700" fill="#3DDDFC" letter-spacing="2">L3 · ACTION</text>
<text x="80" y="510" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="22" font-weight="900" fill="#E8ECFF">行动层</text>
<g id="mod-a1">
<rect x="246" y="404" width="320" height="120" rx="14" fill="url(#moduleGlass)" stroke="#FFFFFF" stroke-opacity="0.14" stroke-width="1"/>
<rect x="264" y="405" width="284" height="1" fill="url(#glassEdge)"/>
<text x="266" y="442" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="18" font-weight="800" fill="#E8ECFF">工具调用</text>
<text x="266" y="470" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="400" fill="#A8B0D0">JSON schema 参数生成</text>
<text x="266" y="492" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="400" fill="#A8B0D0">超时 · 重试 · 鉴权治理</text>
</g>
<g id="mod-a2">
<rect x="578" y="404" width="320" height="120" rx="14" fill="url(#moduleGlass)" stroke="#FFFFFF" stroke-opacity="0.14" stroke-width="1"/>
<rect x="596" y="405" width="284" height="1" fill="url(#glassEdge)"/>
<text x="598" y="442" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="18" font-weight="800" fill="#E8ECFF">函数执行</text>
<text x="598" y="470" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="400" fill="#A8B0D0">沙盒 / 子进程 / WASM</text>
<text x="598" y="492" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="400" fill="#A8B0D0">代码生成必走隔离环境</text>
</g>
<g id="mod-a3">
<rect x="910" y="404" width="310" height="120" rx="14" fill="url(#moduleGlass)" stroke="#FFFFFF" stroke-opacity="0.14" stroke-width="1"/>
<rect x="928" y="405" width="274" height="1" fill="url(#glassEdge)"/>
<text x="930" y="442" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="18" font-weight="800" fill="#E8ECFF">API 编排</text>
<text x="930" y="470" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="400" fill="#A8B0D0">幂等 · 顺序 · 事务边界</text>
<text x="930" y="492" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="400" fill="#A8B0D0">幂等 key 防重复执行</text>
</g>
</g>
<g id="layer-memory">
<rect x="60" y="536" width="170" height="120" rx="14" fill="url(#badgeGreen)" stroke="#4ADE80" stroke-opacity="0.5" stroke-width="1"/>
<use data-icon="phosphor-duotone/database" x="80" y="554" width="40" height="40" fill="#4ADE80"/>
<text x="80" y="616" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="700" fill="#4ADE80" letter-spacing="2">L4 · MEMORY</text>
<text x="80" y="642" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="22" font-weight="900" fill="#E8ECFF">记忆层</text>
<g id="mod-m1">
<rect x="246" y="536" width="320" height="120" rx="14" fill="url(#moduleGlass)" stroke="#FFFFFF" stroke-opacity="0.14" stroke-width="1"/>
<rect x="264" y="537" width="284" height="1" fill="url(#glassEdge)"/>
<text x="266" y="574" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="18" font-weight="800" fill="#E8ECFF">短期上下文</text>
<text x="266" y="602" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="400" fill="#A8B0D0">当前对话 / 当前任务窗口</text>
<text x="266" y="624" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="400" fill="#A8B0D0">滚动摘要防溢出</text>
</g>
<g id="mod-m2">
<rect x="578" y="536" width="320" height="120" rx="14" fill="url(#moduleGlass)" stroke="#FFFFFF" stroke-opacity="0.14" stroke-width="1"/>
<rect x="596" y="537" width="284" height="1" fill="url(#glassEdge)"/>
<text x="598" y="574" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="18" font-weight="800" fill="#E8ECFF">长期向量库</text>
<text x="598" y="602" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="400" fill="#A8B0D0">用户偏好 / 历史知识 / FAQ</text>
<text x="598" y="624" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="400" fill="#A8B0D0">语义 + 元数据双索引</text>
</g>
<g id="mod-m3">
<rect x="910" y="536" width="310" height="120" rx="14" fill="url(#moduleGlass)" stroke="#FFFFFF" stroke-opacity="0.14" stroke-width="1"/>
<rect x="928" y="537" width="274" height="1" fill="url(#glassEdge)"/>
<text x="930" y="574" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="18" font-weight="800" fill="#E8ECFF">任务级缓存</text>
<text x="930" y="602" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="400" fill="#A8B0D0">中间检索 / 工具调用结果</text>
<text x="930" y="624" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="400" fill="#A8B0D0">避免重复计算 · 降本利器</text>
</g>
</g>
<g id="footer">
<text x="60" y="694" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#6B7299">Agent 四层骨架</text>
<text x="1220" y="694" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#6B7299" text-anchor="end">04 / 12</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -0,0 +1,139 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
<defs>
<linearGradient id="titleGradient" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#5B8DEF"/>
<stop offset="50%" stop-color="#A26BFA"/>
<stop offset="100%" stop-color="#3DDDFC"/>
</linearGradient>
<radialGradient id="bgGlowL" cx="10%" cy="50%" r="55%">
<stop offset="0%" stop-color="#5B8DEF" stop-opacity="0.18"/>
<stop offset="100%" stop-color="#5B8DEF" stop-opacity="0"/>
</radialGradient>
<radialGradient id="bgGlowC" cx="50%" cy="55%" r="50%">
<stop offset="0%" stop-color="#A26BFA" stop-opacity="0.22"/>
<stop offset="100%" stop-color="#A26BFA" stop-opacity="0"/>
</radialGradient>
<radialGradient id="bgGlowR" cx="90%" cy="50%" r="55%">
<stop offset="0%" stop-color="#3DDDFC" stop-opacity="0.18"/>
<stop offset="100%" stop-color="#3DDDFC" stop-opacity="0"/>
</radialGradient>
<linearGradient id="cardGlass" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#1A2150" stop-opacity="0.78"/>
<stop offset="100%" stop-color="#1A2150" stop-opacity="0.4"/>
</linearGradient>
<linearGradient id="cardGlassHi" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#A26BFA" stop-opacity="0.32"/>
<stop offset="50%" stop-color="#5B8DEF" stop-opacity="0.22"/>
<stop offset="100%" stop-color="#A26BFA" stop-opacity="0.32"/>
</linearGradient>
<linearGradient id="headBlue" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#5B8DEF" stop-opacity="0.82"/>
<stop offset="100%" stop-color="#5B8DEF" stop-opacity="0.32"/>
</linearGradient>
<linearGradient id="headPurple" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#A26BFA" stop-opacity="0.95"/>
<stop offset="100%" stop-color="#5B8DEF" stop-opacity="0.7"/>
</linearGradient>
<linearGradient id="headCyan" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#3DDDFC" stop-opacity="0.78"/>
<stop offset="100%" stop-color="#3DDDFC" stop-opacity="0.3"/>
</linearGradient>
<linearGradient id="glassEdge" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#FFFFFF" stop-opacity="0"/>
<stop offset="50%" stop-color="#FFFFFF" stop-opacity="0.4"/>
<stop offset="100%" stop-color="#FFFFFF" stop-opacity="0"/>
</linearGradient>
</defs>
<g id="bg">
<rect width="1280" height="720" fill="#0A0E27"/>
<rect width="1280" height="720" fill="url(#bgGlowL)"/>
<rect width="1280" height="720" fill="url(#bgGlowC)"/>
<rect width="1280" height="720" fill="url(#bgGlowR)"/>
</g>
<g id="header">
<text x="640" y="68" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="700" fill="#3DDDFC" letter-spacing="4" text-anchor="middle">CHOOSING THE RIGHT PATTERN</text>
<text x="640" y="112" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="34" font-weight="900" fill="#E8ECFF" text-anchor="middle">Workflow · Agent · Multi-Agent — 选哪种?</text>
<text x="640" y="142" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="400" fill="#A8B0D0" text-anchor="middle">三种主流模式按"路径确定性"递增 — 灵活性越高,工程化代价越大</text>
</g>
<g id="card-workflow">
<rect x="80" y="180" width="370" height="490" rx="20" fill="url(#cardGlass)" stroke="#FFFFFF" stroke-opacity="0.16" stroke-width="1"/>
<rect x="98" y="181" width="334" height="1" fill="url(#glassEdge)"/>
<path d="M 100 180 h 330 a 20 20 0 0 1 20 20 v 100 h -370 v -100 a 20 20 0 0 1 20 -20 Z" fill="url(#headBlue)"/>
<use data-icon="phosphor-duotone/flow-arrow" x="116" y="208" width="40" height="40" fill="#E8ECFF"/>
<text x="266" y="226" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="700" fill="#E8ECFF" letter-spacing="3" text-anchor="middle">PATTERN A</text>
<text x="266" y="266" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="28" font-weight="900" fill="#FFFFFF" text-anchor="middle">Workflow</text>
<text x="266" y="328" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="600" fill="#3DDDFC" letter-spacing="2" text-anchor="middle">DETERMINISTIC</text>
<line x1="120" y1="356" x2="412" y2="356" stroke="#FFFFFF" stroke-opacity="0.14"/>
<g id="wf-feat">
<circle cx="116" cy="395" r="4" fill="#5B8DEF"/>
<text x="132" y="400" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="16" font-weight="700" fill="#E8ECFF">路径固定</text>
<text x="132" y="422" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0">DAG 编排,LLM 只填空</text>
<circle cx="116" cy="465" r="4" fill="#5B8DEF"/>
<text x="132" y="470" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="16" font-weight="700" fill="#E8ECFF">可预测</text>
<text x="132" y="492" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0">每一步成本、延迟可量化</text>
<circle cx="116" cy="535" r="4" fill="#5B8DEF"/>
<text x="132" y="540" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="16" font-weight="700" fill="#E8ECFF">易调试</text>
<text x="132" y="562" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0">问题定位精确到节点</text>
</g>
<rect x="120" y="600" width="292" height="46" rx="10" fill="#5B8DEF" fill-opacity="0.15" stroke="#5B8DEF" stroke-opacity="0.5" stroke-width="1"/>
<text x="266" y="630" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="700" fill="#3DDDFC" text-anchor="middle">适合确定性任务</text>
</g>
<g id="card-agent">
<rect x="470" y="170" width="370" height="510" rx="20" fill="url(#cardGlassHi)" stroke="#A26BFA" stroke-opacity="0.75" stroke-width="1.5"/>
<rect x="488" y="171" width="334" height="1" fill="url(#glassEdge)"/>
<path d="M 490 170 h 330 a 20 20 0 0 1 20 20 v 110 h -370 v -110 a 20 20 0 0 1 20 -20 Z" fill="url(#headPurple)"/>
<rect x="588" y="148" width="134" height="28" rx="14" fill="#3DDDFC"/>
<text x="655" y="167" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="900" fill="#0A0E27" letter-spacing="2" text-anchor="middle">MOST COMMON</text>
<use data-icon="phosphor-duotone/robot" x="506" y="208" width="48" height="48" fill="#E8ECFF"/>
<text x="656" y="226" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="700" fill="#E8ECFF" letter-spacing="3" text-anchor="middle">PATTERN B</text>
<text x="656" y="266" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="28" font-weight="900" fill="#FFFFFF" text-anchor="middle">Agent</text>
<text x="656" y="338" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="600" fill="#3DDDFC" letter-spacing="2" text-anchor="middle">EXPLORATORY</text>
<line x1="510" y1="366" x2="802" y2="366" stroke="#FFFFFF" stroke-opacity="0.18"/>
<g id="ag-feat">
<circle cx="506" cy="405" r="4" fill="#A26BFA"/>
<text x="522" y="410" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="16" font-weight="700" fill="#E8ECFF">路径动态</text>
<text x="522" y="432" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0">运行时按情境自选下一步</text>
<circle cx="506" cy="475" r="4" fill="#A26BFA"/>
<text x="522" y="480" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="16" font-weight="700" fill="#E8ECFF">LLM 决策</text>
<text x="522" y="502" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0">用模型判断 → 工具/继续/终止</text>
<circle cx="506" cy="545" r="4" fill="#A26BFA"/>
<text x="522" y="550" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="16" font-weight="700" fill="#E8ECFF">工具调用</text>
<text x="522" y="572" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0">检索 · 计算 · 业务 API</text>
</g>
<rect x="510" y="610" width="292" height="46" rx="10" fill="#A26BFA" fill-opacity="0.25" stroke="#A26BFA" stroke-opacity="0.7" stroke-width="1"/>
<text x="656" y="640" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="700" fill="#E8ECFF" text-anchor="middle">适合半结构化探索</text>
</g>
<g id="card-multi">
<rect x="860" y="180" width="370" height="490" rx="20" fill="url(#cardGlass)" stroke="#FFFFFF" stroke-opacity="0.16" stroke-width="1"/>
<rect x="878" y="181" width="334" height="1" fill="url(#glassEdge)"/>
<path d="M 880 180 h 330 a 20 20 0 0 1 20 20 v 100 h -370 v -100 a 20 20 0 0 1 20 -20 Z" fill="url(#headCyan)"/>
<use data-icon="phosphor-duotone/users-three" x="896" y="208" width="40" height="40" fill="#E8ECFF"/>
<text x="1046" y="226" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="700" fill="#E8ECFF" letter-spacing="3" text-anchor="middle">PATTERN C</text>
<text x="1046" y="266" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="28" font-weight="900" fill="#FFFFFF" text-anchor="middle">Multi-Agent</text>
<text x="1046" y="328" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="600" fill="#3DDDFC" letter-spacing="2" text-anchor="middle">COLLABORATIVE</text>
<line x1="900" y1="356" x2="1192" y2="356" stroke="#FFFFFF" stroke-opacity="0.14"/>
<g id="ma-feat">
<circle cx="896" cy="395" r="4" fill="#3DDDFC"/>
<text x="912" y="400" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="16" font-weight="700" fill="#E8ECFF">多角色协作</text>
<text x="912" y="422" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0">Planner · Critic · Worker</text>
<circle cx="896" cy="465" r="4" fill="#3DDDFC"/>
<text x="912" y="470" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="16" font-weight="700" fill="#E8ECFF">任务分发</text>
<text x="912" y="492" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0">并发 / 串联 / 投票仲裁</text>
<circle cx="896" cy="535" r="4" fill="#3DDDFC"/>
<text x="912" y="540" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="16" font-weight="700" fill="#E8ECFF">上下文共享</text>
<text x="912" y="562" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0">共享黑板 / 消息总线</text>
</g>
<rect x="900" y="600" width="292" height="46" rx="10" fill="#3DDDFC" fill-opacity="0.18" stroke="#3DDDFC" stroke-opacity="0.55" stroke-width="1"/>
<text x="1046" y="630" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="700" fill="#3DDDFC" text-anchor="middle">适合复杂长程任务</text>
</g>
<g id="footer">
<text x="60" y="700" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#6B7299">三种模式 · 路径确定性递减</text>
<text x="1220" y="700" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#6B7299" text-anchor="end">05 / 12</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -0,0 +1,153 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
<defs>
<linearGradient id="titleGradient" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#5B8DEF"/>
<stop offset="50%" stop-color="#A26BFA"/>
<stop offset="100%" stop-color="#3DDDFC"/>
</linearGradient>
<linearGradient id="bgOverlay" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#0A0E27" stop-opacity="0.62"/>
<stop offset="100%" stop-color="#0A0E27" stop-opacity="0.78"/>
</linearGradient>
<linearGradient id="stepGlass" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#1A2150" stop-opacity="0.78"/>
<stop offset="100%" stop-color="#1A2150" stop-opacity="0.4"/>
</linearGradient>
<linearGradient id="stepHi" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#5B8DEF" stop-opacity="0.65"/>
<stop offset="100%" stop-color="#A26BFA" stop-opacity="0.45"/>
</linearGradient>
<linearGradient id="flowLine" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#5B8DEF" stop-opacity="0"/>
<stop offset="10%" stop-color="#5B8DEF" stop-opacity="0.7"/>
<stop offset="50%" stop-color="#A26BFA" stop-opacity="0.7"/>
<stop offset="90%" stop-color="#3DDDFC" stop-opacity="0.7"/>
<stop offset="100%" stop-color="#3DDDFC" stop-opacity="0"/>
</linearGradient>
<linearGradient id="glassEdge" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#FFFFFF" stop-opacity="0"/>
<stop offset="50%" stop-color="#FFFFFF" stop-opacity="0.32"/>
<stop offset="100%" stop-color="#FFFFFF" stop-opacity="0"/>
</linearGradient>
<marker id="flowArrow" markerWidth="10" markerHeight="10" refX="9" refY="5" orient="auto">
<path d="M 0 1 L 9 5 L 0 9 Z" fill="#3DDDFC"/>
</marker>
</defs>
<g id="bg">
<rect width="1280" height="720" fill="#0A0E27"/>
<image href="../images/06_pipeline_flow.png" x="0" y="0" width="1280" height="720" preserveAspectRatio="xMidYMid slice"/>
<rect x="0" y="0" width="1280" height="720" fill="url(#bgOverlay)"/>
</g>
<g id="header">
<rect x="60" y="50" width="6" height="32" rx="3" fill="url(#titleGradient)"/>
<text x="80" y="76" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="34" font-weight="900" fill="#E8ECFF">让工具调用从"能跑"到"稳跑"</text>
<text x="80" y="108" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="600" fill="#A8B0D0" letter-spacing="3">TOOL ORCHESTRATION · A SIX-STEP DISCIPLINE</text>
</g>
<g id="flow-axis">
<line x1="60" y1="200" x2="1220" y2="200" stroke="url(#flowLine)" stroke-width="2" stroke-dasharray="6 6"/>
</g>
<g id="step-1">
<circle cx="145" cy="200" r="22" fill="#0A0E27" stroke="#5B8DEF" stroke-width="2"/>
<text x="145" y="207" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="900" fill="#5B8DEF" text-anchor="middle">01</text>
<rect x="60" y="244" width="170" height="356" rx="16" fill="url(#stepGlass)" stroke="#FFFFFF" stroke-opacity="0.14" stroke-width="1"/>
<rect x="78" y="245" width="134" height="1" fill="url(#glassEdge)"/>
<use data-icon="phosphor-duotone/magnifying-glass" x="125" y="270" width="40" height="40" fill="#5B8DEF"/>
<text x="145" y="346" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="18" font-weight="900" fill="#E8ECFF" text-anchor="middle">解析任务</text>
<line x1="92" y1="368" x2="198" y2="368" stroke="#FFFFFF" stroke-opacity="0.16"/>
<text x="145" y="404" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0" text-anchor="middle">拆解用户意图</text>
<text x="145" y="425" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0" text-anchor="middle">明确目标和约束</text>
<text x="145" y="475" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0" text-anchor="middle">输出:</text>
<text x="145" y="498" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="700" fill="#3DDDFC" text-anchor="middle">subtasks[]</text>
<rect x="80" y="560" width="130" height="24" rx="12" fill="#5B8DEF" fill-opacity="0.2" stroke="#5B8DEF" stroke-opacity="0.5" stroke-width="1"/>
<text x="145" y="577" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="11" font-weight="700" fill="#5B8DEF" text-anchor="middle" letter-spacing="2">PLAN</text>
</g>
<g id="step-2">
<circle cx="343" cy="200" r="22" fill="#0A0E27" stroke="#5B8DEF" stroke-width="2"/>
<text x="343" y="207" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="900" fill="#5B8DEF" text-anchor="middle">02</text>
<rect x="258" y="244" width="170" height="356" rx="16" fill="url(#stepGlass)" stroke="#FFFFFF" stroke-opacity="0.14" stroke-width="1"/>
<rect x="276" y="245" width="134" height="1" fill="url(#glassEdge)"/>
<use data-icon="phosphor-duotone/target" x="323" y="270" width="40" height="40" fill="#5B8DEF"/>
<text x="343" y="346" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="18" font-weight="900" fill="#E8ECFF" text-anchor="middle">选择工具</text>
<line x1="290" y1="368" x2="396" y2="368" stroke="#FFFFFF" stroke-opacity="0.16"/>
<text x="343" y="404" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0" text-anchor="middle">schema 匹配</text>
<text x="343" y="425" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0" text-anchor="middle">描述向量检索</text>
<text x="343" y="475" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0" text-anchor="middle">输出:</text>
<text x="343" y="498" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="700" fill="#3DDDFC" text-anchor="middle">tool + args</text>
<rect x="278" y="560" width="130" height="24" rx="12" fill="#5B8DEF" fill-opacity="0.2" stroke="#5B8DEF" stroke-opacity="0.5" stroke-width="1"/>
<text x="343" y="577" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="11" font-weight="700" fill="#5B8DEF" text-anchor="middle" letter-spacing="2">SELECT</text>
</g>
<g id="step-3">
<circle cx="541" cy="200" r="22" fill="#0A0E27" stroke="#A26BFA" stroke-width="2"/>
<text x="541" y="207" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="900" fill="#A26BFA" text-anchor="middle">03</text>
<rect x="456" y="244" width="170" height="356" rx="16" fill="url(#stepGlass)" stroke="#FFFFFF" stroke-opacity="0.14" stroke-width="1"/>
<rect x="474" y="245" width="134" height="1" fill="url(#glassEdge)"/>
<use data-icon="phosphor-duotone/plug" x="521" y="270" width="40" height="40" fill="#A26BFA"/>
<text x="541" y="346" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="18" font-weight="900" fill="#E8ECFF" text-anchor="middle">调用执行</text>
<line x1="488" y1="368" x2="594" y2="368" stroke="#FFFFFF" stroke-opacity="0.16"/>
<text x="541" y="404" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0" text-anchor="middle">超时控制</text>
<text x="541" y="425" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0" text-anchor="middle">幂等 key</text>
<text x="541" y="475" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0" text-anchor="middle">输出:</text>
<text x="541" y="498" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="700" fill="#3DDDFC" text-anchor="middle">raw_result</text>
<rect x="476" y="560" width="130" height="24" rx="12" fill="#A26BFA" fill-opacity="0.2" stroke="#A26BFA" stroke-opacity="0.5" stroke-width="1"/>
<text x="541" y="577" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="11" font-weight="700" fill="#A26BFA" text-anchor="middle" letter-spacing="2">EXECUTE</text>
</g>
<g id="step-4">
<circle cx="739" cy="200" r="22" fill="#0A0E27" stroke="#A26BFA" stroke-width="2"/>
<text x="739" y="207" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="900" fill="#A26BFA" text-anchor="middle">04</text>
<rect x="654" y="244" width="170" height="356" rx="16" fill="url(#stepGlass)" stroke="#FFFFFF" stroke-opacity="0.14" stroke-width="1"/>
<rect x="672" y="245" width="134" height="1" fill="url(#glassEdge)"/>
<use data-icon="phosphor-duotone/check-circle" x="719" y="270" width="40" height="40" fill="#A26BFA"/>
<text x="739" y="346" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="18" font-weight="900" fill="#E8ECFF" text-anchor="middle">验证返回</text>
<line x1="686" y1="368" x2="792" y2="368" stroke="#FFFFFF" stroke-opacity="0.16"/>
<text x="739" y="404" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0" text-anchor="middle">JSON schema</text>
<text x="739" y="425" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0" text-anchor="middle">业务规则</text>
<text x="739" y="475" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0" text-anchor="middle">输出:</text>
<text x="739" y="498" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="700" fill="#3DDDFC" text-anchor="middle">valid / fail</text>
<rect x="674" y="560" width="130" height="24" rx="12" fill="#A26BFA" fill-opacity="0.2" stroke="#A26BFA" stroke-opacity="0.5" stroke-width="1"/>
<text x="739" y="577" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="11" font-weight="700" fill="#A26BFA" text-anchor="middle" letter-spacing="2">VALIDATE</text>
</g>
<g id="step-5">
<circle cx="937" cy="200" r="22" fill="#0A0E27" stroke="#3DDDFC" stroke-width="2"/>
<text x="937" y="207" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="900" fill="#3DDDFC" text-anchor="middle">05</text>
<rect x="852" y="244" width="170" height="356" rx="16" fill="url(#stepGlass)" stroke="#FFFFFF" stroke-opacity="0.14" stroke-width="1"/>
<rect x="870" y="245" width="134" height="1" fill="url(#glassEdge)"/>
<use data-icon="phosphor-duotone/arrows-clockwise" x="917" y="270" width="40" height="40" fill="#3DDDFC"/>
<text x="937" y="346" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="18" font-weight="900" fill="#E8ECFF" text-anchor="middle">重试回退</text>
<line x1="884" y1="368" x2="990" y2="368" stroke="#FFFFFF" stroke-opacity="0.16"/>
<text x="937" y="404" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0" text-anchor="middle">指数退避</text>
<text x="937" y="425" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0" text-anchor="middle">降级路径</text>
<text x="937" y="475" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0" text-anchor="middle">输出:</text>
<text x="937" y="498" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="700" fill="#3DDDFC" text-anchor="middle">retry / fallback</text>
<rect x="872" y="560" width="130" height="24" rx="12" fill="#3DDDFC" fill-opacity="0.2" stroke="#3DDDFC" stroke-opacity="0.5" stroke-width="1"/>
<text x="937" y="577" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="11" font-weight="700" fill="#3DDDFC" text-anchor="middle" letter-spacing="2">RECOVER</text>
</g>
<g id="step-6">
<circle cx="1135" cy="200" r="22" fill="#0A0E27" stroke="#4ADE80" stroke-width="2"/>
<text x="1135" y="207" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="900" fill="#4ADE80" text-anchor="middle">06</text>
<rect x="1050" y="244" width="170" height="356" rx="16" fill="url(#stepHi)" stroke="#4ADE80" stroke-opacity="0.55" stroke-width="1"/>
<rect x="1068" y="245" width="134" height="1" fill="url(#glassEdge)"/>
<use data-icon="phosphor-duotone/stack" x="1115" y="270" width="40" height="40" fill="#4ADE80"/>
<text x="1135" y="346" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="18" font-weight="900" fill="#FFFFFF" text-anchor="middle">结果汇总</text>
<line x1="1082" y1="368" x2="1188" y2="368" stroke="#FFFFFF" stroke-opacity="0.18"/>
<text x="1135" y="404" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#E8ECFF" text-anchor="middle">多轮聚合</text>
<text x="1135" y="425" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#E8ECFF" text-anchor="middle">引用与可解释化</text>
<text x="1135" y="475" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#E8ECFF" text-anchor="middle">输出:</text>
<text x="1135" y="498" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="700" fill="#4ADE80" text-anchor="middle">final answer</text>
<rect x="1070" y="560" width="130" height="24" rx="12" fill="#4ADE80" fill-opacity="0.25" stroke="#4ADE80" stroke-opacity="0.7" stroke-width="1"/>
<text x="1135" y="577" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="11" font-weight="700" fill="#4ADE80" text-anchor="middle" letter-spacing="2">DELIVER</text>
</g>
<g id="footer">
<text x="60" y="694" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#6B7299">每步都可观测 · 每步都有回退</text>
<text x="1220" y="694" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#6B7299" text-anchor="end">06 / 12</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -0,0 +1,127 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
<defs>
<linearGradient id="titleGradient" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#5B8DEF"/>
<stop offset="50%" stop-color="#A26BFA"/>
<stop offset="100%" stop-color="#3DDDFC"/>
</linearGradient>
<linearGradient id="bgOverlay" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#0A0E27" stop-opacity="0.6"/>
<stop offset="100%" stop-color="#0A0E27" stop-opacity="0.78"/>
</linearGradient>
<linearGradient id="hubGrad" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#5B8DEF"/>
<stop offset="50%" stop-color="#A26BFA"/>
<stop offset="100%" stop-color="#3DDDFC"/>
</linearGradient>
<linearGradient id="spokeGlass" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#1A2150" stop-opacity="0.85"/>
<stop offset="100%" stop-color="#1A2150" stop-opacity="0.5"/>
</linearGradient>
<linearGradient id="glassEdge" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#FFFFFF" stop-opacity="0"/>
<stop offset="50%" stop-color="#FFFFFF" stop-opacity="0.3"/>
<stop offset="100%" stop-color="#FFFFFF" stop-opacity="0"/>
</linearGradient>
</defs>
<g id="bg">
<rect width="1280" height="720" fill="#0A0E27"/>
<image href="../images/07_context_sphere.png" x="0" y="0" width="1280" height="720" preserveAspectRatio="xMidYMid slice"/>
<rect x="0" y="0" width="1280" height="720" fill="url(#bgOverlay)"/>
</g>
<g id="header">
<rect x="60" y="50" width="6" height="32" rx="3" fill="url(#titleGradient)"/>
<text x="80" y="76" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="34" font-weight="900" fill="#E8ECFF">上下文,才是 Agent 真正的"权重"</text>
<text x="80" y="108" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="600" fill="#A8B0D0" letter-spacing="3">CONTEXT ENGINEERING · 1 CORE + 6 CAPABILITIES</text>
</g>
<g id="orbit-rings">
<circle cx="640" cy="410" r="160" fill="none" stroke="#FFFFFF" stroke-opacity="0.08" stroke-width="1"/>
<circle cx="640" cy="410" r="240" fill="none" stroke="#FFFFFF" stroke-opacity="0.06" stroke-width="1" stroke-dasharray="4 6"/>
</g>
<g id="spoke-lines">
<line x1="640" y1="410" x2="640" y2="180" stroke="#5B8DEF" stroke-opacity="0.4" stroke-width="2" stroke-dasharray="6 6"/>
<line x1="640" y1="410" x2="870" y2="270" stroke="#A26BFA" stroke-opacity="0.4" stroke-width="2" stroke-dasharray="6 6"/>
<line x1="640" y1="410" x2="870" y2="540" stroke="#3DDDFC" stroke-opacity="0.4" stroke-width="2" stroke-dasharray="6 6"/>
<line x1="640" y1="410" x2="640" y2="640" stroke="#4ADE80" stroke-opacity="0.4" stroke-width="2" stroke-dasharray="6 6"/>
<line x1="640" y1="410" x2="410" y2="540" stroke="#3DDDFC" stroke-opacity="0.4" stroke-width="2" stroke-dasharray="6 6"/>
<line x1="640" y1="410" x2="410" y2="270" stroke="#A26BFA" stroke-opacity="0.4" stroke-width="2" stroke-dasharray="6 6"/>
</g>
<g id="hub">
<circle cx="640" cy="410" r="92" fill="#5B8DEF" fill-opacity="0.2"/>
<circle cx="640" cy="410" r="78" fill="url(#hubGrad)"/>
<circle cx="640" cy="410" r="68" fill="none" stroke="#FFFFFF" stroke-opacity="0.4" stroke-width="1"/>
<use data-icon="phosphor-duotone/cube" x="616" y="380" width="48" height="48" fill="#FFFFFF"/>
<text x="640" y="455" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="16" font-weight="900" fill="#FFFFFF" text-anchor="middle">CONTEXT</text>
<text x="640" y="474" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="600" fill="#E8ECFF" text-anchor="middle" letter-spacing="3">ENGINEERING</text>
</g>
<g id="spoke-retrieval">
<rect x="520" y="140" width="240" height="80" rx="14" fill="url(#spokeGlass)" stroke="#5B8DEF" stroke-opacity="0.55" stroke-width="1"/>
<rect x="538" y="141" width="204" height="1" fill="url(#glassEdge)"/>
<rect x="520" y="164" width="4" height="32" rx="2" fill="#5B8DEF"/>
<rect x="540" y="156" width="44" height="44" rx="10" fill="#5B8DEF" fill-opacity="0.2"/>
<use data-icon="phosphor-duotone/magnifying-glass" x="548" y="164" width="28" height="28" fill="#5B8DEF"/>
<text x="600" y="174" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="17" font-weight="800" fill="#E8ECFF">检索</text>
<text x="600" y="200" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="500" fill="#A8B0D0">RAG · 向量召回 · BM25 混排</text>
</g>
<g id="spoke-rerank">
<rect x="750" y="230" width="240" height="80" rx="14" fill="url(#spokeGlass)" stroke="#A26BFA" stroke-opacity="0.55" stroke-width="1"/>
<rect x="768" y="231" width="204" height="1" fill="url(#glassEdge)"/>
<rect x="750" y="254" width="4" height="32" rx="2" fill="#A26BFA"/>
<rect x="770" y="246" width="44" height="44" rx="10" fill="#A26BFA" fill-opacity="0.2"/>
<use data-icon="phosphor-duotone/funnel" x="778" y="254" width="28" height="28" fill="#A26BFA"/>
<text x="830" y="264" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="17" font-weight="800" fill="#E8ECFF">重排</text>
<text x="830" y="290" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="500" fill="#A8B0D0">Reranker · Top-K 精筛</text>
</g>
<g id="spoke-truncate">
<rect x="750" y="500" width="240" height="80" rx="14" fill="url(#spokeGlass)" stroke="#3DDDFC" stroke-opacity="0.55" stroke-width="1"/>
<rect x="768" y="501" width="204" height="1" fill="url(#glassEdge)"/>
<rect x="750" y="524" width="4" height="32" rx="2" fill="#3DDDFC"/>
<rect x="770" y="516" width="44" height="44" rx="10" fill="#3DDDFC" fill-opacity="0.2"/>
<use data-icon="phosphor-duotone/scales" x="778" y="524" width="28" height="28" fill="#3DDDFC"/>
<text x="830" y="534" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="17" font-weight="800" fill="#E8ECFF">截断</text>
<text x="830" y="560" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="500" fill="#A8B0D0">Token 预算 · 关键信息优先</text>
</g>
<g id="spoke-memory">
<rect x="520" y="600" width="240" height="80" rx="14" fill="url(#spokeGlass)" stroke="#4ADE80" stroke-opacity="0.5" stroke-width="1"/>
<rect x="538" y="601" width="204" height="1" fill="url(#glassEdge)"/>
<rect x="520" y="624" width="4" height="32" rx="2" fill="#4ADE80"/>
<rect x="540" y="616" width="44" height="44" rx="10" fill="#4ADE80" fill-opacity="0.2"/>
<use data-icon="phosphor-duotone/database" x="548" y="624" width="28" height="28" fill="#4ADE80"/>
<text x="600" y="634" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="17" font-weight="800" fill="#E8ECFF">记忆</text>
<text x="600" y="660" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="500" fill="#A8B0D0">长 / 短期 · 会话状态</text>
</g>
<g id="spoke-tools">
<rect x="290" y="500" width="240" height="80" rx="14" fill="url(#spokeGlass)" stroke="#3DDDFC" stroke-opacity="0.55" stroke-width="1"/>
<rect x="308" y="501" width="204" height="1" fill="url(#glassEdge)"/>
<rect x="290" y="524" width="4" height="32" rx="2" fill="#3DDDFC"/>
<rect x="310" y="516" width="44" height="44" rx="10" fill="#3DDDFC" fill-opacity="0.2"/>
<use data-icon="phosphor-duotone/gear" x="318" y="524" width="28" height="28" fill="#3DDDFC"/>
<text x="370" y="534" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="17" font-weight="800" fill="#E8ECFF">工具说明</text>
<text x="370" y="560" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="500" fill="#A8B0D0">Tool schema · 示例描述</text>
</g>
<g id="spoke-system">
<rect x="290" y="230" width="240" height="80" rx="14" fill="url(#spokeGlass)" stroke="#A26BFA" stroke-opacity="0.55" stroke-width="1"/>
<rect x="308" y="231" width="204" height="1" fill="url(#glassEdge)"/>
<rect x="290" y="254" width="4" height="32" rx="2" fill="#A26BFA"/>
<rect x="310" y="246" width="44" height="44" rx="10" fill="#A26BFA" fill-opacity="0.2"/>
<use data-icon="phosphor-duotone/code-block" x="318" y="254" width="28" height="28" fill="#A26BFA"/>
<text x="370" y="264" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="17" font-weight="800" fill="#E8ECFF">系统提示</text>
<text x="370" y="290" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="500" fill="#A8B0D0">Persona · 输出格式 · 安全</text>
</g>
<g id="footer">
<text x="60" y="694" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#6B7299">上下文工程 · 让 LLM 知道"该看什么"</text>
<text x="1220" y="694" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#6B7299" text-anchor="end">07 / 12</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 9.4 KiB

View File

@@ -0,0 +1,110 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
<defs>
<linearGradient id="titleGradient" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#5B8DEF"/>
<stop offset="50%" stop-color="#A26BFA"/>
<stop offset="100%" stop-color="#3DDDFC"/>
</linearGradient>
<linearGradient id="bgOverlay" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#0A0E27" stop-opacity="0.62"/>
<stop offset="100%" stop-color="#0A0E27" stop-opacity="0.74"/>
</linearGradient>
<linearGradient id="kpiGlass" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#1A2150" stop-opacity="0.78"/>
<stop offset="100%" stop-color="#1A2150" stop-opacity="0.42"/>
</linearGradient>
<linearGradient id="glassEdge" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#FFFFFF" stop-opacity="0"/>
<stop offset="50%" stop-color="#FFFFFF" stop-opacity="0.35"/>
<stop offset="100%" stop-color="#FFFFFF" stop-opacity="0"/>
</linearGradient>
</defs>
<g id="bg">
<rect width="1280" height="720" fill="#0A0E27"/>
<image href="../images/08_dashboard_bokeh.png" x="0" y="0" width="1280" height="720" preserveAspectRatio="xMidYMid slice"/>
<rect x="0" y="0" width="1280" height="720" fill="url(#bgOverlay)"/>
</g>
<g id="header">
<rect x="60" y="50" width="6" height="32" rx="3" fill="url(#titleGradient)"/>
<text x="80" y="76" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="34" font-weight="900" fill="#E8ECFF">上生产前,先把四张表盘装上</text>
<text x="80" y="108" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="600" fill="#A8B0D0" letter-spacing="3">KPI DASHBOARD · WEEKLY ROLLUP</text>
<rect x="1100" y="55" width="120" height="34" rx="17" fill="#1A2150" fill-opacity="0.6" stroke="#3DDDFC" stroke-opacity="0.5" stroke-width="1"/>
<circle cx="1118" cy="72" r="4" fill="#4ADE80"/>
<text x="1132" y="78" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="700" fill="#E8ECFF" letter-spacing="2">LIVE · W12</text>
</g>
<g id="kpi-accuracy">
<rect x="80" y="160" width="560" height="240" rx="20" fill="url(#kpiGlass)" stroke="#FFFFFF" stroke-opacity="0.16" stroke-width="1"/>
<rect x="98" y="161" width="524" height="1" fill="url(#glassEdge)"/>
<rect x="98" y="184" width="6" height="60" rx="3" fill="#4ADE80"/>
<rect x="120" y="180" width="50" height="50" rx="12" fill="#4ADE80" fill-opacity="0.2"/>
<use data-icon="phosphor-duotone/check-circle" x="127" y="187" width="36" height="36" fill="#4ADE80"/>
<text x="186" y="200" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="700" fill="#4ADE80" letter-spacing="3">ACCURACY</text>
<text x="186" y="228" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="20" font-weight="800" fill="#E8ECFF">任务成功率</text>
<text x="100" y="334" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="88" font-weight="900" fill="#FFFFFF" letter-spacing="-2">92.4</text>
<text x="358" y="334" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="38" font-weight="700" fill="#A8B0D0">%</text>
<polygon points="430,290 446,308 414,308" fill="#4ADE80"/>
<text x="456" y="306" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="20" font-weight="800" fill="#4ADE80">+3.2 pp</text>
<text x="456" y="328" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="500" fill="#A8B0D0">vs. 上周</text>
<line x1="100" y1="360" x2="620" y2="360" stroke="#FFFFFF" stroke-opacity="0.12"/>
<text x="100" y="384" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="500" fill="#A8B0D0">12 周累计提升 21.4 pp · 接近内部 SLO 95% 阈值</text>
</g>
<g id="kpi-latency">
<rect x="660" y="160" width="540" height="240" rx="20" fill="url(#kpiGlass)" stroke="#FFFFFF" stroke-opacity="0.16" stroke-width="1"/>
<rect x="678" y="161" width="504" height="1" fill="url(#glassEdge)"/>
<rect x="678" y="184" width="6" height="60" rx="3" fill="#5B8DEF"/>
<rect x="700" y="180" width="50" height="50" rx="12" fill="#5B8DEF" fill-opacity="0.2"/>
<use data-icon="phosphor-duotone/gauge" x="707" y="187" width="36" height="36" fill="#5B8DEF"/>
<text x="766" y="200" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="700" fill="#5B8DEF" letter-spacing="3">LATENCY</text>
<text x="766" y="228" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="20" font-weight="800" fill="#E8ECFF">P95 端到端延迟</text>
<text x="680" y="334" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="88" font-weight="900" fill="#FFFFFF" letter-spacing="-2">4.8</text>
<text x="836" y="334" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="38" font-weight="700" fill="#A8B0D0">s</text>
<polygon points="920,308 936,290 904,290" fill="#4ADE80"/>
<text x="946" y="306" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="20" font-weight="800" fill="#4ADE80">18%</text>
<text x="946" y="328" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="500" fill="#A8B0D0">vs. 上周</text>
<line x1="680" y1="360" x2="1180" y2="360" stroke="#FFFFFF" stroke-opacity="0.12"/>
<text x="680" y="384" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="500" fill="#A8B0D0">引入并发工具调用 + 结果缓存后,P95 从 11.2s 收敛至 4.8s</text>
</g>
<g id="kpi-cost">
<rect x="80" y="430" width="560" height="240" rx="20" fill="url(#kpiGlass)" stroke="#FFFFFF" stroke-opacity="0.16" stroke-width="1"/>
<rect x="98" y="431" width="524" height="1" fill="url(#glassEdge)"/>
<rect x="98" y="454" width="6" height="60" rx="3" fill="#A26BFA"/>
<rect x="120" y="450" width="50" height="50" rx="12" fill="#A26BFA" fill-opacity="0.2"/>
<use data-icon="phosphor-duotone/coin" x="127" y="457" width="36" height="36" fill="#A26BFA"/>
<text x="186" y="470" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="700" fill="#A26BFA" letter-spacing="3">COST</text>
<text x="186" y="498" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="20" font-weight="800" fill="#E8ECFF">单次任务成本</text>
<text x="100" y="604" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="56" font-weight="700" fill="#A8B0D0">¥</text>
<text x="140" y="604" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="88" font-weight="900" fill="#FFFFFF" letter-spacing="-2">0.42</text>
<polygon points="430,578 446,560 414,560" fill="#4ADE80"/>
<text x="456" y="576" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="20" font-weight="800" fill="#4ADE80">22%</text>
<text x="456" y="598" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="500" fill="#A8B0D0">vs. 上周</text>
<line x1="100" y1="630" x2="620" y2="630" stroke="#FFFFFF" stroke-opacity="0.12"/>
<text x="100" y="654" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="500" fill="#A8B0D0">关键来源:模型分级路由 + 检索结果缓存复用</text>
</g>
<g id="kpi-reliability">
<rect x="660" y="430" width="540" height="240" rx="20" fill="url(#kpiGlass)" stroke="#FFFFFF" stroke-opacity="0.16" stroke-width="1"/>
<rect x="678" y="431" width="504" height="1" fill="url(#glassEdge)"/>
<rect x="678" y="454" width="6" height="60" rx="3" fill="#3DDDFC"/>
<rect x="700" y="450" width="50" height="50" rx="12" fill="#3DDDFC" fill-opacity="0.2"/>
<use data-icon="phosphor-duotone/shield-check" x="707" y="457" width="36" height="36" fill="#3DDDFC"/>
<text x="766" y="470" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="700" fill="#3DDDFC" letter-spacing="3">RELIABILITY</text>
<text x="766" y="498" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="20" font-weight="800" fill="#E8ECFF">30 天 SLO 达成率</text>
<text x="680" y="604" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="88" font-weight="900" fill="#FFFFFF" letter-spacing="-2">99.7</text>
<text x="900" y="604" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="38" font-weight="700" fill="#A8B0D0">%</text>
<polygon points="970,578 986,560 954,560" fill="#4ADE80"/>
<text x="996" y="576" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="20" font-weight="800" fill="#4ADE80">+0.4 pp</text>
<text x="996" y="598" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="500" fill="#A8B0D0">vs. 30 日前</text>
<line x1="680" y1="630" x2="1180" y2="630" stroke="#FFFFFF" stroke-opacity="0.12"/>
<text x="680" y="654" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="500" fill="#A8B0D0">熔断 + 降级链路 + 多模型 fallback 兜住了三次上游事故</text>
</g>
<g id="footer">
<text x="60" y="700" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#6B7299">KPI 仪表板 · 上线前必装的四块表</text>
<text x="1220" y="700" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#6B7299" text-anchor="end">08 / 12</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -0,0 +1,157 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
<defs>
<linearGradient id="titleGradient" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#5B8DEF"/>
<stop offset="50%" stop-color="#A26BFA"/>
<stop offset="100%" stop-color="#3DDDFC"/>
</linearGradient>
<radialGradient id="bgGlowA" cx="20%" cy="30%" r="55%">
<stop offset="0%" stop-color="#5B8DEF" stop-opacity="0.16"/>
<stop offset="100%" stop-color="#5B8DEF" stop-opacity="0"/>
</radialGradient>
<radialGradient id="bgGlowB" cx="80%" cy="70%" r="55%">
<stop offset="0%" stop-color="#A26BFA" stop-opacity="0.16"/>
<stop offset="100%" stop-color="#A26BFA" stop-opacity="0"/>
</radialGradient>
<linearGradient id="areaAcc" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#4ADE80" stop-opacity="0.4"/>
<stop offset="100%" stop-color="#4ADE80" stop-opacity="0.0"/>
</linearGradient>
<linearGradient id="areaCost" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#FB7185" stop-opacity="0.35"/>
<stop offset="100%" stop-color="#FB7185" stop-opacity="0.0"/>
</linearGradient>
<linearGradient id="chartPanel" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#1A2150" stop-opacity="0.5"/>
<stop offset="100%" stop-color="#1A2150" stop-opacity="0.18"/>
</linearGradient>
<linearGradient id="glassEdge" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#FFFFFF" stop-opacity="0"/>
<stop offset="50%" stop-color="#FFFFFF" stop-opacity="0.3"/>
<stop offset="100%" stop-color="#FFFFFF" stop-opacity="0"/>
</linearGradient>
</defs>
<g id="bg">
<rect width="1280" height="720" fill="#0A0E27"/>
<rect width="1280" height="720" fill="url(#bgGlowA)"/>
<rect width="1280" height="720" fill="url(#bgGlowB)"/>
</g>
<g id="header">
<rect x="60" y="50" width="6" height="32" rx="3" fill="url(#titleGradient)"/>
<text x="80" y="76" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="34" font-weight="900" fill="#E8ECFF">持续优化的真实曲线 — <tspan fill="#4ADE80">准确率 ↑</tspan> <tspan fill="#FB7185">成本 ↓</tspan></text>
<text x="80" y="108" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="600" fill="#A8B0D0" letter-spacing="3">UPLINE TO PRODUCTION · 12-WEEK TREND</text>
</g>
<g id="chart-panel-bg">
<rect x="100" y="135" width="1100" height="475" rx="20" fill="url(#chartPanel)" stroke="#FFFFFF" stroke-opacity="0.12" stroke-width="1"/>
<rect x="118" y="136" width="1064" height="1" fill="url(#glassEdge)"/>
</g>
<g id="chartArea">
<line x1="140" y1="560" x2="1180" y2="560" stroke="#FFFFFF" stroke-opacity="0.16" stroke-width="1"/>
<line x1="140" y1="462" x2="1180" y2="462" stroke="#FFFFFF" stroke-opacity="0.08" stroke-width="1" stroke-dasharray="3 5"/>
<line x1="140" y1="365" x2="1180" y2="365" stroke="#FFFFFF" stroke-opacity="0.08" stroke-width="1" stroke-dasharray="3 5"/>
<line x1="140" y1="267" x2="1180" y2="267" stroke="#FFFFFF" stroke-opacity="0.08" stroke-width="1" stroke-dasharray="3 5"/>
<line x1="140" y1="170" x2="1180" y2="170" stroke="#FFFFFF" stroke-opacity="0.08" stroke-width="1" stroke-dasharray="3 5"/>
<line x1="140" y1="170" x2="140" y2="560" stroke="#FFFFFF" stroke-opacity="0.16" stroke-width="1"/>
<line x1="1180" y1="170" x2="1180" y2="560" stroke="#FFFFFF" stroke-opacity="0.16" stroke-width="1"/>
<text x="128" y="565" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="600" fill="#A8B0D0" text-anchor="end">60%</text>
<text x="128" y="467" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="600" fill="#A8B0D0" text-anchor="end">70%</text>
<text x="128" y="370" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="600" fill="#A8B0D0" text-anchor="end">80%</text>
<text x="128" y="272" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="600" fill="#A8B0D0" text-anchor="end">90%</text>
<text x="128" y="175" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="600" fill="#A8B0D0" text-anchor="end">100%</text>
<text x="1192" y="565" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="600" fill="#A8B0D0">¥0</text>
<text x="1192" y="467" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="600" fill="#A8B0D0">¥0.35</text>
<text x="1192" y="370" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="600" fill="#A8B0D0">¥0.70</text>
<text x="1192" y="272" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="600" fill="#A8B0D0">¥1.05</text>
<text x="1192" y="175" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="600" fill="#A8B0D0">¥1.40</text>
<text x="140" y="588" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="600" fill="#A8B0D0" text-anchor="middle">W1</text>
<text x="234" y="588" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="600" fill="#A8B0D0" text-anchor="middle">W2</text>
<text x="329" y="588" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="600" fill="#A8B0D0" text-anchor="middle">W3</text>
<text x="423" y="588" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="700" fill="#3DDDFC" text-anchor="middle">W4</text>
<text x="518" y="588" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="600" fill="#A8B0D0" text-anchor="middle">W5</text>
<text x="612" y="588" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="600" fill="#A8B0D0" text-anchor="middle">W6</text>
<text x="707" y="588" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="600" fill="#A8B0D0" text-anchor="middle">W7</text>
<text x="801" y="588" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="700" fill="#3DDDFC" text-anchor="middle">W8</text>
<text x="896" y="588" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="600" fill="#A8B0D0" text-anchor="middle">W9</text>
<text x="990" y="588" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="600" fill="#A8B0D0" text-anchor="middle">W10</text>
<text x="1085" y="588" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="700" fill="#3DDDFC" text-anchor="middle">W11</text>
<text x="1180" y="588" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="600" fill="#A8B0D0" text-anchor="middle">W12</text>
<line x1="423" y1="170" x2="423" y2="560" stroke="#3DDDFC" stroke-opacity="0.32" stroke-width="1" stroke-dasharray="4 6"/>
<line x1="801" y1="170" x2="801" y2="560" stroke="#3DDDFC" stroke-opacity="0.32" stroke-width="1" stroke-dasharray="4 6"/>
<line x1="1085" y1="170" x2="1085" y2="560" stroke="#3DDDFC" stroke-opacity="0.32" stroke-width="1" stroke-dasharray="4 6"/>
<!-- chart-plot-area: 140,170,1180,560 -->
<path d="M 140,453 L 234,433 L 329,414 L 423,365 L 518,345 L 612,316 L 707,306 L 801,277 L 896,267 L 990,258 L 1085,248 L 1180,244 L 1180,560 L 140,560 Z" fill="url(#areaAcc)"/>
<polyline points="140,453 234,433 329,414 423,365 518,345 612,316 707,306 801,277 896,267 990,258 1085,248 1180,244" fill="none" stroke="#4ADE80" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
<g id="acc-dots">
<circle cx="140" cy="453" r="5" fill="#4ADE80" stroke="#0A0E27" stroke-width="2"/>
<circle cx="234" cy="433" r="5" fill="#4ADE80" stroke="#0A0E27" stroke-width="2"/>
<circle cx="329" cy="414" r="5" fill="#4ADE80" stroke="#0A0E27" stroke-width="2"/>
<circle cx="423" cy="365" r="6" fill="#4ADE80" stroke="#0A0E27" stroke-width="2"/>
<circle cx="518" cy="345" r="5" fill="#4ADE80" stroke="#0A0E27" stroke-width="2"/>
<circle cx="612" cy="316" r="5" fill="#4ADE80" stroke="#0A0E27" stroke-width="2"/>
<circle cx="707" cy="306" r="5" fill="#4ADE80" stroke="#0A0E27" stroke-width="2"/>
<circle cx="801" cy="277" r="6" fill="#4ADE80" stroke="#0A0E27" stroke-width="2"/>
<circle cx="896" cy="267" r="5" fill="#4ADE80" stroke="#0A0E27" stroke-width="2"/>
<circle cx="990" cy="258" r="5" fill="#4ADE80" stroke="#0A0E27" stroke-width="2"/>
<circle cx="1085" cy="248" r="6" fill="#4ADE80" stroke="#0A0E27" stroke-width="2"/>
<circle cx="1180" cy="244" r="7" fill="#4ADE80" stroke="#0A0E27" stroke-width="2"/>
</g>
<path d="M 140,226 L 234,240 L 329,254 L 423,295 L 518,309 L 612,323 L 707,343 L 801,379 L 896,393 L 990,407 L 1085,426 L 1180,443 L 1180,560 L 140,560 Z" fill="url(#areaCost)" fill-opacity="0.0"/>
<polyline points="140,226 234,240 329,254 423,295 518,309 612,323 707,343 801,379 896,393 990,407 1085,426 1180,443" fill="none" stroke="#FB7185" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
<g id="cost-dots">
<circle cx="140" cy="226" r="5" fill="#FB7185" stroke="#0A0E27" stroke-width="2"/>
<circle cx="234" cy="240" r="5" fill="#FB7185" stroke="#0A0E27" stroke-width="2"/>
<circle cx="329" cy="254" r="5" fill="#FB7185" stroke="#0A0E27" stroke-width="2"/>
<circle cx="423" cy="295" r="5" fill="#FB7185" stroke="#0A0E27" stroke-width="2"/>
<circle cx="518" cy="309" r="5" fill="#FB7185" stroke="#0A0E27" stroke-width="2"/>
<circle cx="612" cy="323" r="5" fill="#FB7185" stroke="#0A0E27" stroke-width="2"/>
<circle cx="707" cy="343" r="5" fill="#FB7185" stroke="#0A0E27" stroke-width="2"/>
<circle cx="801" cy="379" r="5" fill="#FB7185" stroke="#0A0E27" stroke-width="2"/>
<circle cx="896" cy="393" r="5" fill="#FB7185" stroke="#0A0E27" stroke-width="2"/>
<circle cx="990" cy="407" r="5" fill="#FB7185" stroke="#0A0E27" stroke-width="2"/>
<circle cx="1085" cy="426" r="5" fill="#FB7185" stroke="#0A0E27" stroke-width="2"/>
<circle cx="1180" cy="443" r="7" fill="#FB7185" stroke="#0A0E27" stroke-width="2"/>
</g>
<g id="annot-w4">
<rect x="350" y="148" width="146" height="22" rx="11" fill="#1A2150" fill-opacity="0.85" stroke="#3DDDFC" stroke-opacity="0.5" stroke-width="1"/>
<text x="423" y="164" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="700" fill="#3DDDFC" text-anchor="middle">W4 · 引入 reranker</text>
</g>
<g id="annot-w8">
<rect x="728" y="148" width="146" height="22" rx="11" fill="#1A2150" fill-opacity="0.85" stroke="#3DDDFC" stroke-opacity="0.5" stroke-width="1"/>
<text x="801" y="164" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="700" fill="#3DDDFC" text-anchor="middle">W8 · 引入 fallback</text>
</g>
<g id="annot-w11">
<rect x="1012" y="148" width="146" height="22" rx="11" fill="#1A2150" fill-opacity="0.85" stroke="#3DDDFC" stroke-opacity="0.5" stroke-width="1"/>
<text x="1085" y="164" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="12" font-weight="700" fill="#3DDDFC" text-anchor="middle">W11 · 引入缓存</text>
</g>
</g>
<g id="legend">
<rect x="100" y="630" width="280" height="44" rx="10" fill="#1A2150" fill-opacity="0.65" stroke="#FFFFFF" stroke-opacity="0.16" stroke-width="1"/>
<line x1="120" y1="652" x2="148" y2="652" stroke="#4ADE80" stroke-width="3.5" stroke-linecap="round"/>
<circle cx="134" cy="652" r="5" fill="#4ADE80" stroke="#0A0E27" stroke-width="2"/>
<text x="162" y="657" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="700" fill="#E8ECFF">任务成功率(左轴)</text>
<rect x="395" y="630" width="280" height="44" rx="10" fill="#1A2150" fill-opacity="0.65" stroke="#FFFFFF" stroke-opacity="0.16" stroke-width="1"/>
<line x1="415" y1="652" x2="443" y2="652" stroke="#FB7185" stroke-width="3.5" stroke-linecap="round"/>
<circle cx="429" cy="652" r="5" fill="#FB7185" stroke="#0A0E27" stroke-width="2"/>
<text x="457" y="657" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="700" fill="#E8ECFF">单次成本(右轴)</text>
<rect x="690" y="630" width="510" height="44" rx="10" fill="#1A2150" fill-opacity="0.65" stroke="#3DDDFC" stroke-opacity="0.4" stroke-width="1"/>
<text x="710" y="657" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="600" fill="#A8B0D0"><tspan fill="#3DDDFC" font-weight="800"></tspan> 准确率 71% → 92.4% &#160;·&#160; 成本 ¥1.20 → ¥0.42</text>
</g>
<g id="footer">
<text x="60" y="700" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#6B7299">12 周指标趋势 · 来源:内部 Agent 平台监控</text>
<text x="1220" y="700" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#6B7299" text-anchor="end">09 / 12</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -0,0 +1,150 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
<defs>
<linearGradient id="titleGradient" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#5B8DEF"/>
<stop offset="50%" stop-color="#A26BFA"/>
<stop offset="100%" stop-color="#3DDDFC"/>
</linearGradient>
<linearGradient id="bgOverlay" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#0A0E27" stop-opacity="0.6"/>
<stop offset="100%" stop-color="#0A0E27" stop-opacity="0.78"/>
</linearGradient>
<linearGradient id="cardGlass" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#1A2150" stop-opacity="0.82"/>
<stop offset="100%" stop-color="#1A2150" stop-opacity="0.5"/>
</linearGradient>
<linearGradient id="headRose" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#FB7185" stop-opacity="0.92"/>
<stop offset="100%" stop-color="#FB7185" stop-opacity="0.45"/>
</linearGradient>
<linearGradient id="headAmber" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#F59E0B" stop-opacity="0.92"/>
<stop offset="100%" stop-color="#F59E0B" stop-opacity="0.45"/>
</linearGradient>
<linearGradient id="headPurple" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#A26BFA" stop-opacity="0.92"/>
<stop offset="100%" stop-color="#A26BFA" stop-opacity="0.45"/>
</linearGradient>
<linearGradient id="headCyan" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#3DDDFC" stop-opacity="0.85"/>
<stop offset="100%" stop-color="#3DDDFC" stop-opacity="0.4"/>
</linearGradient>
<linearGradient id="glassEdge" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#FFFFFF" stop-opacity="0"/>
<stop offset="50%" stop-color="#FFFFFF" stop-opacity="0.35"/>
<stop offset="100%" stop-color="#FFFFFF" stop-opacity="0"/>
</linearGradient>
</defs>
<g id="bg">
<rect width="1280" height="720" fill="#0A0E27"/>
<image href="../images/10_failure_glow.png" x="0" y="0" width="1280" height="720" preserveAspectRatio="xMidYMid slice"/>
<rect x="0" y="0" width="1280" height="720" fill="url(#bgOverlay)"/>
</g>
<g id="header">
<rect x="60" y="50" width="6" height="32" rx="3" fill="url(#titleGradient)"/>
<text x="80" y="76" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="34" font-weight="900" fill="#E8ECFF">这四类失败,你最先会遇到哪个</text>
<text x="80" y="108" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="600" fill="#A8B0D0" letter-spacing="3">FAILURE MODES · FREQUENCY × DETECTION DIFFICULTY</text>
</g>
<g id="axis-frame">
<rect x="80" y="125" width="540" height="22" rx="11" fill="#FB7185" fill-opacity="0.18"/>
<text x="350" y="141" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="11" font-weight="800" fill="#FB7185" text-anchor="middle" letter-spacing="3">SHALLOW · 表面易识</text>
<rect x="660" y="125" width="540" height="22" rx="11" fill="#A26BFA" fill-opacity="0.2"/>
<text x="930" y="141" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="11" font-weight="800" fill="#A26BFA" text-anchor="middle" letter-spacing="3">DEEP · 隐蔽难定位</text>
<rect x="38" y="158" width="22" height="220" rx="11" fill="#FFFFFF" fill-opacity="0.06"/>
<text x="49" y="268" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="11" font-weight="800" fill="#A8B0D0" text-anchor="middle" letter-spacing="2" transform="rotate(-90, 49, 268)">HIGH · 高频</text>
<rect x="38" y="402" width="22" height="220" rx="11" fill="#FFFFFF" fill-opacity="0.06"/>
<text x="49" y="512" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="11" font-weight="800" fill="#A8B0D0" text-anchor="middle" letter-spacing="2" transform="rotate(-90, 49, 512)">LOW · 低频</text>
</g>
<g id="q-tool-errors">
<rect x="80" y="158" width="540" height="232" rx="16" fill="url(#cardGlass)" stroke="#FB7185" stroke-opacity="0.35" stroke-width="1"/>
<rect x="98" y="159" width="504" height="1" fill="url(#glassEdge)"/>
<path d="M 94 158 h 512 a 14 14 0 0 1 14 14 v 46 h -540 v -46 a 14 14 0 0 1 14 -14 Z" fill="url(#headRose)"/>
<circle cx="116" cy="188" r="18" fill="#0A0E27" fill-opacity="0.5"/>
<use data-icon="phosphor-duotone/bug" x="100" y="172" width="32" height="32" fill="#FB7185"/>
<text x="144" y="194" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="19" font-weight="900" fill="#FFFFFF">工具错误</text>
<rect x="490" y="172" width="120" height="28" rx="14" fill="#FFFFFF" fill-opacity="0.22"/>
<text x="550" y="191" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="11" font-weight="800" fill="#FFFFFF" text-anchor="middle" letter-spacing="2">VALIDATE EARLY</text>
<g id="q1-items">
<circle cx="106" cy="248" r="6" fill="#FB7185"/>
<text x="122" y="253" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="700" fill="#E8ECFF">JSON schema 不匹配</text>
<text x="122" y="274" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0">字段缺失 / 类型错位 / enum 写飞</text>
<circle cx="106" cy="304" r="6" fill="#FB7185"/>
<text x="122" y="309" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="700" fill="#E8ECFF">参数幻觉</text>
<text x="122" y="330" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0">不存在的参数 / 值越界 / 单位混用</text>
<circle cx="106" cy="360" r="6" fill="#FB7185"/>
<text x="122" y="365" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="700" fill="#E8ECFF">超时无回退</text>
</g>
</g>
<g id="q-cost-overrun">
<rect x="660" y="158" width="540" height="232" rx="16" fill="url(#cardGlass)" stroke="#A26BFA" stroke-opacity="0.4" stroke-width="1"/>
<rect x="678" y="159" width="504" height="1" fill="url(#glassEdge)"/>
<path d="M 674 158 h 512 a 14 14 0 0 1 14 14 v 46 h -540 v -46 a 14 14 0 0 1 14 -14 Z" fill="url(#headPurple)"/>
<circle cx="696" cy="188" r="18" fill="#0A0E27" fill-opacity="0.5"/>
<use data-icon="phosphor-duotone/coin" x="680" y="172" width="32" height="32" fill="#A26BFA"/>
<text x="724" y="194" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="19" font-weight="900" fill="#FFFFFF">成本失控</text>
<rect x="1070" y="172" width="120" height="28" rx="14" fill="#FFFFFF" fill-opacity="0.22"/>
<text x="1130" y="191" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="11" font-weight="800" fill="#FFFFFF" text-anchor="middle" letter-spacing="2">METER · CAP</text>
<g id="q2-items">
<circle cx="686" cy="248" r="6" fill="#A26BFA"/>
<text x="702" y="253" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="700" fill="#E8ECFF">Token 漂移</text>
<text x="702" y="274" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0">长尾 prompt 把单次成本拉爆</text>
<circle cx="686" cy="304" r="6" fill="#A26BFA"/>
<text x="702" y="309" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="700" fill="#E8ECFF">重复检索</text>
<text x="702" y="330" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0">相同问句反复打向量库 · 无缓存</text>
<circle cx="686" cy="360" r="6" fill="#A26BFA"/>
<text x="702" y="365" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="700" fill="#E8ECFF">链路过长 · 套娃调用</text>
</g>
</g>
<g id="q-loops">
<rect x="80" y="412" width="540" height="232" rx="16" fill="url(#cardGlass)" stroke="#F59E0B" stroke-opacity="0.4" stroke-width="1"/>
<rect x="98" y="413" width="504" height="1" fill="url(#glassEdge)"/>
<path d="M 94 412 h 512 a 14 14 0 0 1 14 14 v 46 h -540 v -46 a 14 14 0 0 1 14 -14 Z" fill="url(#headAmber)"/>
<circle cx="116" cy="442" r="18" fill="#0A0E27" fill-opacity="0.5"/>
<use data-icon="phosphor-duotone/arrows-clockwise" x="100" y="426" width="32" height="32" fill="#F59E0B"/>
<text x="144" y="448" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="19" font-weight="900" fill="#FFFFFF">死循环</text>
<rect x="490" y="426" width="120" height="28" rx="14" fill="#FFFFFF" fill-opacity="0.22"/>
<text x="550" y="445" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="11" font-weight="800" fill="#FFFFFF" text-anchor="middle" letter-spacing="2">HARD STOP</text>
<g id="q3-items">
<circle cx="106" cy="502" r="6" fill="#F59E0B"/>
<text x="122" y="507" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="700" fill="#E8ECFF">反思链路无终止</text>
<text x="122" y="528" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0">"我再想想" 无限循环 · 缺停机条件</text>
<circle cx="106" cy="558" r="6" fill="#F59E0B"/>
<text x="122" y="563" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="700" fill="#E8ECFF">Plan 反复修改</text>
<text x="122" y="584" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0">每步都重新拆解 · 上下文越塞越多</text>
<circle cx="106" cy="614" r="6" fill="#F59E0B"/>
<text x="122" y="619" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="700" fill="#E8ECFF">工具调用环 · A 调 B 调 A</text>
</g>
</g>
<g id="q-hallucination">
<rect x="660" y="412" width="540" height="232" rx="16" fill="url(#cardGlass)" stroke="#3DDDFC" stroke-opacity="0.4" stroke-width="1"/>
<rect x="678" y="413" width="504" height="1" fill="url(#glassEdge)"/>
<path d="M 674 412 h 512 a 14 14 0 0 1 14 14 v 46 h -540 v -46 a 14 14 0 0 1 14 -14 Z" fill="url(#headCyan)"/>
<circle cx="696" cy="442" r="18" fill="#0A0E27" fill-opacity="0.5"/>
<use data-icon="phosphor-duotone/sparkle" x="680" y="426" width="32" height="32" fill="#3DDDFC"/>
<text x="724" y="448" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="19" font-weight="900" fill="#FFFFFF">幻觉</text>
<rect x="1070" y="426" width="120" height="28" rx="14" fill="#FFFFFF" fill-opacity="0.22"/>
<text x="1130" y="445" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="11" font-weight="800" fill="#FFFFFF" text-anchor="middle" letter-spacing="2">GROUND IT</text>
<g id="q4-items">
<circle cx="686" cy="502" r="6" fill="#3DDDFC"/>
<text x="702" y="507" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="700" fill="#E8ECFF">编造工具</text>
<text x="702" y="528" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0">调用不存在的工具名 / API endpoint</text>
<circle cx="686" cy="558" r="6" fill="#3DDDFC"/>
<text x="702" y="563" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="700" fill="#E8ECFF">编造结果</text>
<text x="702" y="584" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="400" fill="#A8B0D0">未调真实接口就给出"数据"</text>
<circle cx="686" cy="614" r="6" fill="#3DDDFC"/>
<text x="702" y="619" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="700" fill="#E8ECFF">假装成功 · "已为您发送"</text>
</g>
</g>
<g id="footer">
<text x="60" y="696" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#6B7299">失败模式四象限 · 分类决定预案</text>
<text x="1220" y="696" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#6B7299" text-anchor="end">10 / 12</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -0,0 +1,146 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
<defs>
<linearGradient id="titleGradient" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#5B8DEF"/>
<stop offset="50%" stop-color="#A26BFA"/>
<stop offset="100%" stop-color="#3DDDFC"/>
</linearGradient>
<radialGradient id="bgGlowA" cx="15%" cy="30%" r="55%">
<stop offset="0%" stop-color="#5B8DEF" stop-opacity="0.16"/>
<stop offset="100%" stop-color="#5B8DEF" stop-opacity="0"/>
</radialGradient>
<radialGradient id="bgGlowB" cx="85%" cy="75%" r="55%">
<stop offset="0%" stop-color="#A26BFA" stop-opacity="0.16"/>
<stop offset="100%" stop-color="#A26BFA" stop-opacity="0"/>
</radialGradient>
<linearGradient id="cardGlass" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#1A2150" stop-opacity="0.78"/>
<stop offset="100%" stop-color="#1A2150" stop-opacity="0.42"/>
</linearGradient>
<linearGradient id="timelineGrad" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#5B8DEF"/>
<stop offset="35%" stop-color="#A26BFA"/>
<stop offset="70%" stop-color="#3DDDFC"/>
<stop offset="100%" stop-color="#4ADE80"/>
</linearGradient>
<linearGradient id="glassEdge" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#FFFFFF" stop-opacity="0"/>
<stop offset="50%" stop-color="#FFFFFF" stop-opacity="0.32"/>
<stop offset="100%" stop-color="#FFFFFF" stop-opacity="0"/>
</linearGradient>
</defs>
<g id="bg">
<rect width="1280" height="720" fill="#0A0E27"/>
<rect width="1280" height="720" fill="url(#bgGlowA)"/>
<rect width="1280" height="720" fill="url(#bgGlowB)"/>
</g>
<g id="header">
<rect x="60" y="50" width="6" height="32" rx="3" fill="url(#titleGradient)"/>
<text x="80" y="76" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="34" font-weight="900" fill="#E8ECFF">从原型到生产 — 12 周分四阶段</text>
<text x="80" y="108" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="600" fill="#A8B0D0" letter-spacing="3">ROADMAP · PROTOTYPE → ENGINEERING → SCALE → PRODUCTION</text>
</g>
<g id="timeline-axis">
<line x1="200" y1="155" x2="200" y2="660" stroke="#FFFFFF" stroke-opacity="0.1" stroke-width="6" stroke-linecap="round"/>
<line x1="200" y1="155" x2="200" y2="660" stroke="url(#timelineGrad)" stroke-width="4" stroke-linecap="round"/>
</g>
<g id="ms-1">
<text x="172" y="200" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="800" fill="#5B8DEF" text-anchor="end" letter-spacing="1">W1 — W3</text>
<circle cx="200" cy="195" r="18" fill="#0A0E27" stroke="#5B8DEF" stroke-width="3"/>
<circle cx="200" cy="195" r="6" fill="#5B8DEF"/>
<rect x="240" y="150" width="500" height="100" rx="14" fill="url(#cardGlass)" stroke="#5B8DEF" stroke-opacity="0.45" stroke-width="1"/>
<rect x="258" y="151" width="464" height="1" fill="url(#glassEdge)"/>
<rect x="240" y="174" width="6" height="52" rx="3" fill="#5B8DEF"/>
<rect x="260" y="166" width="50" height="50" rx="12" fill="#5B8DEF" fill-opacity="0.2"/>
<use data-icon="phosphor-duotone/crosshair" x="268" y="174" width="34" height="34" fill="#5B8DEF"/>
<text x="326" y="183" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="700" fill="#5B8DEF" letter-spacing="2">STAGE 01 · PROTOTYPE</text>
<text x="326" y="212" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="22" font-weight="900" fill="#E8ECFF">原型 — 单一任务跑通</text>
<text x="326" y="238" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="400" fill="#A8B0D0">最小工具集 · prompt 初稿 · 5-10 个金标准 case 验证</text>
</g>
<g id="ms-2">
<text x="172" y="325" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="800" fill="#A26BFA" text-anchor="end" letter-spacing="1">W4 — W7</text>
<circle cx="200" cy="320" r="18" fill="#0A0E27" stroke="#A26BFA" stroke-width="3"/>
<circle cx="200" cy="320" r="6" fill="#A26BFA"/>
<rect x="240" y="275" width="500" height="100" rx="14" fill="url(#cardGlass)" stroke="#A26BFA" stroke-opacity="0.45" stroke-width="1"/>
<rect x="258" y="276" width="464" height="1" fill="url(#glassEdge)"/>
<rect x="240" y="299" width="6" height="52" rx="3" fill="#A26BFA"/>
<rect x="260" y="291" width="50" height="50" rx="12" fill="#A26BFA" fill-opacity="0.2"/>
<use data-icon="phosphor-duotone/gear-six" x="268" y="299" width="34" height="34" fill="#A26BFA"/>
<text x="326" y="308" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="700" fill="#A26BFA" letter-spacing="2">STAGE 02 · ENGINEERING</text>
<text x="326" y="337" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="22" font-weight="900" fill="#E8ECFF">工程化 — 评估闭环</text>
<text x="326" y="363" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="400" fill="#A8B0D0">评估集 100+ · 自动回归 · 重试与降级机制全覆盖</text>
</g>
<g id="ms-3">
<text x="172" y="450" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="800" fill="#3DDDFC" text-anchor="end" letter-spacing="1">W8 — W10</text>
<circle cx="200" cy="445" r="18" fill="#0A0E27" stroke="#3DDDFC" stroke-width="3"/>
<circle cx="200" cy="445" r="6" fill="#3DDDFC"/>
<rect x="240" y="400" width="500" height="100" rx="14" fill="url(#cardGlass)" stroke="#3DDDFC" stroke-opacity="0.45" stroke-width="1"/>
<rect x="258" y="401" width="464" height="1" fill="url(#glassEdge)"/>
<rect x="240" y="424" width="6" height="52" rx="3" fill="#3DDDFC"/>
<rect x="260" y="416" width="50" height="50" rx="12" fill="#3DDDFC" fill-opacity="0.2"/>
<use data-icon="phosphor-duotone/chart-line-up" x="268" y="424" width="34" height="34" fill="#3DDDFC"/>
<text x="326" y="433" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="700" fill="#3DDDFC" letter-spacing="2">STAGE 03 · SCALE</text>
<text x="326" y="462" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="22" font-weight="900" fill="#E8ECFF">规模化 — 性能与成本</text>
<text x="326" y="488" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="400" fill="#A8B0D0">结果缓存 · 限流熔断 · 多租户隔离 · 模型分级路由</text>
</g>
<g id="ms-4">
<text x="172" y="595" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="800" fill="#4ADE80" text-anchor="end" letter-spacing="1">W11 — W12</text>
<circle cx="200" cy="590" r="20" fill="#0A0E27" stroke="#4ADE80" stroke-width="3"/>
<path d="M 192 590 L 198 596 L 210 584" stroke="#4ADE80" stroke-width="3" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
<rect x="240" y="545" width="500" height="100" rx="14" fill="url(#cardGlass)" stroke="#4ADE80" stroke-opacity="0.55" stroke-width="1.5"/>
<rect x="258" y="546" width="464" height="1" fill="url(#glassEdge)"/>
<rect x="240" y="569" width="6" height="52" rx="3" fill="#4ADE80"/>
<rect x="260" y="561" width="50" height="50" rx="12" fill="#4ADE80" fill-opacity="0.22"/>
<use data-icon="phosphor-duotone/rocket" x="268" y="569" width="34" height="34" fill="#4ADE80"/>
<text x="326" y="578" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="700" fill="#4ADE80" letter-spacing="2">STAGE 04 · PRODUCTION</text>
<text x="326" y="607" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="22" font-weight="900" fill="#E8ECFF">生产 — 灰度与 SLO</text>
<text x="326" y="633" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="400" fill="#A8B0D0">1% → 10% → 全量灰度 · SLO 监控 · 持续优化飞轮</text>
</g>
<g id="success-panel">
<rect x="770" y="150" width="450" height="495" rx="20" fill="url(#cardGlass)" stroke="#FFFFFF" stroke-opacity="0.18" stroke-width="1"/>
<rect x="788" y="151" width="414" height="1" fill="url(#glassEdge)"/>
<text x="995" y="186" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="700" fill="#3DDDFC" text-anchor="middle" letter-spacing="3">SUCCESS CRITERIA</text>
<text x="995" y="220" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="22" font-weight="900" fill="#E8ECFF" text-anchor="middle">每阶段过线标准</text>
<line x1="800" y1="245" x2="1190" y2="245" stroke="#FFFFFF" stroke-opacity="0.14"/>
<g id="sc-1">
<circle cx="816" cy="282" r="14" fill="#5B8DEF" fill-opacity="0.3"/>
<text x="816" y="287" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="900" fill="#5B8DEF" text-anchor="middle">01</text>
<text x="844" y="276" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="700" fill="#E8ECFF">原型 → 工程化</text>
<text x="844" y="298" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="500" fill="#A8B0D0">金标准 case 通过率 ≥ 80%</text>
</g>
<g id="sc-2">
<circle cx="816" cy="354" r="14" fill="#A26BFA" fill-opacity="0.3"/>
<text x="816" y="359" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="900" fill="#A26BFA" text-anchor="middle">02</text>
<text x="844" y="348" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="700" fill="#E8ECFF">工程化 → 规模化</text>
<text x="844" y="370" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="500" fill="#A8B0D0">评估集 ≥ 100 · 自动回归绿灯</text>
</g>
<g id="sc-3">
<circle cx="816" cy="426" r="14" fill="#3DDDFC" fill-opacity="0.3"/>
<text x="816" y="431" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="900" fill="#3DDDFC" text-anchor="middle">03</text>
<text x="844" y="420" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="700" fill="#E8ECFF">规模化 → 生产</text>
<text x="844" y="442" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="500" fill="#A8B0D0">P95 &lt; 5s · 单次成本 &lt; ¥0.5</text>
</g>
<g id="sc-4">
<circle cx="816" cy="498" r="14" fill="#4ADE80" fill-opacity="0.3"/>
<text x="816" y="503" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="900" fill="#4ADE80" text-anchor="middle">04</text>
<text x="844" y="492" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="15" font-weight="700" fill="#E8ECFF">生产持续运营</text>
<text x="844" y="514" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="500" fill="#A8B0D0">30 天 SLO ≥ 99.5% · 成本月度下降</text>
</g>
<line x1="800" y1="545" x2="1190" y2="545" stroke="#FFFFFF" stroke-opacity="0.12"/>
<text x="816" y="580" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="700" fill="#A8B0D0">⚡ 不达标不晋级 — 每个阶段</text>
<text x="816" y="604" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="14" font-weight="700" fill="#A8B0D0">必须有"通关"硬指标</text>
<text x="816" y="628" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="500" fill="#6B7299">否则只是"进度"假象</text>
</g>
<g id="footer">
<text x="60" y="700" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#6B7299">路线图 · 12 周可执行计划</text>
<text x="1220" y="700" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#6B7299" text-anchor="end">11 / 12</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -0,0 +1,71 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
<defs>
<linearGradient id="titleGradient" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#5B8DEF"/>
<stop offset="50%" stop-color="#A26BFA"/>
<stop offset="100%" stop-color="#3DDDFC"/>
</linearGradient>
<linearGradient id="ctaScrim" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#0A0E27" stop-opacity="0.7"/>
<stop offset="50%" stop-color="#0A0E27" stop-opacity="0.35"/>
<stop offset="100%" stop-color="#0A0E27" stop-opacity="0.78"/>
</linearGradient>
<radialGradient id="ctaVignette" cx="50%" cy="50%" r="68%">
<stop offset="0%" stop-color="#0A0E27" stop-opacity="0"/>
<stop offset="100%" stop-color="#0A0E27" stop-opacity="0.45"/>
</radialGradient>
<linearGradient id="btnGrad" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#5B8DEF"/>
<stop offset="50%" stop-color="#A26BFA"/>
<stop offset="100%" stop-color="#3DDDFC"/>
</linearGradient>
<linearGradient id="btnSecondary" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#5B8DEF" stop-opacity="0.22"/>
<stop offset="100%" stop-color="#A26BFA" stop-opacity="0.12"/>
</linearGradient>
</defs>
<g id="bg">
<rect width="1280" height="720" fill="#0A0E27"/>
<image href="../images/12_cta_horizon.png" x="0" y="0" width="1280" height="720" preserveAspectRatio="xMidYMid slice"/>
<rect x="0" y="0" width="1280" height="720" fill="url(#ctaScrim)"/>
<rect x="0" y="0" width="1280" height="720" fill="url(#ctaVignette)"/>
</g>
<g id="cta-tag">
<line x1="640" y1="165" x2="608" y2="165" stroke="#3DDDFC" stroke-width="2" stroke-linecap="round"/>
<text x="640" y="170" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="700" fill="#3DDDFC" letter-spacing="5" text-anchor="middle">YOUR TURN</text>
<line x1="640" y1="165" x2="672" y2="165" stroke="#3DDDFC" stroke-width="2" stroke-linecap="round"/>
</g>
<g id="cta-title">
<text x="640" y="290" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="72" font-weight="900" fill="#E8ECFF" text-anchor="middle">下一个 Agent</text>
<text x="640" y="376" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="72" font-weight="900" fill="url(#titleGradient)" text-anchor="middle">从工程化开始</text>
</g>
<g id="cta-subtitle">
<text x="640" y="448" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="22" font-weight="400" fill="#A8B0D0" text-anchor="middle">不是"加个 LLM",是把 LLM 真正装进系统</text>
</g>
<g id="cta-buttons">
<g id="btn-primary">
<rect x="380" y="510" width="280" height="68" rx="34" fill="url(#btnGrad)"/>
<use data-icon="phosphor-duotone/rocket" x="408" y="528" width="32" height="32" fill="#FFFFFF"/>
<text x="528" y="552" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="20" font-weight="900" fill="#FFFFFF" text-anchor="middle">开始 Agent 工程化</text>
</g>
<g id="btn-secondary">
<rect x="690" y="510" width="220" height="68" rx="34" fill="url(#btnSecondary)" stroke="#3DDDFC" stroke-opacity="0.5" stroke-width="1.5"/>
<use data-icon="phosphor-duotone/handshake" x="716" y="528" width="32" height="32" fill="#3DDDFC"/>
<text x="826" y="552" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="20" font-weight="700" fill="#E8ECFF" text-anchor="middle">寻求合作</text>
</g>
</g>
<g id="cta-footnote">
<text x="640" y="620" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#6B7299" text-anchor="middle" letter-spacing="2">架构 · 上下文 · 评估 · 可观测 — 四件事一起做,才叫工程化</text>
</g>
<g id="cta-footer">
<text x="60" y="690" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#A8B0D0">AI Agent 工程化 · 谢谢观看</text>
<text x="1220" y="690" font-family="&quot;Microsoft YaHei&quot;, &quot;PingFang SC&quot;, sans-serif" font-size="13" font-weight="600" fill="#6B7299" text-anchor="end">12 / 12</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.4 KiB