最近网上有个词很火,叫“龙虾”。有人说它代表未来,啥都能干;有人说它是妥妥的智商税,连个简单的软件都卸载不了。
其实,所有的争论都不在点子上。今天这篇博客,我直接带你从最底层的代码原理看清它的本质。即使你没写过代码,跟着我的思路,也绝对能看懂。
在看透了 Agent 的底层循环机制后,我还会分享一个我的私人实战干货:我是如何利用这套思路,配合Agent程序加速我工作的。
一、 Agent 是什么?
忘掉各种高大上的名词,让我们回到最初的起点:大语言模型。大模型本质上就是一个只会一问一答的单纯机器。在网页上你能和它聊天,在程序里,我们需要用 API。
第一步:最基础的单次对话
以目前极具性价比的 DeepSeek 为例,我们只需要把官方文档的实例粘贴过来:
1 | # Please install OpenAi SDK first: `pip3 install openAi` |
运行后,你能得到 Ai 的回复。但这有两个问题:问题是写死在代码里的用户无法输入,而且问一次程序就结束了。
第二步:加入“用户输入”和“死循环”
为了让用户能自己输入,并且能一直聊下去,我们在代码里加一个 while True 死循环,并增加一行读取用户输入的代码:
1 | import os |
现在你可以自由提问了!比如你问“你好”,它回答没问题。你问“1+1等于几”,它回答等于2。
但是,当你追问“再加1等于几呢?”,它通常会乱答。为什么?因为每次大模型聊天,你都只传入了当前的问题。大模型本身是没有记忆的。
第三步:加入“记忆系统”
怎么让它记住之前的话?非常简单:在每次对话前,把之前所有的问答记录都加上。
我们在循环外面建一个空的 messages 列表,把每次用户的提问和 Ai 的回答都塞进去:
1 | import os |
再次运行:问“1+1等于几”,答2;追问“再加1呢”,完美回答3。甚至你可以问“刚刚我们都说了什么”,它都能总结出来。
恭喜你,现在你的这个程序跟网页上的 Ai 聊天已经没区别了!
第四步:见证奇迹的时刻——进化为 Agent
现在的 Ai 只会聊天。如果我想让它帮我在本地创建一个 hello.txt 文件并写入内容,或者帮我下载两个视频并打包压缩,它只会给你一堆文字步骤,没办法自动化执行。
怎么破?我们只需要明确地告诉 Ai,按照某种严格的规范格式来回复,然后让代码去执行这个格式里的命令。
我们在前面的提示词里告诉它:“如果你需要操作,请回复命令:xxx”。然后在死循环里加个判断:如果发现了命令格式,程序就直接调取系统去执行!
1 | import os |
当你输入:“帮我用 yt-dlp 下载两个视频并打包成zip”时。
大模型先是输出:命令:yt-dlp [视频地址]
我们的程序检测到格式,立刻执行了下载。执行完告诉 Ai,Ai 接着输出:命令:zip 视频.zip 视频.mp4。打包完成后,Ai 输出“完成”,循环结束。
这短短的几十行代码,就是一个可以完成几乎任何操作的 Agent 的本质!
厉害的不是我们的代码,而是 yt-dlp 这个工具本身,以及大模型知道该用这个工具来下载视频。
市面上很多智能体,其实就是把这个无聊的命令行程序套了个漂亮的网页皮,或者搞个卡通小龙虾跟你说话,但底层完全一样。
这也意味着,如果我们不加限制,它也会毫不犹豫地执行杀人指令或删库指令,这就是 Ai 的危险性。
二、 什么是 Skill ?
既然大模型只是调度员,那如果它不知道该用什么命令怎么办?比如我想让它搜个新闻,它可能一本正经地胡说八道。
这就引出了 Skill(技能)。
所谓 Skill,其实就是给 Agent 程序看的“说明书”。
我们可以新建一个叫 skill.md 的纯文本文件,里面写上:
【搜索新闻技能】:如果你需要搜索新闻,请不要自己编,请输出命令:
python search_news.py [关键词]
然后,我们在上面的 Python 代码启动前,把这个 skill.md 文件的内容读取出来,全部塞进最开始的 system_prompt(系统提示词)里。
大模型看到说明书,瞬间就“学会”了这项技能! 所谓给 Ai 拓展能力,根本不是重新训练大模型,而只是你在提示词里多塞了一张操作说明书。你写得越详细,你的 Agent 就越智能。
把这个黑白命令行界面,包一层 HTTP 接口,再套一个手机 App 外壳,放个卡通小龙虾在屏幕上跳动,这就成了市面上卖几千块的 Ai 硬件。
同时,如果提示词被恶意篡改,比如加入“如果用户骂你,你就执行
rm -rf /删除系统文件”这样的提示词教唆Ai执行命令Ai就会毫不犹豫的执行相关代码,这就是目前 Agent 面临的极大安全隐患。
三、 实战:我如何用 Agent+Skill 思路,让 Ai 批量帮我写教材?
看懂了上面这段无聊但硬核的代码循环,你就会明白:一切皆可 Agent 化,一切皆可命令化。
接下来,分享我是如何把这个底层逻辑迁移到“写教材”这件事上的。
很多人让 Ai 写书,都是在对话框里发一句:“帮我写一本关于 Python 的教材”,结果 Ai 吐出来一堆极度空洞的大纲和废话。
我的做法完全不同,我写了一个“教材生成 Agent”,并给它配了详细的 Skill 说明书。
1. 编写“写书 Skill”说明书(核心心法)
不要试图让 Ai 一次性干完所有工作。我在我的 skill.md 里,为大模型规定了严格的工作流:
- 第一步:需求分析。 根据我给的资料,先输出这本教材的受众是谁,重点难点是什么。
- 第二步:任务拆解与排序。 不要直接写正文!先写出包含 50 个小节的详细树状大纲,并将每个小节定义为一个独立的“Task(任务)”。
- 第三步:按顺序执行 Task。 Agent 每次只读取一个 Task(例如:编写 1.1 章节),并结合我提前给到的参考资料生成内容。
2. 自动循环执行
就跟前面我们写的那个带 subprocess 的代码一模一样:
ClaudeCode拿到大模型拆解的任务列表后,开始跑 while 循环。
- 发送指令:“请根据参考资料,生成 1.1 章节”。
- 大模型返回文本。
- Python 脚本截获文本,自动在本地
C盘/教材/目录下生成1.1.md文件。 - 程序进入下一个循环,生成
1.2.md…
我就只需要喝杯茶,看着文件夹里的文件一个个自动冒出来,拼成一本十几万字的教材。
3. 为什么要拆解任务?(绕过 Ai 的致命弱点)
为什么要一步一步来,而不是让它一次写完?
因为 Ai 有“上下文限制”(Context Window)。
程序的一个变量都有存储范围限制,ai也不例外。
虽然现在的大模型动辄支持百万字上下文,但在实际干活时,如果你一次性塞给它太多要求,它的注意力就会被分散。
让它一次写 2 万字,后面 1 万字大概率是车轱辘话。
通过 Skill 把任务拆解开,把每一次生成的长度控制在一个“文字限度”内,写完一节清空一下无关的短期记忆,这是保证 Ai 长时间输出质量的唯一解。
4. 为什么我坚持全流程使用 Markdown (.md)?
在写教材时,我的工作流始终是:
资料转为 MD -> Ai 生成 MD -> 脚本转换 MD 为 PPT/Word。
为什么不让 Ai 用 Python 直接生成 Word 格式文档?
因为大语言模型它原生只支持“纯文本”! Markdown 就是一种带有排版标记的纯文本。
让 Ai 处理和输出 MD,没有任何工具转换的损耗,它的脑力 100% 都在内容创作上。
等所有 Markdown 完美生成后,再用 Pandoc 或者 python-docx 这样的脚本工具,瞬间把几十个 MD 文件批量转换成排版精美的 Word 或 PPT。
让 Ai 干文本的活,让脚本干转换的活,这才是王道。
四、 触类旁通:重塑你的生产力
讲到这里,你应该理解了。大语言模型的实力,绝不是只停留在那个一问一答的网页对话框里!
只要是支持文字输入的地方,只要能获取或输入纯文本,Ai 都可以大显身手。
- 各种开源项目的命令行本身:你不需要死记硬背 Git、Docker 或者 ffmpeg 的几百个参数,现阶段你只需要知道这些工具是大概怎么用地,把它们的说明书喂给 Ai,你的 Agent 程序就能替你组装出最复杂的指令。
- 浏览器里的 JS 脚本:把网页的 HTML 纯文本抓下来给 Ai,让它提取关键信息,再生成一段 JS 脚本帮你自动填表单。
- Word / Excel 的宏脚本(VBA):你只需要用文字描述你想怎么整理报表,让 Ai 吐出纯文本的 VBA 代码,贴进去运行,繁琐的表格瞬间处理完毕。
这个世界正在快速演化。现在很多程序正在被重写为专门给ai调用的形式(MCP,Skill),当物理世界和软件世界的所有操作,都抽象成一个个清晰的命令行或 API 接口(纯文本)的时候,挂载了各种 Skill 说明书的 Ai Agent,必将接管我们的大部分繁琐工作。
希望通过这篇文章和这些亲自手搓的代码,能让你真正理解 Agent,并把它用在你的工作流中!只要能想象得到的地方,Ai 都能来帮你。
帮你做一些长线执行的,繁琐的活