粉丝23获赞259

今天跟兄弟们分享 jason 格式的提示词啊,这个有用吗?嗯,这个东西好在哪啊?有了它呢,咱们写提示词啊,嗯,就跟写填空题似的。嗯,给咱们个模板往里添就行, 要不每次自己写提示词,写出来的呢,就跟抽盲盒似的。最重要的是呢,他能学到很多文化,多巴恩活泼风。谁给我解释一下 马卡龙色系点缀?马应龙我知道,尤其啊,是做建筑装饰设计行业的,就相当于啊把提示词呢给分了,图层逻辑清清楚楚啊,好理解多了。 首先啊,找一张图丢给娜诺果,娜娜把这段提示词给他呢,提示词是这么写的,他是一位资深的室内设计师,建筑装饰领域的风格迁移专家。 任务是啊,深度分析参考图,绕过表象,抓取设计灵魂,用于后续的风格迁移。下面呢,就是拆解核心的风格与氛围材质和机理啊,光影逻辑,构图方式,相机参数的模拟,还有就是技术渲染指令。 最后呢,让他扒出一段呢,可以直接复制的标准化的 json 格式的提示词,用于迁移到新的空间。然后呢, ai 就 会给我们生成这个图片的 json 格式的提示词,每条提示词呢都是干什么用的啊,写的非常清晰。 然后我们把这个 json 文件呢,再给 ai 丢回去,让他再用自然语言描述。呃,就成了一段结构清晰的自然语言的提示词了。我们拿它生下图呢做参考图也行, 加上锁定结构的提示词,让它把白膜或者是草稿啊,生成效果图呢,也可以啊,对 ai 感兴趣的朋友可以加一下关注,咱们一起学 ai。

用 ai 来抄别人的爆款带货视频到底应该怎么做?今天带大家把这套流程好好的梳理一遍。首先我们先找到我们要对标的爆款视频,这个视频的时长呢,一般在十五到二十秒左右,这个是最好对标的。我们把这个视频发给 jimmy, 给他一句提示词,按照 jason 的 格式, 我生成这个视频的视频提示词,我们就会得到一段这样的提示词,你们可以看到他基本上从各个方面都做了一个相应的对标,而且这次的提示词呢,他会更加的精确一下。一步我们把这个提示词继续发给 jimmy, 把我们自己的产品也发给他。比如说我们之前的这个模仿的对标视频,他是一个灰色的裤子,然后我们自己的产品是棕色的, 我们把自己的产品和之前的那个这样的提示词发给 jimmy 之后,再给大家加一句话,按照我的产品去修改这个提示词,我们就会得到属于我们自己产品的这个爆款的对标提示词。最后一步,我们把这个爆款的提示词直接给到 c n 十二,然后再配上我们自己的产品图,这样的话一段特别流利,而且对标的爆款视频就出来了,大家可以赶快去试一下。

son, 全称 javascript object notation, 它是美国程序员道格拉斯克罗克福特基于 xmas script 的 一个子集, 也就是 javascript 的 对象表示法所设计出来的一种轻量级数据交换格式。尽管起源于 javascript, 但道格拉斯克罗克福特从一开始就强调 stinson 的 独立性,大部分的编程语言也都支持 stinson。 它不是一种编程语言,而是一个纯文本用来交换数据的格式。 在学习 stinson 前,我们得先认识三个关键的概念,对象, object 键、 p 值、 value。 stinson 文件就像一张你的个人信息卡,键是名字、年龄这些问题 时是你所填的信息,而你的个人信息卡就是一个完整的对象,代表的就是你特别类似于编程语言中的变量。 而 zsen 作为一种文本,它靠的是符号来规划结构并区别内容的,而所用的符号必须是英文符号,不要为了贪图一时的方便而导致格式不对。写 zsen 时,得先用花括号和方括号包裹你所写的内容,也就是框架, 但这要看你的 sim 文件是用在哪个地方。花括号是对象容器,方括号是簇组容器。花括号表示一个对象和实体有明确的键值。对结构,方括号表示一个列表和集合,通常是同类项的集合。 你可以这么理解,方括号的簇是人类这个种族,而花括号的对象是当中的一个人。比如我的世界的 text 文件夹里面的 languages, justin 语言文件就是方括号。现在我们开始正式的编辑空格和换行其实是不必要的, 仅仅是为了方便阅读而已。在 justin 的 标准格式中,键和值所处的位置是固定的,目前的 justin 解析器也是这样,键在左边,直在右边,中间用冒号分隔键是必须用双引号把它包裹起来的,且标准格式中是不能注视的, 但部分的 justin 解析器提供该功能。这就是一个简单的 justin 对 象了,只有六种类型。这个被双引号包裹起来的就是字母串, 字母串可以写任何东西,可以是中文、英文、数字等,甚至是一个完整的 justin 对 象。但这得看键所要求的值是不是就是这么写。就像考试的时候,题目要求你填补缺少的诗段, 然后你灵机一动,填了个数学公式下去,假设键是 name 名称,这种文本类型的键基本上可以随便写,但直接输入你好也想把双引号输出出来, 这种做法是会报错的。这是因为在字母串里面,双引号是结束和开始的意思。输入多个双引号,解析器无法知道哪个是开始,哪个是结束。这里就要提到一个重要的概念了,转移 转译可以让解析器理解某些字体应按字面意义处理,也可以用可见字体表示,不可见控制命令。这里我直接用 python 和 termox 终端来演示。 可以看到输出了双引号之内的内容,现在在其中添加双引号, 不出意外的报错了,这个时候就需要转异了。而反斜杠就是转异的核心符号,在双引号的前面加上反斜杠,就可以把它输出出来了。 要输出反斜杠本身,那就在反斜杠前面再加上一个反斜杠。这里因为要转异双引号,所以我输入了两个,你如果只输入一个反斜杠的反斜杠给转异了。 转译后的反斜杠是文本意思,无法转译双引号,所以要再加一个反斜杠,把反斜杠转译成文本,避免影响转译双引号用的反斜杠。然后转译用的反斜杠是不会输出出来的,因此只输出了一个反斜杠。 如果想在文本中表达换行,就输入反斜杠加 a, 它可以把后面的内容输出在下一行。 反斜杠加 t 等于制表符,相当于你按了一下键盘上的 tab 键来对齐。一个 t 等于两个空格,而且可以叠加两个 t 等于四个空格。 反斜杠加 f 等于换页符,相当于把输出的内容移动到下一页或下一行的开头。在现代终端中,它通常不产生实际的分页效果。 在打印机输出或特定格式文本文件中,它能实现换页操作。反斜杠加 b 等于退格符,相当于键盘上的 backspace 按键。将当前位置向左移动一格。反斜杠加二等于回车符,它会将当前光标位置移动到本行的开头 二,之后的内容会覆盖掉同一行之前的内容,不执行换行功能。反斜杠加斜杠,把斜杠翻译成文本意思。虽然直接写斜杠通常也是安全的,但翻译可以防止在 html 环境中解析错误。 许多编程语言,如 java script, php 中的正则表达式通常有一对正斜杠包裹,例如 pattern。 如果你需要匹配文本中的斜杠, 那就必须对其进行转译,否则系统会误认为正则表达式已经结束。反斜杠加又等于 unico 的 四位十六禁止编码。 该转译允许 unico 的 四位十六禁止编码表达对应的 unico 的 字符。在原代码储存格式非 f 八的环境下, 用 u 显示编码中文,可避免代码再次打开时出现乱码。而且无论文件编码如何设置,特定的文字符号都能被正确识别和渲染。以上所讲的九个转移方法都是甚所支持的,实际上还有别的转移。好了, 继续编写 if, 如果要写多个键值对,那就用逗号分开,如果后面没有了内容,就不写留空。该值是数字类型,支持正数、负数、小数。科学技术法。我输入的一二三一六换算是二零零六,通常用于定义伤害多少, 金币多少这类参数。该值是不尔值,能写出是真 boss 是 假,个人感觉类似于 yes 和 no。 该值是 no。 空值表示没有何无 嵌套对象,有些键有多个键值对和对象,如这样, 该值是数组类型,可以填任意的多个相同类型的值。字母串就字母串了,别字母串还加数字,当然也可以在里面嵌套多个对象。 这里我再说一遍,如果后面已经没有内容了,那就不用写逗号了。 注意事项,在同一层结构中不能出现相同的键,解析器会覆盖重复键的值,只保留最后一个出现的键值。对,还有 justin 中的键来源不是 justin 本身, justin 只是数据交换格式, 是数据的生产者根据需要自定义。在编辑 api 或配置文件时,开发者根据业务逻辑命名键。例如为了记录姓名,开发者会定义一个键为 name 名称。

solo 二,模仿爆款视频到底该怎么做?百分之九十的人都做错了,我先跟大家讲一下他错在什么地方,然后在视频的最后我会给大家讲清楚我们测试过的流程,我们教给我们学员的方法到底应该怎么做?首先你们去模仿的话,你们可能说会去在平台上找到一个比较爆款的视频,然后把它下载下来, 我们再把这个短视频呢扔给那个 gmi 三,让 gmi 三反推出相应的提示词,我们再把这个提示词喂给 solo 二,让他去产出相应的一个视频。但是你们会发现产出来的视频 角色不一致,声音不一致,整体的画风度不一致,而且每一次生成它都会有很大的偏差,所以我说这个是错误的方法。为什么? 因为你每一次都没有把它进行一个格式的固定,你想一想你每次给它反推出的提示词是不是每一次都不一样?你用相同的视频,它会有不同的提示词,所以按照这套流程走下来,你会发现你的视频的质量确实会差的很远。那我们学员是怎么做的呢?我们会利用到一个结构,叫做 jason 结构,学计算机的应该就能知道什么叫 jason 结构, 它是最小的结构下能够储存最大的信息密度。它有两部分组成,一个是关键词,一个是关键词的示意,它的结构是这个样子的,所以你们可以看出来它的结构是很规整的,那在这种情况之下,我们就让它反推出来它每一次的这个排序基本上是一样的, 可能只是有一些文字有一些略微的差别,所以我们模仿爆款最好的方式就是把这个视频扔给 jason 的 数据格式返回,然后你就会得到这样的一个提示词,我们再把这个提示词扔给 solo。 二,你会发现它生成的视频 不管说是在质量上,还是在各个属性的统一上都做的特别好,给大家看一下最终的效果, 好了,大家赶快去试一试吧!

我的世界指令教学十二 tito tito 指令 先从最基础的 title 讲起,我们可以在 title 最后直接加上文本,可作为直接输出, 可以看到效果也是很好。同样我们也可以用 action bar, 会将文本显示在活动栏, 效果也是同样的 subtitle 副标题无法直接输出,必须搭配 tabo 一 起使用,所以通常会用两个命令方块找出拉杆激活一下,效果就是这样。 times 可以 改变你的文本显示时间放大解析一波,后面的三个数字分别是弹入、停留和弹出时间。数值为一时代表的是零点零 五秒,所以二十代表一秒,那么这串指令弹入时间是一秒,停留时间五秒,弹出时间一秒。下面的指令跟刚刚一样,最终效果如下, 但是有的时候我们停留时间不小心打的太长了怎么办?拉下拉杆之后,文本在屏幕上挥之不去, 这时候我们可以用 clear, 指令发送出去后,文本立马就消失了。另外开头选择器后面也可以接 reset, 作用就是将你的文本显示时间重置, 这里就不过多赘述了。接下来是本期的一个重点,通常以 tilde 和 tilde 连用大部分的服务器都能见到它的影子, 那就是我们的文本 justin, 每个 justin 都需要有个这玩意,之后往里面塞入令分子, 有多个令分子时需要用英文逗号隔开。首先讲解 text 来看这串指令,在刚刚提到的前置里加入了 text 文本内容,其含义和 title a t p action bar 你 好大径相同,但也会有不一样的地方马上会提, 可以看到我们出发后的效果和普通的胎透一模一样,但是不同点来了,我们可以在文本中添加 n, 做到换行效果, 效果就是这样。实际上网易版在一点二零之前胎透就可以换行,但是后来就不行了,所以现在只能通过 justin 的 字幕的。如图是 mc 里所有文本 justin 的 字, 但是在网易版只有第一个有用,输入,下面的几个会直接变成一意不明的符号。接下来讲解的是第二个令分子 select, 看如图的指令,我们在 select 键之中加入了 select 选择器。 以上指令的意思就是显示出所有玩家名字等同于开头 a p p, 开头 alpha。 看效果,由于服务器现在只有我一个玩家,所以只显示了我的名字 select 这个选择器中可以加速调进,例如 r 等于范围, square 等于计算百分之乘等于数值等。接下来要教学的是 square, 另分子 再的 c p, 结果就变成了一等 是什么特殊用法?放到最后讲,先把两种站位符最基础的用法讲掉, 可以看到 translate 的 文本加上了站位符,后面还跟了个 with with 后面又多了个新的前置,里面还塞进两个 text。 当指令执行时,站位符一会变成新前置里第一个 text 中的文本,二会变成后面第二个 text 文本 来展示效果也是很成功的输出了。当 translate 只剩一个站位符时,就会只替换对应文本。通过这个方法我们就可以有效的批量输出后面的文本。 接下来我们再来解析 s, 当站位符只有一个 s 时,我们可以理解为它的用法和异相同。输出时会显示后面的第一个 text 文本试试,但是如果输入两个 s 呢? 我们输出后会同时显示两个文本,所以通俗点理解,显示文本的数量取决于 s 的 数量,但是 s 的 数量绝对不超过后面的文本数量。现在我们在占位符中加入其他文本, 注意现在的输出内容。所以现在就可以得出一条结论,前面第一个 s 会替换成后面第一个文本,前面第二个 s 会替换成后面第二个文本,以此类推,可以添加第三个甚至第四个文本,我就不做示范了。 接下来来介绍一到九的特殊用法。首先,后面的新前置里有两个 selector 和 text, 可以 把一个 selector 和 text 理解为同一组,那这里面就总共有两组。前面的占位符就是后面的组数加一 来给后面的数据分个组。蓝色组表示,当 tts 分 数为一时,就显示文本二。红色组表示,当 tts 分 数为两时,就显示文本二。 当然条件不一定得是 scores, 同一组中都是前面的选择器,显示后面的文本,只要 select 后面跟的是一个玩家就行, 也可以增加组别,最多为八组。现在我的 t t s 分 数是一,所以会显示第一个文本,让我把 t t s 分 数改为两, 然后再输出就是第二个文本了。本期的教学就到这里了,今天讲的可能会有点难理解,可以多消化消化。感谢收看!

每日面试题一、智能类型是 str, 字典的类型是 dict。 二、智能中的空值为 now, 字典中的空值为 number。 三、智能中除数字外所有的 k 和 value 都是字符串,而且一定要用双引号括起来。 制胜中的 t 不论是数字还是字符串都要用双引号括起来。 t 可以重复。拍放中的字典 t 为数字时,用不用引号括起来都可以, t 不能重复。四、 智能里面类似的,里面的键可以重复,转换成字典之后,后面的会将前面的覆盖,因为的里面的键不能重复。

大家平时看接口返回一大坨 jason 甩你脸上,这个工具能直接把 jason 变成结构图。如果你经常看接口条数据这个项目,你得看他叫 jason crack, 把这些数据贴进去,右边马上就会变成交互式结构图,字断层级一眼就清楚, 不用再对着一坨数据硬找。所以如果你平时经常查接口这个项目值得,现在就试一试,我后面还会继续实测这类工具,帮你筛选出真正值得用的。

是节省,节省其实是一个后端返给前端数据的一种,你把理解成再提,后端返给前端的一种再提, 那对于这种节省的形式来说,它会有,它其实是通过一个大括号包起来,它里面有个 k 和 y。 比如说我现在用户登录,那用户登录,那我现在提交了用户名密码,点击登录,这一瞬间的时候是前端和后端进行交互, 那交互的时候接收应该是什么样子?接收,比如说 user name 等于张三,那个 password 等于李四,把 password 等于一二三四五六,那之后这个形式大括号包起来,这个就是接收点击提交到后端,刚才刚才聊的通过 api 的 形式 把接收数据给到后端,那后端他接收到之后,他觉得用户名和密码都是正确的,他就觉得后端经过一系列流程之后,他就返给前端说, ok, 好, 你这个用户名密码正确,可以登录,那得前端得到一个响应值两百,就可以进行正常的登录了。 那这个就是一个大概接收的一个在整个流里面的一个作用。什么是接收?接收其实是一个后端返给前端数据的一种, 你把理解成再题,把后端返给前端的一种,再题,那对于这种节省的形式来说,它会有,它就其实通过一个大括号包起来,它里面有个 k 和 value。 比如说我现在用户登录那,那用户登录那我现在提 交了用户名密码,点击登录,这一瞬间的时候是前端和后端进行交互,那交互的时候节省应该是什么样子?节省,比如说 user name 等于张三,那个 pass word 等于李四,把 pass word 等于一二三四五六,那之后这个形式大括号包起来,这个就是个接收点击提交到后端,刚才刚才聊的通过 api 的 形式 把接收数据给到后端,那后端他接收到之后,他觉得用户名和密码都是正确的,他就觉得后端经过一系列流程之后,他就返给前台说, ok, 好, 你这个用户名密码正确可以登录, 那都前端得到一个响应值两百,就可以进行正常的登录了,那这个就是一个大概节省的一个在整个流里面的一个作用。

那我们在刚刚的那个例子里面就会看到四个不同的符号,第一个呢就是大括号,就好像我刚刚说了,他就会代表一笔的资料,然后第二个就是一个中括号,他代表的话呢就会是一个清单, 他一个清单里面呢就可能会包括好几个大括号包括的东西。然后第三个就是冒号,就是左边是标签,右边就是一个值。 比如说这里这个例子,左边就是 email, 然后冒号,然后右边就会是他的 email, 然后的话呢就会是逗号。逗号在执行里面的话呢,就会是一个分隔线。好像刚刚的这个例子, 比如说这里会有一个逗号,就是一笔资料跟下一笔资料中间的一个分隔,所以这里就会有一个逗号,然后这里也会有一个逗号, 但是最后的话呢,因为他是结尾的,所以这里就会没有逗号,反而如果我们在最后一行加逗号的话呢,他就可能会报错了。所以我就用这个例子跟大家说明一下。 比如说这个情况 a, 我 们可以想象 m i n 的 节点就是一个邮差,然后追悼的资料呢就会是一个邮件,我们可以想象就是邮差差上面有两封不同的信,所以他呢就需要跑两遍去投递的。他这里就会有一个中括号,包括两个大括号, 所以在 m m 它看来的话呢,它就会有两笔的资料,它就需要送两次跑两遍。然后我们看一下情况 b, 情况 b 来说的话呢,它前后就会有一个中括号,所以我们根据之前的理解的话呢,就是它应该会有两笔的资料嘛,我们在中间这里也会看到了 这里有一笔,这里也有一笔,正常来说应该是两笔啊,但是我们在这里前面这里跟后面这里 又会看到了这里就会有一个大括号,把里面的这些东西包括在了一起。那这个情况是什么意思呢?我们就可以想象它是一个大的包裹, 然后里面是装了很多不同的东西,但是因为它都是被一个大包裹所包的,就好像我们平时买东西一样,可能我们在 a、 b、 c、 d 店买了很多不同的东西,最后都可能会变成一个大包裹送来给我们。 所以在这里呢,虽然它前后都是用了中括号,就是一个清单的方法来表示,但是最后 m i n 它所理解的就会是 一个东西,因为它在这里前后都用了一个大括号来把里面的东西都包裹起来了,所以我们这里就是要记住了, m i n 它只会算,比如说一个中括号里面有多少个这个大括号, 如果里面只有一个大括号的话呢,就会变成只有一笔的资料,然后我们就需要自己手动地把它拆出来,那我们就可以利用 m i n speed 这个节点把东西拆回来。

最近呢,很多的 ai 博主都跟大家在讲,用让大语言模型用 html 输出,结果会让人看起来非常的方便,更易读,而且它有可能生成这种交互式界面吧,让它的信息可能更快的被人去接受, 那这一点我是非常认同的,但是你有没有想过,相同的信息密度之下,你让大语言模型输出 html 跟 markdown 和 jason 相比,那他会多费多少的 token 呢?那但这个的疑问,我自己做了一个下面这么样的一个测试啊,给大家看一下结果。首先要说明的是,这个测试完全不是很严谨的,只是定性的做一下分析。好啊,那我这边测试了三个任务啊,一个是做 物流分析,第二个是写程序,第三个是做气象报告。那每一个任务呢,我都用四种格式让他做输出啊, markdown, h t, m l 啊, jason 和这个纯文本。那输出的时候呢,我这边用的是 deepseek v 四 flash 的 模型,然后 system prompt。 就是 啊,这个系统提示词已经啊在上面已经写好了, 然后 user prompt 是 刚才那几个任务。好,那我这边呢,是用了啊,为了精确的控制呢,我的温度 temperature 设为零,而且把这个思考模式是关闭的。好, 把所有的每次回答的头肯啊拿下来保存在这个地方。那最后呢,我其实啊是每一个任务,每一个 啊输出的格式呢,我都做了三次,然后求一个平均值。好,那我们看一下最后的结果是什么样子的,我这个地方画了一个图啊,我在这把这个图打开,可以给大家看一下。那这个图呢,每组 是一个任务,然后这个最左边这个很高的一个柱子呢,就是用 html 的 输出,它的每次平均的 token 值是什么样的? 然后中间两个绿色呢,是 jason 和 markdown, 大家看到几乎是不分伯仲的啊,它这么一个一个结果,然后最啊这个绿色的下面呢是一个纯文本输出,就没有任何控制幅,大家可现可想而知,它的这个 token 数应该是最少的。 那还有一个结果呢,我们可以看到啊,最后我做了一个统计啊,就是相较于 纯文本来讲,全全部的排名,基本上 hcm, 它大概在我的这种情况下呢,会有三倍多的这么一个 token 的 一个膨胀率,那啊, jason 和 markdown 基本上是百分之不到百分之五十,我觉得还是可以接受的。那么所以 到底你是要选哪个什么样的输出呢?我觉得我个人建议这样子,如果你的大元模型的直接你的任务的模型的直接输出是对人去看的啊,给人去看的,那 同时你又对 token 没有那么敏感的话,这时候你就大胆的让他去输出这个 html, 甚至各种的交互,你都可以加进去各种漂亮的颜色,对吧,为了让人更能够更好的吸收, 那好啊,那第二个如果你是给人去读的,但是呢,你对 token 的 要求又非常的严格,又非常对他沉稳又非常敏感,这个时候呢,我建议你还是 keep 在 啊 markdown, 毕竟在信息量的同有同样的信息量,同时啊,大概这个相对于人还是相对比较容易读的,尤其是它经过简单的渲染以后,对吧?那如果你的大体模型对接的是后啊,下游或者上游的一些程序,那这个时候当然 无庸置疑,你最好的一个选择应该是 jason, jason 它可以控制你输出的这个字段,然后方便你上下游的程序的对接。好吧,不知道看完这个测试以后你有什么感想呢?啊?对于大于模型的输出,你有什么想法?也欢迎在评论区里面大家聊聊看。那我们今天就先这样了,点赞评论转发,咱们下次接着聊,拜拜。

面试官问大模型怎么稳定输出节省?这是当前 ai 工程化落地最普遍的痛点,也是技术面试中考察工程思维的核心问题。 今天我们从提示词设计到系统架构、系统性拆解这一问题的本质与完整解决方案。大家好,我是一塑,点赞收藏加关注,下次再看不迷路! 在这整理了全套大模型,物料和落地项目实战都可以打包的。很多人最容易陷入的误区就是只靠提示词约束,哪怕你在提示词里写别废话,只输出节省,依然会遇到格式错误。因为大模型本质是概率性的文字接龙,他没有绝对的确定性。 最常见的失败场景就是模型先礼貌地说一句,好的,这是为您准备的数据,直接导致下游解析器崩溃。在面试里,如果你只提出这种方案,会被认为缺乏基本的工程思维,所以仅靠提示词是无法解决根本问题的。 要从根本上解决 jason 输出不稳定的问题,首先需要明确其底层技术根源,主要体现在三个方面, 第一是 next token 机制,模型逐字生成,脑子里没有语法数,根本不理解括号必须成对,只是觉得这会出个括号概率大。第二是 r、 l、 h、 f 的 副作用模型被训练得太乐于助人,输出数据前非要加具开场白。 第三是 token 编码问题, jason 的 花括号引号编码权重不稳定,长文本生成到后面注意力一散,符号就丢了。针对这些根源问题,工业界形成了一套四层深度防御体系,从软到硬,层层递进,通过不同层级的技术手段,逐步降低输出的不确定性。 这四层依次是语义规约、原生协议控制、解码层、约束解析、自愈层。接下来我们就详细讲解一下这四层防御体系。第一层,语义规约,这是最基础也是成本最低的软约束手段, 其核心思想是通过明确的指令消除模型的输出歧义。主要包含两个关键环节,一是提供完整的 jason schema, 严格定义输出的字段名称、数据类型、层级结构和取值范围,为模型提供清晰的格式参照。 二是在提示词中加入两到三个高质量的少量本视力,利用大模型强大的上下文模仿能力,引导其输出符合预期的格式。在简单的结构化提取场景中,这种方法能够解决约百分之六十的基础格式问题, 但它的局限性也十分明显,当输入内容复杂、存在歧义或模型产生幻觉时,仅靠语义引导无法保证输出的稳定性,因此只能作为整个防御体系的基础环节。 第二层,原生协议控制,即利用大模型服务商提供的官方接口能力进行格式约束,是低成本、高回报的手段。 主流大模型 api 都有接收 mode 和方声拷令参数,开启这些参数后,服务商在模型生成的后处理阶段会加入格式校验逻辑,过滤掉不符合接收语法的输出内容,从源头上减少格式错误的发生。 这一层能再解决约百分之二十的问题,我强烈建议,只要调用云端 api, 这个参数必须默认开启。第三层,解码层约束,这是目前格式控制能力最强的技术手段,主要适用于开源大模型的部署场景, 其核心实现依赖于 outlines、 guidance 等专用库,通过逻辑掩码机制对生成过程进行实时干预,模型每生成一个 token, 外部状态机就实时校验, 不符合接生语法的,直接把概率打成零。这种方法相当于在深层层面构建了严格的语法约束,能够从根本上保证输出的接生语法正确性。 但需要注意的是,该技术需要直接访问模型深层的原始楼介,这一能力通常不会被闭源云端 api 开放,因此其应用范围存在一定限制。 第四层解析,自愈层作为整个体系的最终兜底机制,用于处理前三层未能拦截的异常情况。 其工作流程分为三个阶段,首先拿到输出,先做代码校验,第一时间拦截错误。然后对于括号不匹配、引号缺失、多余逗号等常见错误, 使用 jason repair 等陈述的工具库进行自动化修正,尽可能保留有效数据。最后修不好的,将错误信息和原始请求一起反馈给大模型触发,从新生成流程形成完整的纠错闭环。这套体系的核心思想就是用确定性的工程架构去约束概率性的大模型输出, 从语义引导的软约束到协议锁定的接口层控制,再到解码拦截的底层干预,最后到融错自愈的兜底机制,各层级之间相互补充, 共同构建的一个结构化输出系统。这一思路背后反映的是 ai 工程化的核心矛盾。大模型的深层能力基于统计学规律,天然存在随机性和不确定性, 而工程系统的核心要求是稳定性和可预测性。我们的工作本质上就是通过架构设计,在保留大模型生成能力的同时,将其不确定性控制在可接受的范围内。 基于上述分析,我们可以得出三个关键结论,第一,坚持防御性编程,永远不要信任模型的原始输出,必须过较验网关。第二,方案分级小项目用提示词够用,生产级业务必须上方生 call 领,有条件就加解码层约束。 第三,建立反馈闭环,错误不可怕,没有自动纠错机制才可怕。最后留给大家一个思考问题,当我们使用第三方提供的云端大模型 api 时,上述四层防御体系中哪一层是无法直接使用的?欢迎大家把答案写在评论区。

上集我们找到了 cloud md 和 memory 在 你电脑上的位置,但 cloud 目录里不止这两个东西,你打开看看,里面还有 settings, gson, rules, commands, hooks, 每个文件夹都是干嘛的? settings gson 里的 allow 和 deny 又是什么意思?这集我就带你一次性搞明白。 首先你要知道 plodcode 其实有两个 plod 目录,一个在你的项目跟目录下叫 plod, 这个是你跟团队共享的,要提交到 git。 另一个在你的用户主目录下叫斜杠 plod, 这个是你的个人专属,不用提交。 我们来看左边的项目及目录,里面最重要的是 settings g s o m, 它管着这个项目的权限配置。还有 settings local g s o m 是 你的个人覆盖,要加到 getinerary rules 文件加放模块化规则, commands 放自定义斜杠命令, skills 是 可附用技能, agents 是 指代理定义, hooks 是 事件驱动脚本, 这些后面的教程都会讲到。右边是用户级的 plot, 里面也有 settings g s o n, 不 过是全区默认对所有项目生效。还有 plot md, 这个我们上集讲过了,是全区指令。 commands skills, agents 文件夹是你个人专属的。 最下面的 projects 文件夹也是我们上集讲的 memory 和绘画记录,一个简单的记忆方式,项目级的提交 git 团队共享,用户级的不提交,只属于你 settings gson 和 rules, 一 般提交 settings local gson 和 cloudlocal, md 千万别提交。 接下来我们重点看 settings gson。 左边这张就是一个真实的视力, 你可以看到它有三块核心内容,第一块是 permissions, 也就是权限 allow 列表写的是自动放行的操作,比如 bash mpm run 星号,允许所有 mpm run 开头的命令。 deny 列表写的是强制禁止的操作,比如 bash rrmf 信号,任何 rrmf 命令直接拦截。记住一个铁律, deny 永远比 allow 优先极高,就算 allow 里写了允许所有 bash, 只要 deny 里有 rrmf, 它照样被拦截。 权限的格式是操作工具匹配模式。操作分 allow、 deny、 ask 三种工具,就是 read、 write、 edit、 bash。 这些匹配模式支持星号通配服。 ask 的 意思是每次都弹窗问你。 第二块是 emv, 也就是环境变量,你可以在 settings gson 里设置项目专用的环境变量,比如 node 下划线 emv。 第三块是其他配置,比如 in, 可以 设 dark 或 light。 还有一个很重要的概念是配置优先级。右边这个堆叠图你可以看到一共有六层,从低到高,系统默认用户局设置项目及 local cli 命令行标志、企业托管策略, 高层级会覆盖低层级,但 deny 规则不管来自哪一层,都优先于所有 o l, 这是最关键的安全保障。另外记住一点, cloud md 是 建议性指导, ai 可能不完全遵循,但 settings g s o n 里的权限和钩子是确定性,强制执行, ai 没得商量。 所以安全规则一定要写在 settings g s o n 里,别写在 cloud md 里。 这集我们搞懂了 cloud 目录和 settings g s o n 的 配置体系,但 permissions 里还有一个东西没展开。 cloud code 提供了六种权限模式,从 plan 到 bypass, 还有检查点和 revine 回退机制。下集就来深入全线系统,教你如何安全地掌控 cloud code! 需要文档的小伙伴,评论区告诉我,关注我,带你打开 ai 世界的大门!