大家好,今天我们来聊 longchang, 一 句话定义它是 lm 应用的操作系统,提供标准化组建和抽象,帮你快速构建复杂应用。很多人直接调 api 也能够跑通,但是项目一复杂就会力不从心。 longchang 的 核心就是标准化,让你不用再重复的造轮子。接下来我们来拆开它,看它到底解决了什么问题。 直接调 api 和 longchang 有 什么区别?核心价只有三点,第一,标准化接口,各厂商的 api 格式不同, longchang 提供统一的接口,换模型,不用改业务代码。 第二,组件化加可组合,把应用拆成独立的组件,用管道符自由组合,不用自己写胶水代码。第三,生态集成项链、数据库、文档加载器,开箱,即用 agent 工具生态无缝的对接。这三点就是啷扇的呼声盒。 说到管道符就必须要提 l c e l, 这是微零点一之后的新的语法,用管道符就是一个竖杠连接组件,替代了旧版的点 run 和 call。 数据流是这样的, 输入先经过 prompt 格式化,变成完整消息列表,然后交给 l l m 生成回答。接着 paris 把输出文本解析成结构化的字幕串,最后返回结果供下游消费。整个列录像 unix 管道一样清晰,代码的可读性大幅的提升。 当称的六大模块各司其职。 models 提供统一的 l m 调用接口,屏蔽厂商差异。 prompts 负责模板管理,支持变量差值和消息格式。 chris 是 组建的链式组合, l c e l 让定义极其简洁。 memory 管理对话历史策略丰富。 retros 是 r a g。 的 核心,从项链库解锁相关文档。 agents 则是智能体,能够自主决策调用工具。这六块构成了浪荡的完整骨架。 memory 有 四种策略, buffer 存全部消息简单但是占 token buffer window 只保留最近的 k 轮 summary 对 旧黑化做摘药。 summary buffer 是 混合策略,近期完整的保留久远的做摘药是最佳实践。再看 output paris 三种解析器推荐 pentatic output paris 解析为 pentatic 模型类型安全,第二个输出列表,第三个输出结构化的字典。 最后总结三点,核心价值是标准化、接口组建化、生态集成。现在语法用 l, c, e, l 管道服务连接组建六大模块,各司其职。但是 longchain 不是 万能的,抽象层过多反而增加复杂度,简单场景直接调 api 可能更合适。会用 longchain 是 能力,知道什么时候不用才是判断力。这就是今天的全部内容。如果这期视频对你有用,记得点赞关注,我们下期再见!
粉丝7076获赞7.9万

对 ai 感兴趣的你肯定好奇 token 究竟是什么?一个视频给你说清楚。 token 翻译成词源,听着很玄乎, 其实说穿了就一句话, ai 不 认字,只认数字。所以你写的话,它得先拆成一串小碎片,给每个碎片编个号,然后再处理, 这个碎片就是 token。 那 到底怎么拆?拆的规则不是按字,也不是按词。比如我喜欢吃苹果,可能拆成我喜欢吃苹果四个 token, 但我喜欢吃苹果派,就可能拆成我喜欢吃苹果派五个 token。 因为 ai 从海量数据里学到了,苹果经常单独出现, pi 也经常单独出现,他觉得拆开更合理。英文也一样, smart 是 一个 token, smarter 是 两个 smart 和 er, 他学会了二代表根。拆完之后,每个 token 对 应一个数字编号,你输入的话,在 ai 眼里就是一堆数字。他做的事情很简单,看这串数字,猜下一个数字是什么,猜到了再把数字变回文字输出给你。你看到的所有 ai 回复背后都是这个猜数字游戏。 知道 token 是 啥,你就懂了三件事,第一,为什么 ai 聊久了会失忆,因为他的 token 额度用完了,记不住那么长的对话。 第二,为什么用 ai 要花钱?因为它是按 token 数量计费的,输入输出都算钱。第三, ai 其实不理解你的话,它只是用 token 拼出了最像正确答案的东西。最后一句话总结, token 就是 ai 看世界用的那块最小积木,拆得碎碎的,编上号,然后开始拼。

hooklets let you run commands at different points in clock hooks 让你在 cloud code 整个运行周期的不同节点上挂上自定义命令。 比如每次改完文件自动跑。 prettier 格式化,每次工具调用前先做一次全线检查 或者任务跑完自动发个通知到你手机。它跟我们之前讲过的所有机制最大的区别就一个词,确定性。 hooks 是 一定会跑的,无论 claude 当时在想什么,上下纹理有多嘈杂, 只要触发条件满足,他就必然会执行。毫无例外几个常见用法,改完文件自动格式化,把所有执行过的命令记下来,做合规审计,阻止危险操作。比如改生产环境文件或者任务跑完自动通知你一声。 hook 配置写在 settings then json, 挑一个事件可选地配 matcher, 限定针对哪个工具,再给一条要跑的命令就行。事件类型有这几种, user prompt submit, 在 你提交 prompt 之前触发 pre tool use 工具调用前跑 post tool use 调用完成后跑 notification 在 clod 发通知时触发, stop 是 clod 答完话停下来时触发。最常见的 hook 就是 改完文件自动格式化, 配一个 post tool use hook matcher 设成 edit 或 multi edit, 这样每次 clod 改文件就出发。命令里检查文件扩展名,调用对应的格式化工具 and runs the appropriate format type script 用 prettier go 用 go fmt, python 用 rough whatever your problem 看你项目用什么。 pre tool use hooks can block to pre tool use hook 可以 在工具调用真正执行前就把它拦下来。你的 hook 通过 stem 收到一份 json, 里面有工具名和入餐 命令,以 exit code 二退出就 block。 调用 standard 里的错误信息会回传给 claude, 让他知道为啥被拦。 exit code link 放行二是拦, 这就是给 claude 装硬规则的地方。禁止写生产配置目录,禁止跑 r m r f, 禁止 commit 到 main。 凡事必须保证,而不是建议遵守的事,都该放 hook 里。 项目里的 hooks 配置写在点 clod 目录下的 settings 点 jasonly, 这是项目级,可以 check in to repo。 团队每个人都自动拿到同一套 hooks 命令里,用 clod project dire 环境变量引用项目内脚本,这样不管 clod 在 哪个目录,跑 hook 都能找对位置。 简单收尾 hooks 给你对 cloud code 行为的确定性控制。 post tool use 用来做自动格式化和日制记录。 pre tool use 用来拦危险操作。配置入口是斜杠。 hooks 命令或者 settings 点 jason 记得 check in to repog, 让团队也用上。 凡事必须每次都跑,绝不能漏的是别放进 prompt 里,放进 hook 里。

瓦伦丁还没冲过终点线就摇头晃脑,哪里是抽风,分明是在向昔日老东家雅马哈宣泄满心不满,妥妥演绎了曾经的我你爱答不理,现在的我你高攀不起。 想当年在雅马哈,他受尽委屈,赛车要自己掏钱买,队内连饭都不管,吃住开销全靠自己解决,从头到尾就是个没人重视的工具人,熬了十几年始终默默无闻,眼看年纪到了就要退役,人生彻底没了盼头。 好在张雪主动找上门,给了他最后一搏的机会,一世才彻底醒悟,从来不是自己技术不行,而是雅马哈给他的车性能太拉跨,硬生生耽误了他十几年黄金生涯。 要是能早点投奔张雪,或是张雪的高性能机车早一点研发成功,赛场格局根本没马奎斯什么事,瓦伦丁早就站上巅峰,书写属于自己的传奇了。

这件百搭白衬衫太适合同行了,棉质面料穿着很舒服,职场姐妹可以试试搭配高腰半身裙,扎上腰带,气质又干练,日常休闲可以叠穿一件羊绒马甲搭配牛仔裤,很减龄,有种松弛感。 天冷了就外面套一件长款大衣,搭配吸烟裤,保暖又有高级感。一件衬衫搭出多种风格,喜欢的姐妹快去试试吧!

没有学过代码的怎么去理解这个 object 啦?它是一个 key value 的 组合。比如说我们说这个班嘛存一个 plus 的 变量,它的变量类型是 object, 比如说我这个 class name, 比如说是扣子,这个 class name 是 key, 然后扣子是 value, 还可以存一个 class member, 它,它就是有关联的 组合数据 k value 的 组合。我要描述一个人, user in four, 它变量名叫 user in four, 那 它怎么存呢?有个 user name, 还有我的 age, 还有比如说我的性别,什么 female, male, 可以 用这样子的一个 optick 来存储这种信息。 我们还看到这个 array 选了 array, 我 们是不是里面还有一行?还要再选 string 呀, number 啊,还有 object 啊, array 在 程序里面,它就是列表或者数组, 它就是一个有类似组合的元素组成的一个集合,就比如说我班上所有人的名字,它是一个集合,这里选 object。 哈,看 object 的 前面是不是有一个标记啊?花括号标记的基础的就大家都熟能生巧。