标签 AI 下的文章

写在开头

这一篇经过高强度使用和学习使用AI的随笔,或者是碎碎念,陈述的都是个人观点,仅作个人学习阶段性的记录。

心得提炼之后,其实就是这几句话:

  • AI在某些程度上,让作为一个半桶水的工程师编程一个一桶水工程师。
  • 高强度的和AI协同,会和刷短视频一样,令人疲倦和头疼,因为我需要为产出物负责,需要一遍又一遍校对AIGC的内容。
  • 在应用的层面上,提示词的技巧有用,但并不太有用。
  • AI协同工作,并不会改变你在必须在办公室待够十多个小时的工作时间,甚至会出现额外要求一天处理之前三四天的工作内容,这种情况。

提示词工程的原则

随着Ai的进一步发展,作为头部的Anthropic推出了一系列的Ai相关教程,围绕其Agent,Claude完善衍生出了一套和提示词相关的理念或原则。

提示词是由自然语言描述的命令,Ai能够通过底层的大参数模型解析推演命令意思,并执行。
但这个解析推演的过程是高度抽象和数学化的,是基于庞大的历史数据进行机械学习演化的能力。

其中Anthropic的提示词原则简洁的提炼出来一共有以下的几个点:

  • 少量样本好于描述
  • 明确标准好于模糊指令
  • 访谈模式提前收集信息
  • 使用链条规划工作流
  • 验证和带反馈的重试设定
  • 冲突解决模式(即自我矛盾纠正)

从上述Anthropic总结出来的原则上,能够提炼出一个观点:用精准的场景化、流程化、工程化的角度构建提示词。

不用层级的原则实践

Anthropic提示词的原则作用于全局,包含了Agent、skill、query(用户提问)三个层级。
这三个层级分别因为agent的设计,能够在不同的工作流程的颗粒度上发挥积极的作用。

Agent 层级

这个层级的代表文件是 AGENTS.mdCLAUDE.md 两个代表性的文件:

Agent是一个作用于整个工程项目空间的规则性描述,工作流程化就是在这个位置进行编排,并且包含了一些通用的安全性描述和标准声明。

受限于Agent.md本身的属性:一个先验性的指导自然语言描述,所以很多时候对于在Agent添加什么内容效果会比较好,是没有答案和参考的。
故此,应该用测试的结果或重复处理的测试方法,来评判Agent是否真的起作用。

Agent经过高度抽象之后,从流程、上下文、约束、规范、复杂场景拆解等事情上总结下来就是:现在是什么情况,要用什么方法,解决什么问题。

Anthropic的经验实践的总结,Agent一套明文规定的采用自然与书写的决策说明书。

提供一个仅供参考的大框架,通过自然语将判断对错、好和坏等对立的标准确定下来,之后才是针对于工作细节进行填充,什么环节参考什么节点的Skill工作环节说明,有哪些工具是能够派上用场。

在纯粹的效果导向的视角中,
一个比较合理的Agent能够结合skill、tools、甚至是hook,共同组成一个半自动化的工作流程,处理特定的工作。
在整个Agent工作的系统中,Agent将会将自然语言的编排(Agents.md)发送到LLM中,相当于省去了最开始初始化和磨合阶段。

这些都是框架之下进行填充的骨肉部分,是额外的、属于隐形知识的范畴。

Skill 层级

Skill从文件内容的表现(大概的核心结构、分层次的设计)形式上和Agent是基本一致的,同样也遵守提示词原则设计逻辑。

和Agent的区分是:skill只对某个具体的工程流程节点负责,是用于指导具体工作环境要如何进行的说明,除了主干 skill.md 之外,还有其他的scripts 草稿references 参考模版examples 参考 或者是相关联的tool 工具Hook 钩子这些额外的部分辅助。

这部分额外的辅助资料,不外乎都是在对抗LLM本身的缺陷,LLM本质是数字化的推理生成,并没有决定性的决策框架,所有的一切都来源于外界输入。
既然一切源于外在,那就说明内在的混沌是无法真正避免的,Skill的职能和其在整个AIGC中的生态位置,就是要向补充完善,在面都实际的有特点的问题时,应该如何解决和处理。
比如进行方程式计算、数据统计、或修正更新文档。

以更新文档这类工作场景作为例子。
一个文档更新的责任人处理的逻辑是:

  1. 确定更新内容。
  2. 确定更新相关的文档和具体位置
  3. 游览更新要点的上、下文本逻辑连通和一致性表述。
  4. 对内容更新,确定更新后效果。

在这个逻辑中,更新的行为始终在为一个没有明说的需求驱动,这个需求就是对信息及时性和文档准确性的追求和责任,这是当前实际工作场景之下具体需求。

Ai是没有这个需求驱动的能力,自然就是按部就班的执行自然语描述的工作环节。

而思考模式、thking等能力就是为这种缺失需求驱动的工作流进行兜底的产物,像人的神经网络那样工作,反思工作中的内容。

AI的自动化流水线依旧像是来料加工的流水线一样,严格意义上来说,以目前我的技术水平还没有办法装载自动化的流水线工程,被需求驱动这个举措还是需要一个触发条件,不论触发条件来源于AI还是人工。

在向AI转化工作流程和经验的时候需要这样:

  1. xx部分已经过时了,xxx是新的内容。
  2. 现在需要将过时的内容更换成新的内容
  3. 并且进行一轮矫正和逻辑检查,矫正的标准是xxx,逻辑重点是xxx。

满足需求驱动的注入、新旧概念的确定、要完成的动作、对于动作的标准,和工作中的重点。

这部分提示词演化之后,细化,按照近似工程的排列起来,就是一个Skill,技能。

skill就像产品说明书一样,告诉AI在一个完全陌生空白的环境中,任务的某个环节要如何解决和处理。

在Skill中明确指定的标准和示例就是对应:

  • 提供少量样本优于描述
  • 具体标准好过模糊
但是话又说回来,LLM本身的幻觉是不可避免的,然和利用工程化或者是控制的手段,约束一个混沌系统,不亚于中世纪女巫药罐子里到底要怎么炼制感冒药一样不可靠。
LLM的价值是在于解放人的重复劳动部分,实际最终的核心依旧是提高生产效率,解放人力,让人的精力能够被放置在更有价值或更需要的地方中,而不是所谓的替代人工论。

用户提示词

用户提示词如果按照作用级别来说,是最高级的来自于用户的直接输入,但他的作用效果有可能并不会对skill和agent进行覆盖。

在LLM中存在不同性质的提示词,比如其中的skill或agent的提示词会被标记为 system ,而用户的提示词是 user

LLM的注意力是有限的,通常在开头和结尾的内容要更加有效,skill和agent就是在会话开始的时候被封装到消息中,按照LLM的工作和实践经验,通常在用户层面会出现LLM明显更加倾向于Skill和Agent上的内容。

LLM阶段性使用总结

当前对于agent、skill、query三个不同的提示词作用层级的划分是受了工程化和规范化的影响,实际在LLM工作中,三者的概念和能力划分都是模糊的。

花费足够多的时间和对话,以及多次 query 输入矫正,也能够起到相同的效果,只是无法被其他会话复用。

skillagent就是为了将工作流程或者是工作说明等,这部分细节的内容沉淀之后的产物,是实际工作流的文字抽象。

既然是抽象,就会存在抽象后的损失。
再结合LLM本身的理解能力差异、语义差异、对最终的效果会有浮动产生。

越是精细的skillagent,多少回触发边际效应,投入和产出不成正比。且整个工作流都失去灵活性,趋向一种静态化,需要额外的设置示例,才能够处理额外的情况。

个人感觉

当前关于文档工作流的情况是:
文档重点是为读者提供技术示例,说明,对于可用性要求较高,及时性较弱。

且对于格式要求严格,需要兼顾一些文档站点中的css标签。
在利用agent进行更新、审计、检查、校对等工作时,需要额外的通过渲染器观察效果。
人工校对在整个工作流中依旧占据主导。

持续的投入Token让AI矫正skill或者是agent,在缺乏一些知识支持的时候,容易陷入到bug越改越多的情况,且黑箱也越来越大。

无法理解,超出认知之外的部分,也就无法控制,工程化的控制理论在这部分也就失去的意义,人是没有办法先知先觉的了解所有可能的生产故障或细节。

火爆到出圈的openclaw🦞

openclaw是一个开源的github项目,是一个通过有机结合agent+LLM+memory等组件构成的“ai职能助手”,目前已经从国外火爆到了国内,从传统的IT技术领域火爆到了各行各业。

我体验过,然后特别不理解现在互联网上出现的“拜”龙虾的奇怪现象,人们带上毛绒龙虾爪,头上带着深红色龙虾帽子,用“养虾”来形容他们使用openclaw的行为。
互联网上,大部分的人,都争先恐后、费尽心思的企图和龙虾挨上边,不论是评价视频、技术视频、体验视频,还是openclaw相关消费。

我不太确定是因为我节奏太慢跟不上时代了,还是现在出现了什么我不知道的大变化,我最近两周时间内都在忙活和编写一个AWS环境下基于AMI的同地区异账号迁移脚本,然后这几天因为缺少项目经验,卡在了异步确认AWS回传状态这个问题上。

早在26年的1月左右,我就已经知道了这个龙虾的存在,并且抱着尝鲜的心态去研究了一下,当时我还单纯的认为或许可以梳理我之前写的大堆杂乱的笔记。

第一天。
我遇上了国产LLM和海外LLM之间的问题,通过研究官方文档自定义了一部分配置代码,解决了openclaw接入国产DeepSeek的问题。
优化了openclaw的上下文,参考官方文档编写了一些组成openclaw记忆的markdown文件……
最终openclaw以一个不错的状态,在我的树莓派5上正常跑起来了。

第三天。
我发觉通过openclaw进行的任务完成度普遍较低,且通常都会消耗非常庞大的Token资源,一次用户层面的问答,少至10W Token,多至100W Token的消耗。
我研究了日志和一部分源码实现,发现在我的设备上openclaw预期的记忆memory模块并没有发挥作用。
而在openclaw的理想使用环境下,记忆模块memory也是通过API对接到LLM提供商,来处理和优化的问题。
在我的环境下,我是用的DeepSeek并没有类似的服务提供。所以为了实现上下文连贯和超长对话,openclaw会把我所有的对话详细、我的笔记等,“打包”发给DeepSeek,这些对话详情充斥着大量的不相关的无效信息。

第四天。
为了解决我遇到的问题和节约Token开销,我开始研究memory模块相关的官方文档,并从中得到了其他两种方法,效果是能够更精准的识别对话中的语言意思。
这两种方法分别是QMD和本地增强语义检索。

第四天到第十天。
我花费了差不多一周的实践测试和验证部署,测试结果都不理想,最终根据日志和源码定位到兼容性的问题上。
QMD项目是基于苹果Mac和一张A100显卡环境下诞生,只提供了几个主流的预编二进制,他对于硬件的适配性简直是糟糕,在我的树莓派5上因为缺少对应的硬件环境而无法使用。
后来,我解决QMD项目中出现的依赖问题,手动的调整了依赖关系,成功在本地编译针对树莓派5优化的底层依赖,但最终还是倒在了QMD中语义重排功能上,这个能力是依赖于开发者自己倒腾的一个基于Qwan的私有模型和CUDA已经死绑在了一起。
本地向量化语义也是相同的结果,都对上游的生态软件严重依赖。
这也有一部分是因为我缺乏边缘化硬件经验的因素影响,总的来说体验糟糕。

第二周。
我放弃了再向经常出现幻觉和上下文窗口故障的openclaw投入时间和金钱,清理了环境。

openclaw,这玩意不太好使,或者是我没有在理想环境下使用它。

AI的“幻觉”

AI的幻觉主要表现为在进行比较长的对话中,他会经常性的遗忘,导致任务出现或多或少的偏差,这也是AI编数据的说法来源。
但是我认为,除了技术缘故的AI幻觉外,还有人对AI的幻觉。
我之前也曾幻想自己在得到了AI之后,能够非常巨大的改变当下的生活,加速并超越别人。

但结果很明显,我写下了我的疑惑、我的思考、我现在答案。

一台运行在计算机上的AI智能体,到底能否实质性的帮助到人,在生活上发挥积极的作用?

在包括我和观察到的3~4个深度体验者的范围内,没有人真的能够实现网络上传言的那样——“一人及公司,靠着龙虾创办公司”,“在使用龙虾后,我的效率提升了xxx倍。”
没有能够通过openclaw获得巨大的提升,或者是完成原本自己无法很好处理和解决的疑难杂症。

前文提到,我希望AI能够帮我梳理或整理杂乱的笔记库,让我之后能够通过查询找到相关联笔记,并且进行重构和整理。
但当深度体验了openclaw之后,我时常觉得不是我在使用ai,而是AI在训练我,感觉相当的糟糕。
我时常需要纠正,忍受着燃烧Token的代价,并且将自己的实践和精力投入到一场人和机器上的交锋,我需要减少幻觉,而AI需要完成他的任务。
但往往一个简单任务,都会伴随相当多复杂情况问题,例如我遇到的硬件兼容性挑战上。
AI只是简单的吧答案抄下来,然后通过对话丢给我,其本身思考就是一次性,且不需要考虑任何责任。
我企图节省的时间,被消耗在了纠错、校对这些步骤上,而我根本没有获得什么太多的成长,只是在进行简单的逻辑判断。
AI的输出给的唯一有效解和我是实际体验,完全是相互辩驳的,这种割裂的状态也令人难以忍受。
我感觉我的时间被偷走了。
当我回忆两周的体验,最深刻的还是因为硬件的兼容性问题和我尝试手动优化代码本地编译依赖,这两个实实在在困扰我的问题。
我用AI做了什么,AI给我了什么答案?不去看对话记录,我难以回忆。

而另一位城市规划局的网友,他有一台装载了4090的超级巨无霸电脑,他在公司的要求和我的一些技术建议下也开始尝试openclaw,他想利用openclaw替他完成对设计图纸的批量复制粘贴。
这其中会涉及到Agent和图纸对接、分析、操作,和一部分安全隐患,我当时分析并告诉了他,并且提供了一些建议。
在那之后过去四天,当我在工作之余好奇的问他结果如何,他告诉我,openclaw没有想象那么好用。

我们的切身体验和互联网集体的趋向于“狂热“的状态,割裂成了两个世界。
以视角看,现在网上对于openclaw,这个蜕壳龙虾的态度,越发的向宗教性质的崇拜发展,还有一些别有用心的家伙,再利用这个变化,画下一个又一个看不到的圈层,区分你我他,分个好坏优秀高低。

我自己认为,AI可能在目前这个阶段更多还是一个放大辅助的作用,你需要有清晰的规划,熟练的经验,才能够把任务或工作转换成“机械加工”,用网上的说法,就是要有“方法论”。

那么,人的比重,应该反而在AI和人两者的协同关系中,上升了。

匪夷所思的是,本应该提升人价值的情况,演变成了“去人化”,原本应该是多人协同的公司,演变成了一人之堂,期待这其中的人能够高效的驱动AI替代原本应该由人完成的任务或事情。

被解构偷换的概念下,谁在获益?

计算机没有黑魔法,我一直是这样认为并且实践的。

所谓的“一人公司”,这种高度凝练的话语上,带着相当高的迷惑性和宣传力。
幻想中的一人公司情况,是驱使多个AI干活,每个AI都干着以前人类的活,但只需要消耗Token、电力、硬件。

这样看来似乎人肯定是要被AI替代不是?但人实际是两者中的重点,这是现实,是目前阶段的情况。

一人公司的口号,有意无意的干着、说着的话,都在暗示“人不如AI”。
这个口号或者是其背后的谋划者,正在汲取人们对新生事物AI的恐惧、对自身成长和不足的焦虑、和对新时代机遇的贪婪,野蛮生长,口号提出者或者是用户者们,企图用“速胜”、非此则彼的两极化方法解读新时代的变化,并将其加至人们的念头里面。

如果用资本的角度来看,鼓吹这些概念,百利而无一害。
对普通人,一人及公司的口号,推动了有关AI相关的消费和投入。
对于公司经营者,一人及公司口号,能够成为降低人工的宣传武器(毕竟鼓吹人不如AI)
对于相关培训机构,一人及公司的口号,推动了更多人去报课学习。

普通人如果想要充分利用AI,需要有强大的规划能力,和对问题的深刻认识,也只有这样,才能通过文字高效完成传达,并让AI进行执行。

这不太好,现在的“拜龙虾”情况相当不妙。
有人或者有组织这场波及全球的openclaw浪潮下,正偷换概念,颠倒人和AI的关系,并且企图通过这种对调后错误关系,实现对人价值的打压。

我期待的是有更好用的工具,但我在AI浪潮影响上,似乎是把其他的东西累加在了我最初的期待上。
在新的时代来临,在科技发展日新月异的当下,或许更应该用自己的实际体验、自己的亲身经历来做那个衡量价值的尺度,才能更好的适应看得见或看不见的变化或变迁。

现在这个时间点,AI是个工具,而工具,则是人的延展,工具应该帮助人发扬长处,弥补短处。
需要更加理性的对待工具,并警惕工具和人的颠倒,和错位。