收藏夹里攒了几千条没看过?我用一个 SKILL.md 把它们变成了自己的“抖音” —— 第三届 NVIDIA DGX Spark 黑客松参赛记

深度学习之Encoder-Only原理与实战 【代码】深度学习之Encoder-Only原理与实战。 阅读详情

收藏夹里攒了几千条没看过?我用一个 SKILL.md 把它们变成了自己的“抖音” —— 第三届 NVIDIA DGX Spark 黑客松参赛记

项目仓库:https://github.com/chengang/skill-private-douyin
视频演示:https://www.bilibili.com/video/BV1WMa46eE9u/

一、看直播时引发的小灵感

看 DGX Spark 黑客松直播讲解那天,我边看直播边在清理我的收藏夹书签栏 —— 给黑客松相关的网址腾点地方 —— 我把不知道多少年积攒了多少条的、点都没点开过的链接归档到一个叫「以后再看」的文件夹里。

那一刻,我意识到一个事实:**我的「数字囤货」,已经多到连自己都消化不完了。Safari 书签里躺着两年前收藏的技术博客,macOS 备忘录里存着某天深夜记下的灵感碎片,B 站和小红书的收藏夹更是重灾区——每一次"收藏下来,以后再着",都是一次对未来的透支,是压在我心头甜蜜的负担。

直播里在讲解这届 DGX Spark 黑客松的主题,突然一句话击中了我:让 Agent 从"会回答"走向"能完成"。

是啊!我也需要的我收藏夹 能完成,在完成之后成为我知识的增长,而不是一直躺在那里变成我的心智负担。

于是,我就选了这个作为我本次参赛的主题 —— 让 Skill 帮助我 完成 —— 在我每天等着接孩子,等着公交车来,在我不知所措的每一刻,从我曾经攒的内容里挑一条真正合适当下的我的推给我 —— 阻止我开刷抖音,囤积更多收藏,更多心理负担。

于是就有了 私家抖音:用我的私家收藏作为内容库,StepFun 友情赠送的 stepfun-3.7-flash 这个大模型作为推荐引擎,为我的碎片时间,打造只属于我一个人的抖音。

二、比赛做了什么:认真学习 SKILL 标准

虽然我日常的工作也是在折腾 AI ,但我一直对 SKILL 都只有一些模糊懵懂的了解。

在比赛之前,我还从来没有真正动手写过一个 SKILL 呢。

这次的英伟达 DGX Spark 黑客松的契机敦促我好好的把 pi agent 的 skill 相关文档和 skill 的 spec https://agentskills.io/specification 好好地、从头到尾地读了一遍。算是对 SKILL 的制作入了个门。

这次比赛除了好好写 SKILL.md 之外,我也把 SKILL spec 里我觉得也有用的 script 和 reference 能力给用上了。

前者 script 是把从本地源读取收藏的能力,比如说从 bilibili 读取收藏,比如说把 macos 的备忘录读出来,这样一些能力固化成脚本。想法是避免 agent 反复生成类似的代码,有可能引入错误的同时,还浪费没必要的时间和没必要的 token。(虽然这次的 token 都是 stepfun 友情赠送的……)

后者 reference 我把我希望 LLM 回复我的方式、语气等等内容写了一个参照放里面了,希望 LLM 能参考这些样例给我某种拟人的、带有温情的回答。但时间因素,调整得还没有那么好。不得不承认,这种在 SKILL 里搞 few-shot 的难度,比我设想的要大一些。

三、设计思路:把「私家抖音」拆成 workflow

我给 private-douyin 定的目标很朴素:在我想看点什么的时候,由 StepFun 3.7 Flash 从我的囤货里选一条,做成 feed 发到我的飞书上。

制作的时候,有几个点我犹豫过。

  1. 接入哪些源? “数字囤货"天然是分散的:Safari 书签是我"理性收藏"的部分,备忘录是我"感性碎片"的部分,B 站和小红书收藏是我"消费内容"的部分。任何一个源单看都是不完整的"我”。只有把它们合在一起,Agent 看到的才是那个立体、矛盾、真实的人——早上可能想看一条技术深度文,深夜可能只想刷一条 3 分钟的沙雕视频。

时间所限,没能真正接入所有我希望接入的源。抖音的防机器人措施确实强大,折腾了很久也没找到稳定可依赖的接入方法。选了几个偏本地的、有现成 CLI 的源,先做出一版,把作业先交上……

  1. 用什么 UI 来承载这个功能? 因为我想做事情还挺多的。除了推荐,我也实现一个"用户反馈的小闭环"。每次推荐都自带"喜欢,下一条"和"不喜欢,下一条"按钮——点击后自动记录到本地偏好文件,已推荐过或点过"不喜欢"的内容下次自动排除。你的每一次点击,都在优化未来的推荐。

这个玩法并不新鲜,这已经是抖音的传统艺能了。而且,我觉得,这些数据也保留了未来,我们可以跳出 SKILL,使用更强大的模型改造能力,进一步加强产品的可能性。

但是,用什么 UI 来承载这些念头呢?黑客松时间所限,我偷师了小龙虾,就让 飞书 这样一个相对开放的平台,成为我们的前端和 UI 吧。

  1. 为什么偷"抖音"的名字? 抖音的认知度和流传度实在太高了,这两个字一出,人人都知道它是在干嘛。我希望借它的名,尽量降低评委和用户理解这个 SKILL 到底在干嘛的成本。 —— 它就是用私人收藏作为内容,LLM 作为推荐引擎,搭建了一个专为你服务的 feed 流。

当然,我还希望它在一定程度上,把我刷抖音的时间挤一挤,少看点短视频……

四、产品 Slogan —— 「Only you can do」

我们还想了一个 产品 Slogan 用于传达我们两个产品理念 —— 「Only you can do」—— 「这件事只有你能做到」

理念一:数据隐私只有你自己能触碰

看我们的 INSTALL.md 应该能感觉到,想在 macos 拿到这些数据,真的需要点击很多「允许」、「授权」和「放行」。

设想一下,如果这是一个某大厂呈现给我的产品,我会用吗?

我感觉我会退缩,我还是对把数据隐私上传到云端持保守态度的。

所以,这是我们的第一个理念 —— 你的数据只有你能触碰,一切程序透明地跑在本地,你不该信任任何第三方去触碰你的隐私

理念二:你的碎片时间只有你自己能拯救

刷抖音真的是件停不下来的事。

明知道有毒,还一直刷。碎片时间全被他填满了,我也拿自己没办法了。

想转换这个状态,戒掉短视频的「瘾」,我想不管什么产品,什么 SKILL,也都只是辅助手段。

最终,把自己从「瘾」里拽出来,好好夺回自己的时间的人,可能也只有每个人自己。

当然,「私人抖音」能起到一个加油打气的辅助作用。这是我们想借「Only you can do」这个 Slogan 传达的第二个产品理念。

五、收获与未完成,请投我们一票!

从 9 月 20 日线上训练营开营,到 9 月 29 日作品提交,学习新技能,制作新产品的过程是让人愉悦的。

过程中当然也有些不足为道的技术探索和纠结,但总算我们还是把作业给按时交上了。

现在的 私家抖音 无疑还是粗糙的 —— 未来规划里还有一堆没做完的事:

  1. 支持更多数据源(微信读书、豆瓣标记、本地 NAS)
  2. 解决偶尔会推荐的很慢的BUG(其实也不太「偶尔」)
  3. 基于用户反馈微调轻量级推荐模型(也许本地跑个 jev 做推荐,然后再让 LLM 写推荐语?)
  4. 等等等等

但作为一个 Agent Skill,它已经完整地跑通了从"理解触发"到"执行推荐"到"收集反馈"的闭环。

如果你也是一个收藏夹里躺着几百条「以后再看」的人,如果你也曾想过「要是有人能替我把这些陈年旧货翻出来晒晒该多好」—— 欢迎来 GitHub 看看这个项目,也欢迎在 B 站看看我们的 Demo 视频。

感谢 NVIDIA 开发者社区、StepFun 阶跃星辰、赞奇科技 XSUPERZONE、华硕 ASUS 联合发起这届比赛,感谢线上训练营里那些干货满满的技术分享,也感谢所有在群里热烈讨论、相互激励的朋友。

这不是一个多厉害的项目,但它是一份 SKILL.md、一台 DGX Spark、和一个 StepFun 模型,给你和我造的一个小小的、贴心的、只属于你我的「私家抖音」。

深度学习之Seq2Seq原理与实战 【代码】深度学习之Seq2Seq原理与实战。 阅读详情

相关推荐

深度学习之TF-IDF原理与实战

【代码】深度学习之TF_IDF原理与实战。

yumiwangzi30的博客 187

深度学习0:数学知识:正态分布1

步骤内容结果1引入e−x2e^{-x^2}e−x2钟形曲线2算它的面积I∫−∞∞e−x2dxI∫−∞∞​e−x2dx3平方变成二重积分I2I^2I24换极坐标简化计算5算出I2πI^2 = \piI2πIπIπ​6代入σ\sigmaσ和μ\muμ做变量替换得到σ2πσ2π​7除以它归一化得到正态分布公式2π2π​不是随便写的,它来自高斯积分∫−∞∞e−x2。

tellmewhoisi的博客 196

深度学习之LoRA(低秩适配)原理与实战

【代码】深度学习之LoRA(低秩适配)原理与实战。

yumiwangzi30的博客 258

图解循环神经网络(RNN)

RNN(循环神经网络)就是“带记忆的网络”:让网络拥有一块“记忆”,在处理当前数据时,能同时参考之前看过的内容;它不一次性看完全部输入,而是像人读书一样,一个字一个字地读,每读一个字就更新一次脑子里的记忆,然后用这份记忆去理解当前这个字。但便签一直在被改写,新信息不断挤占旧信息,传到第 40 步时,“巴黎”的痕迹已经淡得几乎没了。读到“贵”的时候,网络并没有重新去查“好看”这个词——但“好看”的影响已经融在了便签里(那个 1.5)。这三个困难的共同点:答案不在当前这一个字里,而在“前面那串东西”里。

技术管理两手抓,两手都要硬. 359

深度学习之词袋(Bag-of-Words, BoW)原理与实战

【代码】深度学习之词袋(Bag-of-Words, BoW)原理与实战。

yumiwangzi30的博客 224

深度学习之LSTM原理与实战

【代码】深度学习之LSTM原理与实战。

yumiwangzi30的博客 130

【原创深度学习项目】基于深度学习的建筑工地防护装备检测系统|安全帽与反光衣检测系统(RT-DETR-L 模型)

本文设计并实现了一套基于RT-DETR-L的建筑工地防护装备检测系统,采用Django+Vue前后端架构,实现对安全帽、反光背心等7类装备及“无PPE”“未戴安全帽”等缺失状态的精准识别。系统支持图片、视频、摄像头实时检测,具备参数可调、数据可视化与统计分析功能,有效解决小目标漏检、误检及管理难问题,助力智慧工地安全管理落地。文末可获取源码。

qq_1445749146的博客 215

AI对战五子棋——深度学习策略网络

在本篇博文中,我们完成了:✔ 构建一个 CNN 五子棋策略网络✔ 让神经网络输出落子概率✔ 使用 Policy Gradient 强化学习训练 AI✔ 让 AI 实现人与 AI、AI 自对弈博弈。

X2829352498的博客 25

神经网络入门指南:从 CNN、RNN 到 Attention

神经网络的学习,本质是“预测—比较—纠错”的循环;CNN 通过局部连接与权重共享理解图像;RNN 通过隐藏状态传递上下文;LSTM 和 GRU 用门控机制管理记忆;Encoder–Decoder 把理解与生成拆成两个阶段;Attention 则让模型在每一步都能主动寻找最相关的信息。到这里,我们已经走完了从普通神经网络到 Attention 的完整路线。下一篇将正式进入 Transformer,看看它如何摆脱 RNN 的顺序计算,又如何让每个 Token 直接找到与自己相关的信息。

爱敲代码的小黄 354

科普:Frenet坐标

理想情况下,描述这种常见驾驶行为在数学上应该很容易。一种方法是使用新的坐标系。现在,而不是放下一个正常的笛卡尔网格,我们做一些事情,就像你看到下面…Frenet Coordinates是一种以比传统x,y笛卡尔坐标更直观的方式表示道路位置的方式。如果我们想要方程式来描述这个动作,那就不容易了!想象一下像下面这样一条弯曲的道路,笛卡尔坐标系就位于它的上面…使用这些笛卡尔坐标,我们可以尝试描述车辆通常在路上行驶的路径…那么在Frenet坐标系下呈现的典型轨迹是什么样的?在这里,我们定义了一个新的坐标系统。

OceanStar的博客 1万+

OpenHarmony-AI调研

基于OpenHarmony-5.0.0版本以及laval社区等网络资料调研当前OH上的AI发展情况。

qqq1112345的博客 1369

基于深度学习的垃圾分类系统的设计与实现

本系统是一个基于 Flask Web 框架与 PyTorch 深度学习模型的垃圾分类智能识别平台。系统面向垃圾图像分类场景,能够对上传图片中的玻璃、纸张、纸板、塑料、金属、其他垃圾等六类垃圾进行自动识别与置信度评估,并提供识别历史、数据统计、模型在线训练与记录导出等完整功能。系统使用 TrashNet 公开垃圾分类数据集进行模型训练,管理员可手动发起模型训练,训练完成后自动加载新权重。启动服务不会自动训练。

aiyuanma_vip的博客 385

ABB机器人与西门子PLC、工业相机联合实现无序抓取的完整调试方案

将此方案导入系统后,逐步执行调试,确保各环节信号正常触发,即可实现高效无序抓取!

CHUXUEZHE8210的博客 1993

CNN 卷积神经网络深度解析:卷积、池化与特征提取的底层原理

卷积核(Kernel),也叫滤波器(Filter),本质上是一个可以训练的权重矩阵。1 0 -11 0 -11 0 -1这个卷积核可以对图像中的局部像素进行加权计算。不同的卷积核能够提取不同类型的特征:水平边缘特征垂直边缘特征纹理特征角点特征局部形状特征在传统图像处理中,滤波器通常由人工设计。而在 CNN 中,卷积核的权重通过训练数据和反向传播自动学习得到。这也是 CNN 能够自动提取图像特征的关键。# 第一层卷积padding=1# 第二层卷积padding=1。

2503_90237586的博客 240

Diffusion、VAE与GAN:三大生成模型的原理对比与应用场景解析

本文深入解析了Diffusion、VAE与GAN三大生成模型的核心原理与特性。Diffusion模型通过逆向去噪过程实现高质量图像生成,但计算成本较高;VAE擅长学习概率潜空间,训练稳定但图像偏模糊;GAN通过对抗训练生成锐利图像,但存在模式崩溃风险。文章结合实战场景,为图像生成、修复、超分辨率等任务提供了清晰的模型选择指南。

weixin_29063979的博客 343

实战!在 AMD RX 9070 XT (16G) 上使用原生 Windows ROCm 7.1 部署 ComfyUI + Z-Image-Turbo

本文详细介绍了如何在Windows系统下为AMD Radeon RX 9070 XT显卡配置Z-Image-Turbo AI绘图环境。主要内容包括:安装VS Build Tools和最新显卡驱动,配置Conda Python 3.12环境,安装ROCm 7.1.1 SDK及PyTorch适配版本,部署ComfyUI可视化界面。重点解决了AMD显卡在AI绘图中的适配问题,通过--use-split-cross-attention参数优化显存使用,最终成功搭建了可在消费级16G显存设备上运行的AI绘图环境

qq_33614778的博客 4692

图解常用深度学习优化器

来隐式构造 Hessian 逆的近似,从而直接估计出“谷底在哪”,而非仅仅判断“哪边最陡”。即SGD/Adam 主要看“当前坡度”,LBFGS 还会看“最近几步坡度怎么变”,像用局部地形图来规划路线。训练 Transformer 时,有些层梯度大,有些层梯度小。如果用 Adam + L2,梯度大的参数反而可能被“少衰减”,正则效果不稳定;:你要下山,但每次迈步前都要派侦察兵把整座山的每一个坡面都测量一遍,算出“绝对最陡”的方向才走一步。:还是下山,但这次你只问身边一个路人“哪边最陡”,然后就走。

技术管理两手抓,两手都要硬. 200

【深度解析】解决 NVIDIA 显卡“掉卡”与 Xid 79 错误:开启持久化模式 (Persistence Mode)

【深度解析】解决 NVIDIA 显卡“掉卡”与 Xid 79 错误:开启持久化模式 (Persistence Mode)

Edward的博客 864

证件阅读机如何用多光谱光学成像、端到端深度学习 OCR 与 MRZ 解析、13.56MHz 射频芯片认证三层能力,把单证核验压缩到 1–2 秒

"说走就走"的外国游客多了,酒店前台的压力也就跟着一起"入境"了。复印件在红外图里会丢掉层次,屏幕翻拍件在紫外图里会暴露像素网格和屏幕的摩尔纹,PS 改过的资料页在红外和可见光的交叉比对下常常"对不上"。客人只觉得"这家酒店办入住挺快",前台只觉得"今天没被催",店长只觉得"这个月没收到整改通知"。三只眼睛和一个 AI 大脑在 1–2 秒里跑完的一整套核验,被压缩成了体验里那句轻飘飘的"好的,您的房卡"。有意思的是,真正在缓解这个压力的,不是多招几个前台,而是柜台上多了一台巴掌大的小设备——证件阅读机。

智能图像识别 346

YOLOv11改进策略【模型轻量化】| 使用 MoblieOne 模块,引入结构重参数化,提高模型检测效率

本文记录的是基于MobileOne的YOLOv11骨干网络改进方法研究。MobileOne的基础模块通过重参数化,。在将其替换YOLOv11的骨干网络后,实现模型轻量化。

Limiiiing的博客 1424

低功耗 AI 人体存在检测系统:智能照明与安防的高效解决方案

低功耗 AI 人体存在检测系统通过 “ESP32-C3 主控 + HX7110 AI 模块” 的硬件组合,搭配双重检测算法与深度睡眠机制,既解决了传统检测方案的误报问题,又满足了长时间低功耗运行需求。系统接线简单、代码可直接移植,可快速集成到智能照明、安防监控等物联网设备中,具备广泛的应用前景。

weixin_42300449的博客 226

基于深度学习的猫图像目标检测方法研究:YOLOv8s模型海选、多种子对比训练与Django+ONNX部署实现详解

本课题基于深度学习研究猫图像目标检测问题。数据集含1000张猫图像、1188个标注框,按固定比例划分并冻结清单;训练前在多个候选族中短训海选,确定YOLOv8s为主模型,经学习率搜索与显存标定后完成150轮训练,验证集mAP50达到0.92,并以7个随机种子的对比实验验证稳定性。最优权重导出为ONNX接入Django系统,提供图片、视频、摄像头三种识别方式,配套识别记录管理与统计大屏,形成从训练到应用的完整闭环。

WEIXIN_JSJBSZDS的博客 168

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

深度学习0:数学知识:正态分布2(积分,幂函数积分公式)

积分符号∫(\int∫= 把无数个极窄的小矩形面积(高度×dx(\times dx×dx))“拼接”起来。dx(dxdx= 无穷小的宽度。定积分的结果= 曲线下方的总面积(一个具体的数字)。不定积分= 寻找求导前的那个原函数。这就是“积分求面积”最朴素的意思!

tellmewhoisi的博客 210

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

无人机巡检道路路面异常检测数据集 深度学习 目标检测 无人机巡检 道路病害 路面异常 YOLO格式 数据集发布9028期

无人机巡检道路路面异常检测数据集 深度学习 目标检测 无人机巡检 道路病害 路面异常 YOLO格式 数据集发布9028期

qq_2529413168的博客 181

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

基于深度学习的肌肉骨骼X光骨折分类方法研究——数据清洗、ResNet50训练与Django部署全流程

本文介绍基于深度学习的肌肉骨骼X光骨折分类方法研究。课题基于公开FracAtlas数据集,先做错标清洗与分层划分,再以ResNet50迁移学习训练二分类模型,通过类别权重与早停应对类别不平衡,模型导出ONNX后配合能量分数与近邻阈值实现域外拒识。系统采用Django与Vue实现,包含图片识别、识别历史管理与可视化大屏等功能,全流程可复现,适合作为计算机专业毕业设计的参考方向。

WEIXIN_JSJBSZDS的博客 401
上一篇: 参加征文 - NVIDIA认证备考经验分享 - 北京 NCP-GENL
下一篇: 项目上线那晚,一起喝点
pluschen
博客等级 码龄19年 0粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值