普通视图

发现新文章,点击刷新页面。
昨天 — 2025年12月27日首页

AI 四格笑话爆火,我做了什么?

2025年12月27日 12:15

0. 前言

在 2025年的尾巴上,发生了一件非常有趣的事,我在微信公众号上的 AI 四格漫画 意外爆火。之前公众号上发的技术文章,基本上阅读量不过 300,每天广告收益也就几毛钱。目前最火的美杜莎,浏览量已经达到惊人的 5W。这样让我不禁感叹:

十年技术无人问,一曲漫笑广人闻。


火爆之后,带来的最直接价值就是迎来了泼天富贵。从未想过有一天,我的日广告收益能达到 250+ ,目前已经连续三天高位。除了金钱,自己的作品受到欢迎,以及大家在评论区的吐槽、讨论,也为我带来了很大的情绪价值。

- -

1. 缘起

先简单介绍一下:我是一个籍籍无名的编程技术小博主,全网统一名号 张风捷特烈编程之王 是我维护的公众号,一直是输出编程技术的文章,主要以 Flutter 技术为主。
但技术文章更新的不是非常频繁,而公众号每天有一篇发文的机会。本着 不想浪费 的优良传统,在 AI 重塑一切的浪潮中,我想用 AI 画些四格漫画的笑话试试。于是开启了 慧心一笑 专栏, 《小火柴的倒霉日常》 就是第一篇,现在还没火。大家也可以点开看看,内容非常精简,就是一幅图+提示词。

这个系列整体是诙谐幽默的,下面是第一篇的内容:

一开始我是用自然语言的提示词,感觉效果并不是太好,四格漫画有着连续的信息和一致性的人物、场景等。由于编程出身,在 结构一致性 方面有着天然的敏锐嗅觉。于是基于 yaml 文件来定义统一的场景、角色、样式、色调等信息:

comic_info:
  type: "四格漫画"
  style: "手绘简笔画、柔软线条、轻松冷幽默、统一角色"
  color_scheme: "暖黄主色调,红橙色点缀,柔和明暗层次"
  character:
    name: "小火柴"
    appearance: "细长圆柱身体、红色火柴头、两根短竖眉毛、圆点眼睛、呆萌可爱"
    personality: "迷糊、天真、略倒霉"
  background_style: "白色简约背景,搭配少量手绘街景或物件增强生活感"

面板列表放在 panels 节点下,每个宫格由 panel[x] 固定场景内容。包括描述、场景、动作、表情、细节、文本等:

panels:
  panel1:
    description: "第一格:日常铺垫"
    scene: "温暖的手绘街道:地面为淡黄色纹理,简单的路灯、几株小草、远处一座小房子,空气里飘着幾颗小亮点"
    action: "小火柴双手背在身后,踩着轻快的小步子前进"
    expression: "轻松微笑,眼睛微弯"
    details: "路灯用细线勾勒,小草三两稀疏点缀,天空加几朵柔软的白云"
    text: "今天天气真好呀~"

定义完结构,一个 yaml 文件就对应了一个四格故事,把这个内容丢给 AI 生图的工具,就能得到对应的图片。


2. 关于 AI 生图工具与质量

我的理念是: 文本是一种序列的约定:

它可以视为一个四格漫画的 基因,而 AI 工具会将基因 实例化 为个体。

所以,生成图的好坏取决于两个因素:基因序列成长环境。也就是提示词好不好,以及 AI 工具厉不厉害。 AI 生图的工具有很多,单目前大多数,对于标准的四格漫画都无法准确输出,下面列举几个:

  • 即梦 AI

  • 豆包

  • Nano Banana

目前来看,国产的 AI 仍有很大的进步空间,Nano Banana 能符合我对图片产品的预期。但是 AI 正在蓬勃发展中, AI 生图也是最近一两年才逐渐可用的,我对他们的未来持有乐观的态度,包括我们国产的大模型。所以如果 成长环境 将会越来越好,那么 基因序列 本身将会成为非常重要的因素。
目前我只是简单设计了一下 yaml,按照版本控制,称为 v0.0.1 吧,后续随着创作需求的升级,我也会逐步迭代整体结构,设计更合理的 DNA 结构 😁


3. 选定方向? Flow Heart

有人问我,你是怎么想到这些稀奇古怪的方向的,而且你是怎么坚持下来的。

对于一个创作者来说,拓宽自己的边界是一个很必要的事。特别是对一个编程创作者,广泛涉猎是家常便饭。使用一切手段,解决自己遇到的问题;没有问题时就去发展自己,在新的领域中寻找问题。至于坚持嘛,遵循内心的指引,做自己喜欢的事,是不需要坚持的,就像你每天都要喝水一样自然。

可能有人会问,如果 AI 的笑话漫画没有火,你还会坚持下去吗?刚做前两个漫画文章时,还没有火,一天收入 1 块钱,我已经觉得很美滋滋了。投入的产出符合我的预期,毕竟只需要准备个笑话雏形,其他都交给 AI 写就行了。我还和女朋友炫耀:

- -

最后还是想强调一点:如果一件事,对社会、对他人没有危害,自己做着觉得开心,起来没有负担和压力,就会大胆去做。反之,可以在其他方面继续延伸,找到自己喜欢的那个领域。AI 工具的加持,让个体拥有了前所未有的能力,个人的边界可以极度拓宽。


4. 为什么会火?

第一次感觉会火,是因为擎天柱 这篇,浏览量异常上升:

从数据统计来看,发布第一天只有 102 个浏览量,和往常没什么区别。持续一周,没有任何波澜,突然在 12-20 号,增加了近 5000 的浏览量,第二天持续上涨过万,然后逐渐平息:


在第一篇爆火的后一天,慧心一笑#03 | 爸爸去钓鱼~ 数据开始上升,感觉像是连带效应:


为了验证一下是不是偶然火爆,我在 20号和 21 号又发表了两篇小笑话。结果不温不火,似乎感觉也不是必然的。 在 23 号,我发布了 慧心一笑#06 | 被美杜莎石化...,这篇在当晚直接火爆,

从数据来看,第二天浏览量直接过 2.6W,后面还有持续几天的流量:

至于为什么火爆,从阅读渠道构成来看 98.7% 的阅读量来自于公众号推荐。只能说是老天喂饭吃 ~


5. 小结一下

接下来几天的 慧心一笑#07 | 爸爸回来了...慧心一笑#09 | 农夫与蛇 也阅读过 3万。目前慧心一笑系列发布了 9 篇,阅读量超过 2.5W 的爆款有 5 篇,比例算是很高了。

感觉微信公众号的推荐阅读机制应该有所变化。另外也不是每篇都会火爆,应该和作品本身质量、流传度也有关系。这个有趣的现象让我非常欣喜,后续我还会继续创作更有意思的四格漫画,来继续验证数据。大家也可以关注 《编程之王》 公众号和我一起见证。等到第 30 篇后,我会再写一个复盘报告,和大家分享。

另外可能会有人问,你发这个就不怕别人也抄你的模式,跟你竞争吗。我只想说:


更多文章和视频知识资讯,大家可以关注我的公众号、掘金和 B 站 。让我们一起成长,变得更强。我们下次再见~

昨天以前首页

别再让大模型“胡说八道”了!LangChain 的 JsonOutputParser 教你驯服 AI 输出

2025年12月26日 17:45

从“前端模块化”到“AI输出格式”,我们都在和混乱做斗争**


🧠 引子:当 AI 开始“自由发挥”

你有没有遇到过这样的场景?

你辛辛苦苦写了一堆提示词(prompt),满怀期待地调用大模型,结果它回你一段:

“好的!关于 Promise,这是一个 JavaScript 中用于处理异步操作的对象。它的核心思想是……(省略 300 字小作文)”

而你真正想要的,只是一个干净、结构化的 JSON!

{
  "name": "Promise",
  "core": "用于处理异步操作的代理对象",
  "useCase": ["网络请求", "定时任务", "并发控制"],
  "difficulty": "中等"
}

是不是想砸键盘?别急——LangChain 的 JsonOutputParser 就是来拯救你的!


📦 背景小剧场:从前端模块化说起

在讲 LangChain 之前,咱们先穿越回“远古时代”的前端开发。

🕰️ 没有模块化的年代

<script src="a.js"></script>
<script src="b.js"></script>
<script>
  const p = new Person('张三', 18);
  p.sayName(); // 希望 a.js 里定义了 Person...
</script>

那时候,JS 文件之间靠“默契”共享变量,一不小心就全局污染、命名冲突、依赖顺序错乱……简直是“混沌宇宙”。

后来,Node.js 带来了 CommonJS,ES6 推出了 import/export,前端终于有了清晰的模块边界。

模块化 = 约定 + 结构 + 可预测性

而今天,我们在调用大模型时,也面临同样的问题:输出太“自由”,缺乏结构
于是,LangChain 给我们带来了“AI 世界的模块化工具”——OutputParser


🔧 LangChain 的救星:JsonOutputParser

JsonOutputParser 是 LangChain 提供的一个输出解析器,专门用来把 LLM 返回的“散文”变成结构化数据(比如 JSON)。配合 Zod(一个超好用的 TypeScript 校验库),还能自动校验字段类型、枚举值、数组结构等。

✨ 它能做什么?

  • 强制模型只输出 JSON(通过提示词约束)
  • 自动解析字符串为 JS 对象
  • 用 Zod Schema 验证数据合法性
  • 报错时告诉你哪里不符合预期(而不是默默返回 undefined)

🛠️ 实战:用 LangChain 解析“前端概念”

假设我们要让 AI 解释一个前端概念(比如 Promise),并返回标准化 JSON。

第一步:定义 Schema(用 Zod)

import { z } from 'zod';

const FrontendConceptSchema = z.object({
  name: z.string().describe("概念名称"),
  core: z.string().describe("核心要点"),
  useCase: z.array(z.string()).describe("常见使用场景"),
  difficulty: z.enum(['简单', '中等', '复杂']).describe("学习难度")
});

这就像给 AI 发了一份“填空试卷”,还规定了每道题只能填什么类型!

第二步:创建 Parser 和 Prompt

import { JsonOutputParser } from '@langchain/core/output_parsers';
import { PromptTemplate } from '@langchain/core/prompts';

const jsonParser = new JsonOutputParser(FrontendConceptSchema);

const prompt = PromptTemplate.fromTemplate(`
你是一个只会输出 JSON 的 API,不允许输出任何解释性文字。

⚠️ 你必须【只返回】符合以下 Schema 的 JSON:
- 不允许增加或减少字段
- 字段名必须完全一致
- 返回结果必须能被 JSON.parse 成功解析

{format_instructions}

前端概念:{topic}
`);

注意 {format_instructions} ——这是 JsonOutputParser 自动生成的格式说明,会告诉模型具体该怎么写 JSON!

比如它可能生成:

The output should be a markdown code snippet formatted in the following schema:

{
  "name": "string",
  "core": "string",
  "useCase": ["string", ...],
  "difficulty": "简单" | "中等" | "复杂"
}

第三步:组装 Chain 并调用

const chain = prompt.pipe(model).pipe(jsonParser);

const response = await chain.invoke({
  topic: 'Promise',
  format_instructions: jsonParser.getFormatInstructions(),
});

console.log(response);
// ✅ 得到干净的 JS 对象!

😂 为什么这很重要?——因为 AI 太“人性化”了!

大模型天生喜欢“聊天”,它总想多说几句:“亲,你还想知道 async/await 吗?”
但我们的程序需要的是确定性,不是“贴心客服”。

AI 的自由 = 程序员的噩梦
结构化的输出 = 自动化的基石

JsonOutputParser,相当于给 AI 戴上“嘴套”,只让它吐 JSON,不许废话!


🚀 进阶思考:不只是 JSON,更是契约

其实,JsonOutputParser 背后的思想,和前端模块化、API 设计、TypeScript 类型系统一脉相承:

明确输入输出,才能构建可靠系统。

当你用 Zod 定义 Schema 时,你不仅是在约束 AI,更是在建立人与 AI 之间的契约。这个契约让后续的数据处理、UI 渲染、数据库存储变得安全可靠。


✅ 总结:三句话记住 JsonOutputParser

  1. AI 天生爱啰嗦,JsonOutputParser 让它闭嘴只吐 JSON。
  2. Zod Schema 是“法律”,parser 是“警察”,确保输出合法合规。
  3. 结构化输出 = 自动化流水线的第一块砖。

MasterGo AI 实战教程:10分钟生成网页设计图(附案例演示)

2025年12月24日 15:25

一款能让你 写一句话,自动生成 UI 页面 的工具,你用过吗?本文带你从 0 上手 MasterGo AI,快速生成网页 / APP / 后台管理系统等高保真设计稿,全程 AI 一键完成,适合产品、设计、开发快速原型沟通!


🧩什么是 MasterGo AI?

MasterGo 是一款国产在线 UI 设计工具,类似 Figma,但更轻便、学习门槛低。其 AI 功能支持:

  • 一句话生成高保真 UI 页面
  • 支持移动端、网页、后台等多种场景
  • 输入产品描述、上传原型图、修改颜色风格等参数
  • 支持自动生成 Vue/React 框架代码(适配常用组件库)

🛠️使用步骤概览

✅ 第一步:新建设计文件

  • 登录 MasterGo 官网,点击右上角【新建文件】
  • 进入空白设计画布新建文件

✅ 第二步:启用 AI 生成界面功能

  • 点击上方工具栏中的【AI 图标】
  • 选择“AI 生成界面”,进入 AI 输入页启用 AI 生成界面

✅ 第三步:输入产品描述

在输入框中描述你想要的页面内容,比如:

  • 页面类型:移动端 / 网页 / 后台
  • 页面结构:导航栏、轮播图、商品列表等
  • 页面风格:颜色、圆角、字体大小、明暗模式等
  • 输入描述

🎯实战案例:快速生成健身电商 APP 页面

🧾 描述输入如下:

设计一个售卖健身器材的APP:首页包含搜索栏、轮播图、分类导航(跑步机、哑铃等),展示热门产品(含图片、名称、价格、评分、加入购物车按钮),底部有四个导航图标:首页、分类、购物车、我的。
  • 主题色设置为 #FA2549
  • 回车后,等待 10 秒左右 AI 生成页面结构
  • 点击“开始生成”后自动完成界面设计填写需求

✅ 生成效果展示(首页 UI)

APP首页效果图

  • 若有细节不满意,可输入 “文字放大1.5倍”、“优化组件间距”等进行调整
  • 点击“插入到画布”,进入可编辑设计图层

✨生成商品详情页

复制上一页,输入:

生成跑步机商品详情页,包含商品图、价格、评分、详情介绍、购买按钮等

即刻生成新页面:

商品详情页


🖥️后台管理系统:生成健身器材后台

描述示例:

健身器材后台:包含登录页、订单管理(搜索、筛选)、产品管理、销售统计看板

页面效果如下:

  • ✅ 订单管理模块订单管理模块
  • ✅ 可添加弹窗功能,如“新建订单”弹窗功能
  • ✅ 生成销售数据看板销售数据看板

🧾上传原型图自动生成 UI

你还可以上传草图/白板图,AI 自动还原成设计图!

👇 上传一张新闻网站原型图上传原型图

🔧 输入提示:

根据上图生成新闻网站首页,包含导航栏、新闻分类、头条推荐、搜索功能等。

✅ 最终效果图如下:

生成新闻首页


🌟多模态AI项目 UI 快速生成

除了通用网页,你还可以用它设计生产级 AI 应用平台,如:

✅ 笔记管理模块界面

多模态AI项目-笔记模块

✅ 聊天管理模块界面

多模态AI项目-聊天模块

✅ AI 绘画模块界面

🎯 从产品思路 → 页面原型 → 界面设计 → 代码输出,全流程 AI 帮你搞定

✨更多扩展能力

✅ 英文输入 → 生成英文页面

直接输入英文描述,自动生成英文 UI(可配合海外产品原型)

✅ 一键生成前端框架代码

  • 支持 Vue / React
  • 可选组件库(Element Plus、AntD 等)
  • 自动生成页面结构代码,点击可复制代码生成功能

📌总结

MasterGo AI 不仅是设计工具,更是一个面向 产品/设计/开发全链路协作 的高效原型工具。你只需要提供一句话描述,就能生成设计图、代码,快速验证想法、推进开发。

✅ 支持多端页面自动生成✅ 支持原型图上传自动识别✅ 支持代码导出与团队协作

绘制下面的UI 界面的结构拆解与组件关系示意图 ,还需要熟悉这款设计软件的基础操作

设计图(带二维码).png

❌
❌