两个浏览器视频通话,为什么非得先搭一台信令服务器
从"让两个浏览器直接传视频"这个直觉出发,拆开 WebRTC 的 signaling、offer/answer、ICE、STUN/TURN 与 DataChannel,以及生产环境为什么纯 P2P 撑不住群聊。
从"让两个浏览器直接传视频"这个直觉出发,拆开 WebRTC 的 signaling、offer/answer、ICE、STUN/TURN 与 DataChannel,以及生产环境为什么纯 P2P 撑不住群聊。
讲通之后还要再简化,压成一句话、加一个边界清楚的类比,最后写下来沉淀成你自己的版本。写下来,它才真正属于你。
讲卡壳的地方,别再看一遍二手博客糊弄过去。回到源头,用官方文档、源码、最小复现真正把缺口补上。程序员有读源码这条近路。
费曼学习法的头两步,先挑一个值得讲的概念,再假装讲给外行听。讲不出来、只能说"就是那样"的地方,就是你没真懂的地方。
读完好文章觉得自己会了,合上浏览器第二天要写却卡住。这不是记性差,是没真懂。费曼学习法用"讲出来"逼自己暴露盲区。
把前四篇串起来:一个能读你文档、能调接口、还能接着上一句聊的问答 Agent。覆盖文档检索工具化、多轮记忆、以及一条最小可跑的完整代码,并点出上线前要补的工程化细节。
链把步骤写死,Agent 把选择权交给模型。这篇讲清 Tool 怎么定义、模型怎么 bind_tools、AgentExecutor 怎么循环"思考-调工具-看结果",并跑通一个能查天气、能算数的最小智能体。
RAG 让模型回答它没背过的内容:加载文档、切成块、向量化存进库、按问题检索、把相关块塞回提示词再生成。这篇把这条链路每一环讲透,并跑通一个基于 Chroma 的最小问答。
LCEL 用管道符把"提示词、模型、解析"串成一条可复用、可观测、可并行的链。这篇从 ChatPromptTemplate 讲起,覆盖变量填充、消息角色、输出解析、并行分支和出错重试,让你真正写顺第一条链。
直接调模型 SDK 写聊天容易,接检索、工具、多轮记忆就乱了。LangChain 把模型外围的脏活标准化成几层抽象:Model I/O、Retrieval、Memory、Chains、Agents。这篇先把全景和每个模块的边界讲清楚。