去年我们让小龙虾接上语义层时,它还是个只会查数的"计算器"。现在装上六个分析Skill后,它已经能独立完成从异常检测到策略建议的完整分析闭环。这次我们切换到一个全新的库存分析场景,看看这套方法论如何在不同业务领域复用。
关键突破点在于:语义层解决了"数据在哪"的问题,而分析Skill封装了"怎么用数据"的行业know-how。两者结合,让通用Agent具备了垂直领域的分析能力。
这次的环境在原有metric-query(指标查询)和metric-attribution(归因分析)基础上,新增了四个核心Skill:
六个Skill形成清晰的架构分层:
code复制能力层(查数据/做分析)
├─ metric-query
├─ metric-attribution
├─ anomaly-detection
└─ forecast-simulation
编排层(组织报告)
└─ analysis-report
调度层(定时执行)
└─ scheduled-report
当用户问"库存有没有异常"时,传统BI工具需要明确指标和时间范围。而我们的Agent会:
通过语义层检索,自动识别出三个核心库存指标:
采用动态时间窗口算法:
基线计算采用改良3σ方法:
python复制def adjusted_3sigma(series):
# 排除已知业务事件影响
cleaned = remove_known_events(series)
# 按业务权重分配阈值
weights = get_business_weights()
return (cleaned.mean() - 3*weights['sensitivity']*cleaned.std(),
cleaned.mean() + 3*weights['sensitivity']*cleaned.std())
实测发现,电商大促期间误报率比固定阈值算法降低67%。
预测30天库存水位时,Agent会明确输出计算逻辑:
code复制预测公式:
未来库存 = 当前库存 - (日均销量 × 天数) + (日均补货 × 天数)
计算过程:
近30天销量下降趋势:4111 → 3916件
日均下降 = (4111-3916)/30 ≈ 6.72件/天
30天后预测值 = 3916 - (6.72×30) ≈ 3714件
更重要的是会声明假设条件:
在压力测试环节,当问"销量涨30%会怎样"时,Agent不仅计算数值结果,还会识别出关键约束条件:
code复制预警边界:
- 当前库存日均消化量:6.72件
- 仓库最大处理能力:15件/天
- 供应商最小起订量:500件
当销量增长超过123%时,将突破仓库处理能力上限。
渠道分析环节展现了真正的业务理解能力:
自动维度选择:
风险等级计算逻辑:
python复制def calculate_risk(days_on_hand):
if days_on_hand > global_mean * 1.5:
return '🔴 高风险'
elif days_on_hand > global_mean * 1.2:
return '🟡 中风险'
else:
return '🟢 低风险'
analysis-report的工作流程值得深挖:
结构自检清单:
叙事线生成算法:
code复制若发现异常 → 采用"问题-原因-方案"结构
若无异常 → 采用"现状-预测-预防"结构
scheduled-report的实现亮点:
动态参数替换:
条件分支配置:
yaml复制steps:
- name: anomaly_check
trigger:
condition: inventory_quantity < safety_stock
actions:
- run: metric-attribution
- notify: supply_chain_team
问题1:指标口径不一致
WHERE inventory_quantity > 0过滤问题2:维度关联失效
通过以下优化手段将平均响应时间从8.2s降至3.4s:
查询优化:
计算加速:
缓存策略:
在快消行业客户实施时获得的经验:
季节性调整:
adjusted_value = raw_value / seasonality_index促销标记:
仓间调拨:
当前版本已经能完成:
但真正的突破在于:
下一步的库存策略Skill将引入:
SS = z × σ × √L这不再是单纯的数据分析,而是将业务策略编码为可执行的数字规则。当Agent能说"建议电商渠道在6月前开展买二赠一活动,预计可降低周转天数至90天",它就真正成为了业务伙伴。