logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

从零理解 AI Agent:LLM + Tool + Memory,手写你的第一个智能体

大模型(LLM)很厉害,能写诗、能编程、能跟你聊天。它记不住东西—— 上周你跟它说过的事,这周它全忘了。因为 LLM 是stateless的,每次调用都是全新的开始。它不会动手—— 你让它"帮我查一下这个网页",它只能告诉你"你可以用 requests 库这样做……",但它自己干不了。它不知道你的内部信息—— 你公司内部的文档、代码库、业务数据,LLM 的预训练数据里可没有。它的知识有截止日期——

#人工智能
从零理解 AI Agent:LLM + Tool + Memory,手写你的第一个智能体

大模型(LLM)很厉害,能写诗、能编程、能跟你聊天。它记不住东西—— 上周你跟它说过的事,这周它全忘了。因为 LLM 是stateless的,每次调用都是全新的开始。它不会动手—— 你让它"帮我查一下这个网页",它只能告诉你"你可以用 requests 库这样做……",但它自己干不了。它不知道你的内部信息—— 你公司内部的文档、代码库、业务数据,LLM 的预训练数据里可没有。它的知识有截止日期——

#人工智能
在代码的晚风里,我决定和JavaScript“谈一场不分手的恋爱”

JavaScript,这门被戏称为“一周就开发出来”的语言,就像个青春期的少年,带着点草率和不羁闯入了我的生活。它坚定、执着,从声明的那一刻起,就锁定了那个唯一的值。作为一名刚刚踏入编程世界的“菜鸟”,我正对着屏幕上那一行行闪烁的字符发愁,试图在混乱的变量中,理出一丝属于自己的逻辑。但let是克制的,它有明确的“块级作用域”,它知道自己的边界在哪里,不会像var那样肆意妄为。当我把那些本不该改变的

文章图片
#javascript#开发语言#ecmascript
当栈决定排队:论数据结构的“易容术”与JavaScript的“无类哲学”

栈是“先进后出”的倔老头,队列是“先进先出”的守序员,让一个喜新厌旧的家伙去模仿一个念旧重情的家伙,这听起来像是让一个吃货把最后一块蛋糕留给明天——简直是在挑战生物本能。现在,你的任务是让东西从第一个箱子进去,却能按照进入的顺序从第二个箱子出来——这就好比你把一串糖葫芦塞进第一个箱子,却希望它们从第二个箱子按顺序一个个冒出来,而不是倒着来。今天,我们就来聊聊如何用两个“死脑筋”的栈,去模拟一个“按

文章图片
#数据结构#javascript#开发语言
单线程的智慧:JavaScript异步编程的艺术 ——从“一根筋“到“运筹帷幄“

早期的JavaScript中,异步任务通过回调函数(Callback)串联,很快就陷入了臭名昭著的"回调地狱"——new Promise 时传入的函数会同步地、立刻地执行——它仅仅是一个"容器",用来容纳异步任务。readme中用了一个生动的比喻:进程是"董事长"(PID),线程是"经理"(Thread)。setTimeout的组合,我们巧妙地模拟了"等待2秒再做事"的效果——不是阻塞式的暂停,而

文章图片
#javascript#开发语言#ecmascript
探秘JavaScript的数据王国 —— 八种数据类型的哲学与艺术

七大原始类型,以及以Object为首的引用类型大家族。Null和Undefined背后"主动"与"被动"的哲学差异BigInt和Symbol作为ES6新成员解决的历史痛点栈与堆的二元结构如何决定了值传递与引用传递的根本不同就像一位建筑大师必须先了解每一块砖石的特性,才能设计出宏伟的宫殿;我们只有深刻理解这八种数据类型,才能在JavaScript的世界里写出健壮、高效、优雅的代码。千里之行,始于足下

文章图片
#javascript#开发语言#ecmascript
从“Hello World”到“指挥AI”:一个新手程序员的奇幻漂流

现在的我,更像一个导演。我只需要用人类语言告诉AI:“嘿,帮我搞个登录页面,要赛博朋克风的渐变色。就像我给它预设了默认的“大脑”是 deepseek-chat,如果我想让它换个脑子思考(比如换一个更强的模型),只需要轻轻一改参数即可。比如我问AI“蜜雪冰城的滑雪装备”,它一本正经地分析了半天,最后告诉我:“其实并没有,这只是个梗。我甚至让AI扮演翻译官,把一个关于“杰克和吉尔”的故事翻译成法语,还

文章图片
#人工智能
从“冰柜里的雪糕“到“候车室的长队“——栈与队列的优雅哲学

它们只是两个"操作受限的数组"——是的,你没有看错,就是那个你第一天学编程就会用的数组——只不过被加上了几条温柔的"规矩",便脱胎换骨,成为支撑函数调用、任务调度、编译器解析乃至操作系统运转的基石。古人云"大巧若拙"。如果数组是内存世界里的"联排别墅"(连续存储),那么链表就是散落在城市各处的"独栋小院"——每个节点之间不连续,通过 指针(next) 串联起来。这一次,输出顺序截然不同:“东北大板

文章图片
#数据结构#javascript
新手程序员的“接口”生存指南:当代码开始说“人话”

它是新时代的“潮人”,简洁、时尚,还自带async/await这个“减速带”,让你的异步请求不再像脱缰的野马,想让它等数据回来再跑,它就得老老实实等着。但只要你掌握了fetch这个“神级技能”,理解了前后端分离的“游戏规则”,你就能在这个由0和1构成的世界里,闯出自己的一片天。所以,别怕犯错,大胆去写,哪怕代码写得像“意大利面条”一样乱,那也是你成长的足迹。别怕,今天咱们就来聊聊,作为一个新手,如

文章图片
#学习
到底了