马斯克收购 Twitter 后,很多我尊敬和关注的人都搬到了 Bluesky。我在那里创建了一个帐户,并真诚地尝试将其作为我的主要平台。可悲的是,我发现 Bluesky 对人工智能内容表现出惊人的敌意。那里对人工智能有着近乎宗教般的抵制,至少在我最终进入的平台的任何角落都是如此。
尽管面临这些挑战,Twitter 和 Bluesky 上的一些人还是对我的人工智能使用表现出了真正的好奇。在这篇文章中,我想分享我如何使用大型语言模型以及为什么我发现它们如此有用。
在继续之前,我想加入一个重要的免责声明:我绝不是人工智能领域的专家;我主要是一个热情的用户。这里绝对没有什么新奇的!我在这里所做的事情非常无聊,这在某种程度上正是重点。我不会介绍底层技术或我的编程经验。这完全是关于我作为一个“技术消费者”如何使用人工智能。
此外,当您阅读本文时,您可能很快就会发现,我使用人工智能的方式(尽管部分用于内容创建)并没有真正影响知识产权。也就是说,我很好奇并愿意讨论我们应该如何处理这个问题。特别是在 Bluesky 上,对人工智能的很多负面情绪都与版权和人类创造的淡化有关。我不知道这些问题的答案,但我认为我们需要在这里进行富有成效的对话,而不是希望这项技术消失。
为什么是人工智能?
简而言之:人工智能让我的工作效率显着提高。我最近阅读了Aaron Francis的推文,了解他如何借助人工智能从一天的工作效率中获得一周的工作效率。我还没有做到这一点,但我现在经常使用人工智能。对于我来说,无论是内容写作还是编程,它都变得不可或缺。
此外,一个常见的误解是人工智能仍处于 ChatGPT 首次推出时的水平。许多人很早就尝试过它,看到它的局限性,然后就再也没有回来过。然而,人工智能正在迅速发展。如果你没有跟上,你就有可能根据过时的印象得出不准确的结论。从某种意义上说,我相信那些从未尝试过使用人工智能的人比两年前使用过人工智能但再也没有回来的人更有能力做出判断。
我的人工智能工具包
我使用各种人工智能工具,主要是出于职业好奇心,其次是因为每种工具的擅长之处略有不同。以下是我最常使用的:
- 打开网络用户界面。简而言之,这是一个 Python Web 应用程序,提供类似于 ChatGTP 的聊天界面。然而,与 ChatGTP 不同的是,它可以让您与不同的模型交谈。首先也是最重要的,我用它与 Ollama 托管的本地模型进行交互,其次我也用它与其他远程服务(如 OpenAI、Anthropic 和 DeepSeek)进行交互。
- 西蒙的法学硕士。这是一个带有大量插件的命令行工具,可以让您提示不同的模型。将其视为 Open WebUI 的命令行版本。它对于快速脚本编写和基本自动化特别有用。
- 奥拉马。这使我能够在 MacBook Pro M1 Max 上本地运行模型。凭借 64GB 的 RAM,它是一台非常强大的基本推理机器,尽管它已经推出了三年。稍后我会解释为什么我使用本地模型。
- 光标。它是 Visual Studio Code 的一个分支,内置基于人工智能的自动完成和代码生成功能。这是我目前在人工智能辅助下进行编程的首选。
- 聊天GPT 。和大多数人工智能用户一样,我使用 ChatGPT,尤其是在我的手机上。我支付 Plus 订阅费用是因为我使用它足够多,可以从中获得很多价值。对我来说,它的一个重要用途实际上是语音模式(稍后会详细介绍)。
可能值得一提的是,您只需支付单个人工智能工具的费用即可获得大部分好处。我认为,随着人们扩大其用途,特别是当人们在编写提示方面做得更好时,使用更多工具的愿望自然会增长。至于日常使用哪些模型(和服务),我没有特别强有力的策略,而且偏好变化很快。例如,在 DeepSeek 的 R1 发布后,我开始对它进行大量的编程探索——它在这方面做得非常出色——而在撰写本文时才几天。
如果您想在本地运行模型,Apple Silicon 机器目前在性能、功耗和资金方面提供了一些“物有所值”的最佳选择。借助tailscale ,我什至可以通过手机访问 MacBook 的 Open WebUI 界面,只要它处于开机状态。
llm 和 Open WebUI 安装指南
老实说,这有点像紫外线插头。如果你有它,那么在本地运行 Open WebUI 和llm会非常快:
uv工具安装-p python3.11 open-webui uv 工具安装 --with llm-ollama --with llm-claude-3 --with llm-deepseek llm
之后您可以启动open-webui并使用 llm 工具:
开放式WebUI服务 llm 键设置 deepseek llm -m deepseek-coder '# 用 python 编写 timsort'
- 默认情况下,Open WebUI 仅连接到 OpenAI 或 Ollama。如果要添加托管的 Anthropic 或 DeepSeek 模型,则需要在 Open WebUI 管理面板的“函数”部分中创建自定义函数。
- 导入函数并配置您的 API 密钥,然后就可以开始了。
您可以导入到WebUI的功能:
人工智能可供性
我经常听到的一个担忧是“你不能相信法学硕士”,因为他们容易产生幻觉。当我解释我经常使用它来替代 Google 时,我特别明白这一点!然而,我处理幻觉风险的方式与向他人寻求建议时的方式相同:人们可能而且经常会犯错,而你要学会有选择地进行交叉检查。
我对待人工智能就像对待一个合作者或一个相当好的实习生一样,但我仍然对最终结果负责。在这种情况下,随着模型的改进,实习生也会逐月变得更好。数字实习生有点像人类,有道德,愿意与人争论。当然,除了一些人工智能实习生不想谈论中国,而另一些实习生如果谈论某些人就会中风。但不管他们做得有多好,如果我做错了事,最终都是我的错,而且是我的错。我不会责怪人工智能,我需要抽查。
然而,这个逻辑的结论并不是它总是错的,你需要检查一切,或者你根本不能相信它。这类似于您与其他人就问题进行技术讨论的方式。我见过不止一种情况,房间里的传统智慧在几分钟内是错误的,直到有人指出我们错了。
另一个主要优势是AI工具相对开放。您可以在本地运行模型并将其与脚本集成。即使是著名的完全不开放的 OpenAI 也比谷歌搜索开放得多。例如,您可以直接从命令行创建一个简单的语法检查脚本。
换句话说,你可以在本地集成它,没有人会阻止你。相比之下,很多很多年前,我的计算机上有一个工具,可以让我进行网络搜索并从结果中提取文本。很久以前它就停止工作了,以至于我几乎忘记了它。它已经停止工作了,因为搜索方面基本上没有竞争,谷歌不希望我那样使用它。
例如,您可以直接从命令行创建一个简单的语法检查脚本:
#!/bin/sh 型号= phi4:最新 如果ping -q -c1 google.com & >/dev/null ;然后 模型= claude-3-5-sonnet-最新 菲 OLD_TEXT = " $(猫) " llm -m $MODEL " $OLD_TEXT " -s " 修复给定文本中的拼写和语法, 并用改进后的文字回复,没有额外的评论。 使用双倍行距。”
该脚本可以根据互联网连接自动在本地模型(通过 Ollama 的phi4 )和远程模型( claude-3-5-sonnet-latest )之间切换。使用 Vim 中的!llm-spell这样的命令,我可以一步修复句子。
或者您可以像这样操作剪贴板的内容:
pbp 粘贴 | llm 拼写 | pbcopy && 说“AI 完成了”
用人工智能写作
我不让人工智能写我的文章。作为非母语人士,错误和语言怪癖是我的一部分。也就是说,我确实依赖人工智能工具来帮助我写作。
通常,在我第一次浏览一页后,我会要求法学硕士通读它并给我评论。我有一个 Apple Note,上面有我可以使用的各种提示,或者我只是想出我当下需要的东西。该过程没有特别编写。我基本上与法学硕士交谈,了解他们对文本的看法等。
以下是我在写作时使用人工智能的一些事情:
- 语法检查:我将人工智能建议的修订与我的原始文本并排进行比较,并选择我喜欢的更改。
- 重组:人工智能经常帮助我发现我的写作是否过于冗长。在人工智能出现之前的日子里,我经常会收到超长的文章,但读起来不太好,而且我没有发表。像 o1 这样的模型对于识别不需要说的事情非常有帮助。
- 写笔记并找到要点:在这里,我要求人工智能“像计算机科学 101 学生一样”通读草稿并做笔记。这有助于我了解它吸收的内容是否符合我想要传达的内容。
- 烘烤我的文章:我有一些提示要求人工智能“烘烤”或批评我的文章,就像在 Reddit、Twitter 或 Hacker News 上发表评论一样。尽管这些批评看起来很肤浅,但它们可能会刺痛我,而且它们经常会凸显我的论点中的弱点或缺乏清晰度。即使它们不一定会影响写作,但它们也为我不可避免地收到的一些反馈做好了准备。
- 识别行话:如果我担心行话太多,我会使用人工智能来解析首字母缩略词,并指出我在没有解释的情况下使用过的技术术语,帮助我使文本更易于理解。
人工智能编程
这可能是我所做的大部分工作,分为三大类。
- 调试和总结:向 AI 抛出堆栈跟踪和错误通常是找出我应该查看哪里、可能出了什么问题的良好第一步。有时它会完全自行解决问题。有时我也会抛出一个很长的错误报告或问题来尝试推理。
- 模糊解析:有时你有输出,但没有输入。举个例子,我有一个小项目来编写一个命令行工具帮助生成器,而人工智能非常擅长获取输出,“解析”它并创建一个结构作为输入。这是一个很好的第一步,然后生成应再次匹配该输出的代码。
- 代码生成:最后它的编程效果非常好。它可以执行单个代码片段,也可以生成复杂的东西。特别是对于原型设计来说,这是令人惊奇的。
现在所有语言都不是很好。我发现它在 Python 上表现得非常好,在 JavaScript 上表现还不错,但在 Rust 上表现很糟糕。然而,特别是如果我想解决算法问题,我通常可以在 Python 中进行迭代,直到得到我想要的结果,然后要求它将其转换为 Rust。根据我的经验,这至少是快速解决一些难题的好方法。
和她说话
结对编程很棒,但如果您独自在家编程,则并不总是可行。法学硕士可以充当替代的讨论伙伴——穷人的对话者。值得庆幸的是,它实际上并没有那么糟糕,因为它真的很擅长告诉你东西叫什么。如果您使用语音模式,这是最有趣的,但它在文本模式下也能很好地工作。
这是语音模式的一个激励示例:
答:所以,你还记得吗,如果你有strcat之类的东西,它总是从头开始复制,但如果你不断连接到同一个缓冲区,那效率真的很低。那么,请记住,如果您在循环中执行此操作,那么 Big-O 是什么,并且这种算法没有一个幽默的名称吗?
AI:你想到的是“画家施莱米尔算法”。这是一种幽默的方式来描述使用strcat这样的操作重复附加到字符串的低效率,每次都从头开始复制。如果在循环中重复执行,此操作的 Big O 复杂度为 O(n^2),因为每个strcat操作所花费的时间与字符串的当前长度成正比。
这对我的孩子来说也很有趣且具有教育意义。他们提出很多问题,ChatGPT 可以根据他们的年龄水平调整解释。如果解释还是太深奥,我可以立即要求其进一步简化。如果它太愚蠢了,我可以让它走另一条路。再说一次,总是存在出错的风险,但没关系。所有这一切的一部分是向孩子们传达我们需要验证它并且批判性很重要的想法。
ChatGTP 之所以如此有趣,是因为它能够让对话持续进行——它有状态。以大的公制数字回答?总是可以要求它扩展到大象或足球场。
当需要使用多种语言时,ChatGPT 也非常有用。举个最近的例子,我的孩子们有希腊朋友,我们试图理解出现的一些希腊单词之间的区别。我不知道怎么写,谷歌翻译也不理解我的发音尝试。然而,ChatGPT 可以。如果我以语音模式问它“pa-me-spee-tee”在希腊语中的意思是什么,它就会知道我试图咕哝什么,并以有帮助的方式回复。
最后是在旅途中使用。有时我只是无法在键盘上写下它,但如果我基本上与 ChatGPT 交谈,它可以将其转录下来,它也会删除我的一些“嗯”,它就会在那里我可以稍后复制粘贴并编辑它。 (为了证明这一点,我用移动应用程序转录了前面的句子)。这与在 iOS 上本地转录是一种非常不同的体验。它足够理解我正在胡言乱语的内容,它会开始和停止转录。现在这并不完美,但非常好并且非常有帮助。
多语言方面特别有帮助,因为我们的家庭会说多种语言。能够在德语、俄语和英语之间流畅地切换是一种令人耳目一新的体验。
无溢漏
我之前提到过,我不会让法学硕士来写我的文章。我也不使用人工智能来制作插图,尽管我过去用过。原因是这些插图有某种特定的风格,这令人难以置信。它们显然是人工智能生成的,而且通常质量相当低。人们开始将这些图像称为“AI slop”,而我个人对此的反应非常糟糕。当有人向我提出拉取请求、一封电子邮件或一条显然是人工智能生成的短信而没有透露这一点时,我立即对他们的评价很低。
类似幻觉的现象是一个问题,但只有当你不使用你的大脑时,它们才是一个问题。即使是最糟糕的错误也可以成为真正优秀内容的基础。我是一个糟糕的艺术家,但我可以使用 Illustrator。即使是人工智能倾斜图像也可以帮助我追踪我想要的姿势的人。同样,你可以将笔记放入文档中,让人工智能围绕它想象一个故事。您可能无法立即使用该故事,但您可以将其用作潜在的灵感。
最后的想法
人工智能工具在最好的情况下,感觉不太像破坏性和黑暗魔法,而更像是创意过程的自然延伸,只要你将它们视为好奇的合作者。我的方法不是外包思维,而是增强它:使用法学硕士来加速繁重的工作,理清心理结,更快地原型化想法。怀疑主义是健康的,但彻底否定人工智能可能会失去它作为那些愿意批判性参与的人的乘数潜力。