全部文章
项目 约 2 分钟

叫它 AI,其实只有五个 if:AI贴吧老哥的实现

项目中心里的 AI贴吧老哥会跟你聊天,但它不调用任何模型——全部回复来自五个关键词规则。这篇讲讲它到底怎么「思考」。

叫它 AI,其实只有五个 if:AI贴吧老哥的实现

如果你点开 AI贴吧老哥,会看到一个挺像回事的聊天界面:头像、气泡、正在输入的三点动画,回复还会延迟半秒多,像模像样。但真相是——它没有调用任何大模型,所有回复都来自五个 if。🤖

它到底怎么回复

整个「大脑」是 project/ai.html 里的一段规则匹配。按优先级从高到低:

优先级触发条件回复
1消息里含「!」孝
2消息里含「尾号」绷
3长度大于 10 个字急
4长度小于等于 5 个字麻
5其他情况典

为什么要排优先级

顺序很重要。比如「尾号!」会先命中第一条,得到「孝」而不是「绷」;一句又长又带感叹号的话,也永远轮不到「急」。这种优先级不是随便排的,而是按贴吧语境的「节目效果」调的。

代码本身短得有点好笑:

function reply(msg) {
  if (msg.includes('!')) return '孝';
  if (msg.includes('尾号')) return '绷';
  if (msg.length > 10) return '急';
  if (msg.length <= 5) return '麻';
  return '典';
}

为什么不做成真 AI

原因很实际:

  • 零成本:不调用 API,不需要 key,也没有额度限制;
  • 零延迟:回复延迟是 setTimeout 假装出来的,实际计算在毫秒级;
  • 纯静态:页面没有后端,直接部署在 Cloudflare Pages 上,连服务器都不用开。

更重要的原因是,这个项目的笑点本来就不在「智能」。贴吧老哥的精髓是用最少的字接住最多的梗,一个字能让人笑出来,那比一段长篇大论更像贴吧。所以我干脆把「不智能」做成了设定。

它不是在理解你,它只是在等你说出那个关键词。

界面上的小细节

聊天窗口虽然简单,但该有的都有:

  • 消息分左右气泡,带头像和时间;
  • 发送后先显示三个跳动的点,600–1000ms 后再出回复;
  • 支持回车发送、自动滚到底部;
  • 聊天区用 role="log" 和 aria-live="polite",读屏器也能读到新消息;
  • 页面设了 noindex,不参与搜索收录。

这些细节大多是在模仿真实聊天软件时才注意到的。做得越像,那个「一个字回复」的反差就越好笑。😆

认真说一句

它当然不是 AI,只是一个关键词回复器,一个披着聊天界面外衣的表情包生成器。但对我来说,这个项目挺重要的:它证明了不需要复杂技术也能做出让人愿意玩两下的东西。

如果你想看它有多不会聊天,欢迎去撩一下;如果你真的想让它变聪明,也欢迎来 GitHub 提想法。🍵

返回文章列表 RSS 订阅