ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Hologres CLI与Skills:构建Agent-Ready数据仓库的实践指南

Hologres CLI与Skills:构建Agent-Ready数据仓库的实践指南 1. 项目概述当数据仓库遇上智能体一场基础设施的自我革命最近和几个数据平台团队的朋友聊天大家不约而同地提到了一个词Agent-Ready。听起来有点玄乎但说白了就是咱们的数据基础设施得为即将到来的“智能体”Agent时代做好准备。这不再是“要不要”的问题而是“怎么要”和“多快能要”的问题。我深耕数据仓库领域多年从传统数仓到云原生实时数仓一路走来深感每一次技术范式的转变底层基础设施的适配都是成败的关键。这次当大模型驱动的智能体开始渗透到数据分析、数据开发乃至数据治理的每一个环节时我们的数仓如果还停留在“一个存储和计算引擎”的定位那很快就会被业务团队抛在身后。Hologres作为阿里云推出的实时交互分析引擎我一直在关注它的演进。它天生为高并发、低延迟的实时查询场景设计这恰恰是智能体与数据交互时最核心的诉求——你总不能让一个AI助手等上几十秒才给你一个销售数据的答案。但光有引擎性能还不够智能体需要的是更“主动”和“可编程”的交互能力。这就是为什么“Hologres CLI 与 Skills”这个组合让我眼前一亮。它不是在原有引擎上打补丁而是从“交互界面”和“能力扩展”两个维度系统性地面向Agent重构了数仓的“接入层”。CLI提供了标准化、可脚本化的操作入口而Skills则像给数仓装上了可插拔的“技能卡”让智能体能够直接调用诸如“数据探查”、“异常检测”、“报表生成”等预制的高阶能力。这背后的逻辑很清晰未来的数仓将不仅仅是数据的“水库”更是数据能力的“发电站”和“调度中心”。智能体作为前端应用不需要关心水库的坝体结构存储格式、发电机组型号计算引擎它只需要知道哪里有标准化的插座CLI可以获取电力数据服务以及有哪些现成的电器Skills可以即插即用。Hologres正在做的就是把自己打造成这样一个“即插即用、能力可扩展”的智能插座面板。对于任何正在构建或规划数据智能应用的企业来说理解这套基础设施的新范式是避免重复造轮子、快速构建竞争力的关键。接下来我就结合自己的实践和观察拆解一下这套“Agent-Ready”基础设施的具体构成、实现逻辑以及我们该如何上手和避坑。2. 核心理念拆解为什么是CLISkills而不是API或SDK在讨论具体技术之前我们必须先厘清一个根本问题面向智能体Agent的数据服务为什么需要CLI命令行界面和Skills技能这种组合传统的做法不都是提供一套RESTful API或者各种语言的SDK吗这里面的设计哲学决定了这套基础设施的适用边界和未来潜力。2.1 CLI为自动化与编排而生的“统一语言”首先看CLI。很多人觉得CLI是给运维人员用的对于智能体这种“高级”应用似乎有点“原始”。这恰恰是误解。智能体的核心运作模式是“感知-决策-执行”的循环而在与外部系统交互的“执行”环节最需要的是确定性和无状态性。一个设计良好的CLI其本质是一套严格定义、无歧义的领域特定语言DSL。你发送一条指令它返回一个明确的结果或错误。这种交互模式对于智能体来说极其友好因为它避免了REST API中可能存在的状态管理、会话保持等复杂性也规避了SDK因语言版本、依赖环境不同而带来的不一致性。智能体或其背后的编排框架可以像调用本地函数一样通过子进程调用CLI命令并解析其标准输出/错误流。这种方式隔离性极好也非常利于调试——你甚至可以直接在终端里模拟智能体的行为。注意这里说的CLI并非仅指一个简单的命令行工具。它更是一个完备的“数据操作语言解释器”。它需要支持丰富的命令覆盖元数据查询、数据操作、作业管理、性能诊断等具备清晰的错误码体系和结构化输出如JSON格式并且自身应该是轻量级、易于分发和安装的。Hologres CLI正是朝着这个方向设计它将复杂的引擎能力封装成一条条如holo exec、holo meta这样的简单命令。2.2 Skills封装领域知识降低智能体认知负荷如果说CLI提供了“基础动词”查、增、删、改那么Skills提供的则是封装了业务逻辑和领域知识的“高阶短语”或“完整句子”。这是“Agent-Ready”理念中最精髓的部分。想象一个业务人员向智能体提问“帮我看看上周华东区A产品的销售趋势如果有异常就告警。” 如果只依赖CLI智能体需要自己完成一系列复杂编排1理解“华东区”、“A产品”对应的数据过滤条件2编写时间范围查询SQL3执行查询并获取数据4调用某个算法库判断何为“异常”5如果异常再调用消息发送接口。这个过程不仅复杂而且要求智能体具备极强的领域知识数据模型、业务规则和工具调用能力。而Skills的引入可以将整个流程封装成一个名为analyze_sales_trend_and_alert的技能。智能体只需要调用这个技能并传入“华东区”、“A产品”、“上周”这几个简单的参数。技能内部封装了所有细节关联哪几张表、使用怎样的聚合逻辑、采用何种异常检测算法比如基于历史数据的3-sigma原则、通过什么渠道发送告警。这极大地降低了智能体的开发门槛和认知负荷让它能够专注于更上层的意图理解和任务分解而不是陷入具体的数据处理逻辑中。Skills的本质是数仓团队将其数据服务能力“产品化”和“API化”的成果。它不同于传统的API接口因为它更强调“任务导向”和“结果导向”输出的是业务可读的分析结论或直接触发的动作而非单纯的数据集。2.3 CLI与Skills的共生关系CLI和Skills不是替代关系而是互补和支撑关系。一个典型的协作模式是Skills的构建依赖于CLI开发一个Skill时其内部实现很可能通过调用多条CLI命令来完成数据查询和操作。CLI是Skills的“基础设施”。Skills的调用可以通过CLI暴露一个封装好的Skill其本身可以作为一个子命令集成到CLI中例如holo skill run analyze_sales_trend --region east --product A。这样不仅智能体可以调用运维人员也可以手动测试和触发这个技能。CLI为Skills提供管理和发现能力CLI可以提供诸如holo skill list、holo skill info skill_name等命令让智能体或管理员能够动态发现和了解可用的技能列表及其使用方式。这种架构使得整个数据能力栈变得层次清晰、易于管理。底层是Hologres引擎提供强大的计算存储中间层是CLI提供统一的操作界面上层是Skills提供开箱即用的业务能力。智能体可以在任意层次进行交互根据其自身能力选择最合适的切入方式。3. Hologres CLI深度解析从安装到实战打造你的数据操作终端理解了理念我们进入实战环节。首先是把Hologres CLI这个“瑞士军刀”拿到手并用起来。我会基于公开资料和最佳实践梳理出一套完整的操作指南。3.1 环境准备与安装部署Hologres CLI通常是一个独立的二进制文件或Python包这意味着它对运行环境的要求很低。但为了后续稳定运行尤其是与Skills配合我建议做好以下准备环境选择推荐使用Linux或macOS系统Windows系统可以通过WSL2获得最佳体验。生产环境建议使用Docker容器进行部署以保证环境一致性。权限配置你需要一个具有相应数据库操作权限的Hologres账号。通常需要准备实例连接信息实例Endpoint内网/公网地址、端口通常是80或443。数据库账号密码一个专门用于CLI操作的账号遵循最小权限原则例如只授予特定数据库的查询、DDL执行权限。网络打通确保运行CLI的机器能够访问Hologres实例的网络VPC内或通过公网白名单。安装CLI方式一直接下载二进制文件推荐。从Hologres官方GitHub Release或文档页面下载对应操作系统的最新版CLI工具例如holo-cli-linux-amd64。下载后将其移动到系统PATH路径如/usr/local/bin并添加可执行权限。chmod x holo-cli-linux-amd64 sudo mv holo-cli-linux-amd64 /usr/local/bin/holo方式二通过包管理器安装。如果官方提供了如pip install hologres-cli或npm install -g hologres/cli等方式则更为便捷。但需注意Python或Node.js的版本兼容性。验证安装执行holo --version或holo --help确认安装成功并查看基本帮助信息。实操心得在团队内部分享CLI工具时我强烈建议统一安装路径和版本。可以编写一个简单的安装脚本自动完成下载、校验、放置到共享网络位置或配置管理工具如Ansible中。避免每个人自己安装导致版本碎片化后期排查问题会非常头疼。3.2 核心命令详解与日常使用模式安装完成后我们需要进行初始化配置然后才能开始使用。核心步骤是配置连接配置文件。初始化配置Hologres CLI通常使用一个配置文件如~/.hologres/config来管理多个实例的连接信息。首次使用可以通过交互式命令进行配置holo configure根据提示输入配置名称如my-prod-instance、实例Endpoint、端口、数据库名、用户名。密码不建议明文保存在配置文件中CLI通常会提示你输入密码并将其加密存储或依赖外部认证如阿里云RAM角色。更安全的方式是使用环境变量或在每次执行敏感操作时动态输入。核心命令矩阵配置好后你就可以像使用psql或mysql客户端一样操作Hologres了。下面是一个常用命令的快速参考命令类别命令示例功能描述输出格式技巧连接与交互holo connect -c my-prod-instance连接到指定配置的实例进入交互式SQL Shell。适合即席查询和探索。SQL执行holo exec -c my-prod-instance -q SELECT * FROM sales LIMIT 5执行单条SQL语句并退出。使用-o json参数可获得JSON格式输出便于脚本解析。holo exec -c my-prod-instance -f query.sql执行文件中的SQL脚本。用于部署DDL或定期批处理任务。元数据查询holo meta list-tables -c my-prod-instance列出当前数据库中的所有表。输出通常已为表格或JSON格式是Agent了解数据格局的关键。holo meta describe-table -c my-prod-instance sales查看表sales的详细结构列名、类型、注释。结合-o json可自动生成数据模型的描述。数据操作holo import -c my-prod-instance -t target_table data.csv将本地CSV文件数据导入到目标表。注意文件编码和分隔符匹配大批量导入建议先测试小样本。holo export -c my-prod-instance -q SELECT * FROM sales -o sales.csv将查询结果导出到CSV文件。Agent获取数据结果的标准化方式。作业与监控holo job list -c my-prod-instance查看当前运行或历史的异步作业。用于监控长时间运行的查询或构建任务。holo perf -c my-prod-instance --query-id xxxx分析特定查询的执行性能详情。智能体进行查询优化诊断的潜在入口。与Shell脚本和自动化流程集成这是CLI价值最大化的地方。你可以轻松地将其嵌入到Shell脚本、Python脚本或任何CI/CD流程中。#!/bin/bash # 示例每日销售数据摘要邮件脚本 CONFIGmy-prod-instance TODAY$(date %Y%m%d) # 1. 执行查询将结果保存为JSON holo exec -c $CONFIG -o json -q SELECT region, SUM(amount) as total_sales, COUNT(*) as order_count FROM sales WHERE ds $TODAY GROUP BY region sales_summary_$TODAY.json # 2. 检查数据是否就绪行数大于0 RECORD_COUNT$(jq length sales_summary_$TODAY.json) if [ $RECORD_COUNT -eq 0 ]; then echo No sales data for $TODAY. | mail -s Sales Alert teamexample.com else # 3. 调用Python脚本处理JSON并生成HTML邮件 python generate_report.py sales_summary_$TODAY.json | mail -s Daily Sales Report $TODAY teamexample.com fi这个例子展示了CLI如何作为数据管道中的一个可靠环节其结构化的输出JSON极易被下游程序消费。3.3 安全与运维最佳实践将CLI用于自动化安全是重中之重。认证管理避免密码硬编码绝对不要在脚本或配置文件中明文写入密码。使用CLI提供的加密存储功能或利用云平台的原生认证如阿里云的InstanceProfile、RAM角色让CLI在拥有权限的ECS或容器内运行时自动获取临时凭证。使用最小权限账号为CLI操作创建专属的数据库用户并严格限制其权限。例如一个只用于数据导出的账号可能只需要SELECT权限。配置管理环境隔离为开发、测试、生产环境配置不同的连接配置holo configure时使用不同的配置名。在脚本中通过环境变量动态指定使用的配置。版本控制将重要的查询脚本.sql文件和自动化脚本纳入Git版本控制。错误处理与日志在脚本中务必检查CLI命令的退出状态码$?。非零状态码意味着执行失败需要有相应的重试或告警机制。将CLI的执行日志尤其是错误信息重定向到日志文件或集中式日志系统便于故障排查。if ! holo exec -c prod -q SOME SQL; then echo SQL execution failed at $(date) /var/log/holo_scripts.error.log # 触发告警... exit 1 fi4. Skills架构与实践如何为你的数仓打造可插拔的“超能力”CLI让我们可以“操作”数仓而Skills则让我们可以“赋能”数仓。构建和利用Skills是将数据资产转化为数据智能的关键一步。4.1 Skill的核心构成与设计模式一个完整的Skill远不止一段脚本。它是一个标准的、可描述、可发现、可执行的程序单元。我认为一个设计良好的Skill应包含以下要素技能描述文件Manifest这是一个元数据文件通常采用JSON或YAML格式用于声明技能的基本信息。这是智能体“发现”和“理解”该技能的唯一途径。{ name: analyze_sales_trend, version: 1.0.0, description: 分析指定产品和区域在指定时间段的销售趋势并进行异常检测。, author: Data Platform Team, inputs: [ { name: region, type: string, description: 销售区域如 east, west, required: true }, { name: product_id, type: string, description: 产品ID, required: true }, { name: start_date, type: date, description: 开始日期格式YYYY-MM-DD, required: true }, { name: end_date, type: date, description: 结束日期格式YYYY-MM-DD, required: false, default: today } ], outputs: [ { name: trend_data, type: arrayobject, description: 每日销售数据列表 }, { name: has_anomaly, type: boolean, description: 是否存在异常 }, { name: anomaly_details, type: string, description: 异常详情描述 } ], entry_point: run_analysis.py }这个描述文件定义了技能的“接口契约”智能体通过解析它就知道该如何调用这个技能。执行逻辑Entry Point即技能的实际代码可以是Python脚本、Java程序、甚至是一个封装好的Docker容器。它的职责是接收来自调用方CLI或Agent框架的输入参数。内部可能通过Hologres CLI或直接JDBC/HTTP连接与数据库交互执行复杂的查询和计算。封装业务逻辑如调用统计模型进行异常检测。按照描述文件中定义的格式返回结构化的结果。依赖与环境明确技能运行所需的依赖包、环境变量、甚至硬件要求。这通常通过requirements.txtPython或Dockerfile来管理。4.2 从零开发一个实战Skill销售异常检测让我们以“销售异常检测”技能为例走一遍开发流程。假设我们已经有一个sales表包含ds日期、region、product_id、amount销售额字段。步骤1定义技能描述如上文所示创建skill.json文件明确输入输出。步骤2编写技能核心逻辑run_analysis.py#!/usr/bin/env python3 import sys import json import argparse from datetime import datetime, timedelta import subprocess import pandas as pd import numpy as np # 假设我们使用Hologres CLI进行查询 def run_analysis(region, product_id, start_date, end_date): 核心分析函数 # 1. 构建SQL查询通过CLI获取数据 # 注意实际应用中应使用参数化查询或变量转义防止SQL注入 sql f SELECT ds, SUM(amount) as daily_sales FROM sales WHERE region {region} AND product_id {product_id} AND ds {start_date} AND ds {end_date} GROUP BY ds ORDER BY ds # 2. 调用Hologres CLI执行查询获取JSON输出 # 这里假设已经配置了名为‘prod’的连接配置 cmd [holo, exec, -c, prod, -o, json, -q, sql] try: result subprocess.run(cmd, capture_outputTrue, textTrue, checkTrue) data_json result.stdout df pd.read_json(data_json, orientrecords) # 假设CLI输出是记录列表的JSON except subprocess.CalledProcessError as e: return {error: fCLI query failed: {e.stderr}} if df.empty: return {trend_data: [], has_anomaly: False, anomaly_details: No data in the given period.} # 3. 简单的异常检测逻辑示例基于历史均值和标准差 sales_series df[daily_sales].values mean np.mean(sales_series) std np.std(sales_series) # 假设超过3个标准差视为异常 threshold 3 * std anomalies df[np.abs(df[daily_sales] - mean) threshold] # 4. 准备返回结果 trend_data df.to_dict(records) has_anomaly not anomalies.empty anomaly_details if has_anomaly: anomaly_dates anomalies[ds].tolist() anomaly_details fSales anomaly detected on dates: {anomaly_dates}. Values deviate significantly from the mean {mean:.2f}. return { trend_data: trend_data, has_anomaly: has_anomaly, anomaly_details: anomaly_details } if __name__ __main__: parser argparse.ArgumentParser(descriptionRun sales trend analysis.) parser.add_argument(--region, requiredTrue) parser.add_argument(--product_id, requiredTrue) parser.add_argument(--start_date, requiredTrue) parser.add_argument(--end_date, defaultdatetime.now().strftime(%Y-%m-%d)) args parser.parse_args() result run_analysis(args.region, args.product_id, args.start_date, args.end_date) # 输出标准化的JSON结果供调用方解析 print(json.dumps(result, ensure_asciiFalse))步骤3打包与注册将skill.json和run_analysis.py放在一个目录中并确保run_analysis.py有可执行权限。将这个目录打包如tar.gz或推送到一个内部的文件服务器或代码仓库。需要有一个“技能注册中心”可以是一个简单的数据库表或Git仓库记录每个技能的元信息名称、版本、描述文件URL、入口点命令等。Hologres CLI或上层Agent框架可以从此注册中心发现技能。步骤4调用技能通过CLI调用如果CLI集成了技能管理功能可以这样调用holo skill run analyze_sales_trend --region east --product_id P001 --start_date 2024-01-01通过Agent框架调用在LangChain、AutoGen等框架中你可以将技能包装成一个Tool或FunctionAgent根据用户请求自动匹配并调用。避坑指南开发Skill时最常见的两个坑。第一是输入验证与安全永远不要像示例中那样直接用字符串拼接SQL这会导致严重的SQL注入风险。应该使用CLI的参数化查询功能如果支持或使用安全的数据库连接库。第二是错误处理与超时技能必须对可能出现的错误网络超时、数据为空、计算异常有健壮的处理并返回结构化的错误信息而不是直接崩溃否则会拖垮整个Agent流程。4.3 Skills的治理与生命周期管理当Skills多起来后治理就变得至关重要。版本控制每个Skill必须有清晰的版本号遵循SemVer规范。注册中心需要支持同一技能的多版本共存便于灰度发布和回滚。依赖管理技能的依赖包可能发生冲突。建议为每个技能提供独立的运行环境例如使用Docker容器封装。这样能保证技能之间的隔离性。测试与验证建立技能的自动化测试流水线。包括单元测试测试技能的内部逻辑。集成测试在测试数据库环境中运行完整技能验证其输入输出是否符合预期。性能测试确保技能在合理时间内完成避免长时间运行阻塞Agent。监控与度量需要监控技能的调用次数、成功率、平均耗时、错误类型等指标。这能帮助我们发现低质量或使用频率低的技能并进行优化或下线。权限与审计谁可以创建、发布、调用技能技能的每次调用是否应该记录日志以备审计这些都需要在平台层面进行设计。5. 构建Agent-Ready数据生态的挑战与应对策略将Hologres CLI和Skills作为Agent-Ready基础设施来建设是一个美好的愿景但在落地过程中技术团队会面临一系列非常现实的挑战。结合我过去在数据平台建设中的经验这些挑战主要不是技术实现上的而是组织协作和工程管理上的。5.1 挑战一技能Skills的质量与标准化参差不齐最大的挑战来自于Skills本身。如果放任不同团队随意开发Skills很快就会陷入“技能沼泽”接口混乱同样的“获取用户画像”功能A团队开发的技能输入参数叫user_idB团队的叫uid输出格式也完全不同。质量黑洞某些技能缺乏错误处理一遇到异常数据就崩溃有些性能极差一次调用耗时分钟级。文档缺失仅有代码没有清晰的描述和使用示例导致其他开发者或智能体无法正确调用。应对策略制定严格的技能开发规范这包括输入/输出参数命名规范建议采用snake_case、统一的错误响应格式、必须包含的描述文件Manifest、性能基线要求如95%的请求响应时间2秒等。可以将这些规范固化为脚手架工具一键生成符合标准的技能项目结构。建立中心化的技能市场与评审机制模仿内部应用商店建立一个统一的技能注册和发现平台。所有上架的技能必须经过平台团队的代码审核和基础测试。平台提供技能的使用量、评分和错误率看板让优质技能浮现劣质技能被淘汰。提供共享的公共技能库平台团队应带头开发和维护一批高质量的、通用的“基础技能”如“时间序列预测”、“数据质量校验”、“通用维度下钻”等。这些技能经过充分测试和优化成为其他业务技能可以依赖的“积木”。5.2 挑战二智能体Agent与技能间的“语义鸿沟”智能体理解用户的自然语言指令如“帮我对比一下北京和上海上季度的销售情况”但它需要将其精确地翻译成对某个特定技能的调用如调用compare_region_sales技能传入region1北京region2上海periodlast_quarter。这个翻译过程存在巨大挑战技能发现智能体如何知道存在一个叫compare_region_sales的技能它需要实时查询技能注册中心。意图匹配用户的指令可能对应多个技能如何选择最合适的一个例如“分析销售”可能对应“趋势分析”、“异常检测”、“归因分析”等多个技能。参数映射如何从模糊的“上季度”映射到具体的开始日期和结束日期应对策略强化技能的描述信息在技能的Manifest中不仅要有结构化参数还要有丰富的自然语言描述甚至提供示例对话。这有助于智能体通过向量检索或语义匹配找到相关技能。引入“技能编排层”或“规划智能体”不要指望一个智能体完成所有事情。可以设计一个专门的“规划智能体”它的职责就是理解用户意图并将其分解和映射为一系列具体的技能调用序列。这个规划智能体需要深度了解所有可用技能的能力边界。采用成熟的Agent框架直接利用LangChain、AutoGen、Semantic Kernel等框架提供的Tool/Function调用能力。这些框架已经内置了将自然语言描述与工具绑定、以及参数提取的机制可以大幅降低集成难度。我们需要做的就是把我们的Skills按照框架要求的格式进行封装。5.3 挑战三安全、权限与成本控制当数据能力通过Skills暴露给更多AI智能体时安全边界变得模糊风险也随之放大。数据泄露一个本应只有部门权限的智能体通过调用某个技能意外获取了全公司的敏感数据汇总。资源滥用智能体可能发起大量复杂查询或技能调用拖垮数据库产生巨额计算费用。操作风险智能体是否被允许调用具有“数据写入”或“删除”能力的技能应对策略实施细粒度的技能权限控制在技能注册中心为每个技能绑定最小必要的数据权限标签。当智能体或背后的用户请求调用技能时调用网关需要校验该智能体/用户的权限是否匹配。例如一个面向营销团队的智能体其身份令牌关联的权限集可能只允许调用与“客户画像”、“广告效果”相关的技能而无法调用“财务报表生成”技能。设计配额与限流机制为每个智能体或每个租户设置调用频率、数据扫描量、CPU时间的配额。在CLI或技能调用网关层面进行实时监控和限流防止资源耗尽。审计一切所有通过CLI或Skills发起的数据操作都必须留下完整的审计日志包括谁哪个智能体/用户、什么时候、调用了什么技能/命令、输入参数是什么、返回了什么结果可脱敏。这是事后追溯和问题排查的生命线。对“写操作”技能保持极度谨慎在初期尽量只开放“只读”类技能。对于必须的写操作可以采用“审批工作流”模式即技能生成一个待执行的操作建议由人类确认后再执行。5.4 挑战四传统数据团队的能力转型最后也是最根本的挑战是人的挑战。传统的数据开发、数据分析师团队擅长写SQL、做报表、建模型但他们不一定具备开发高质量、可复用、面向API/Skill的“数据产品”的思维和能力。应对策略改变团队定位引导数据团队从“需求响应者”向“数据产品提供方”转变。他们的产出不再是零散的SQL脚本和报表链接而是一个个封装好的、有明确服务契约Skill Manifest的数据能力。提供工具和培训为数据团队提供开发Skills的简易框架、调试工具和部署流水线降低他们的工程门槛。同时培训他们关于API设计、错误处理、性能优化等软件工程实践。建立激励机制将Skills的被调用次数、用户满意度、稳定性指标纳入数据团队的绩效考核鼓励他们打造好用、耐用的数据服务。构建Agent-Ready的数据生态技术上是将CLI和Skills作为粘合剂连接起强大的Hologres引擎和灵活的AI智能体。但本质上这是一次数据团队工作范式和组织文化的升级。它要求我们将数据视为一种可通过标准化接口被消费和组合的“产品”而不仅仅是躺在仓库里的“原料”。这条路虽然充满挑战但无疑是释放数据价值、迈向数据智能的必经之路。从我个人的实践来看从小处着手从一个明确的业务场景和几个高价值的Skill开始快速迭代积累经验和规范是成功率最高的方式。
返回列表