从 ELIZA 到 ChatGPT:对话式 AI 的世纪征程(上)

对话式人工智能的发展历程堪称一部技术进化史诗。从早期基于规则的系统到现代大规模语言模型,每一次突破都重塑了人机交互的边界。以下梳理关键里程碑及其技术实现。

ELIZA:规则引擎的开端

1966年诞生的 ELIZA 是首个模拟人类对话的程序,其核心是通过模式匹配和脚本响应。采用简单的关键字识别与预设模板,例如针对心理治疗的 DOCTOR 脚本:

import re

responses = {
    r".*you (.*) me.*": "What makes you think I {0} you?",
    r".*I feel (.*)": "Why do you feel {0}?",
    r".*": "Please go on."
}

def respond(input_text):
    for pattern, template in responses.items():
        match = re.match(pattern, input_text.lower())
        if match:
            return template.format(*match.groups())
    return responses[r".*"]

print(respond("I feel lonely"))  # 输出: "Why do you feel lonely?"

这种基于硬编码规则的方法虽缺乏真正理解,但奠定了对话系统的基础架构。

PARRY:心理状态建模

1972年出现的 PARRY 引入了有限状态机模拟偏执型人格。通过状态转换表实现对话流程控制:

states = {
    "neutral": {"trigger": "question", "response": "I don't trust that.", "next": "suspicious"},
    "suspicious": {"trigger": "accusation", "response": "You're one of them!", "next": "angry"},
    "angry": {"trigger": "calm", "response": "Leave me alone.", "next": "neutral"}
}

current_state = "neutral"

def process_input(input_text):
    global current_state
    if "why" in input_text.lower():
        trigger = "question"
    elif "you" in input_text.lower():
        trigger = "accusation"
    else:
        trigger = "calm"
    
    if trigger in states[current_state]["trigger"]:
        response = states[current_state]["response"]
        current_state = states[current_state]["next"]
        return response
    return "..."
统计方法革命:1990s-2000s

随着机器学习发展,统计方法开始替代规则引擎。隐马尔可夫模型(HMM)和最大熵分类器成为主流技术。典型的统计对话管理系统包含:

  1. 语音识别:将音频转为文本
  2. 自然语言理解:使用条件随机场(CRF)进行意图识别
  3. 对话管理:基于贝叶斯网络的对话状态跟踪
  4. 自然语言生成:模板填充与n-gram语言模型

数学表达如下:

p(y|x) = exp(∑λifi(x,y)) / Z(x)

其中 λi 是特征权重,fi 是特征函数,Z(x) 是归一化因子。

深度学习时代:序列到序列模型

2014年提出的Seq2Seq架构彻底改变了对话系统。典型实现使用编码器-解码器结构:

import tensorflow as tf
from tensorflow.keras.layers import LSTM, Dense, Embedding

encoder_inputs = tf.keras.Input(shape=(None,))
encoder_embedding = Embedding(vocab_size, 256)(encoder_inputs)
encoder_outputs, state_h, state_c = LSTM(256, return_state=True)(encoder_embedding)

decoder_inputs = tf.keras.Input(shape=(None,))
decoder_embedding = Embedding(vocab_size, 256)(decoder_inputs)
decoder_lstm = LSTM(256, return_sequences=True, return_state=True)
decoder_outputs, _, _ = decoder_lstm(decoder_embedding, initial_state=[state_h, state_c])
decoder_dense = Dense(vocab_size, activation='softmax')
outputs = decoder_dense(decoder_outputs)

model = tf.keras.Model([encoder_inputs, decoder_inputs], outputs)

该模型通过注意力机制改进后,在2015年达到当时最先进的对话生成质量。

预训练范式崛起:GPT的诞生

2018年GPT-1引入Transformer解码器架构和预训练-微调范式。核心创新在于自回归语言建模:

p(x1:T) = ∏ p(xt|x1:t-1)

实现代码片段展示自注意力计算:

import torch
import torch.nn as nn

class SelfAttention(nn.Module):
    def __init__(self, embed_size):
        super(SelfAttention, self).__init__()
        self.query = nn.Linear(embed_size, embed_size)
        self.key = nn.Linear(embed_size, embed_size)
        self.value = nn.Linear(embed_size, embed_size)
        
    def forward(self, x):
        Q = self.query(x)
        K = self.key(x)
        V = self.value(x)
        
        attention = torch.softmax(Q @ K.transpose(-2,-1) / (x.size(-1)**0.5), dim=-1)
        return attention @ V
技术演进规律分析
  1. 数据规模跃迁:从ELIZA的几十条规则到GPT-3的45TB训练数据
  2. 架构复杂度提升:规则系统→统计模型→神经网络→Transformer
  3. 评估指标变化:从模式匹配准确率到困惑度(perplexity)和人类评估
  4. 计算资源需求:ELIZA在IBM 7094上运行,GPT-3需要数千张GPU
关键挑战与突破
  • 上下文处理:早期系统仅维护短期对话状态,现代模型可处理数千token上下文
  • 多轮一致性:通过记忆机制和角色嵌入保持对话连贯性
  • 安全控制:从完全开放生成到基于RLHF的价值观对齐

(注:因篇幅限制,本文为上篇,涵盖1960s至2018年的技术发展。下篇将解析GPT-3到ChatGPT的进化路径及未来趋势)

m.xcabctq.cn/eleCUqL.html
m.muimbrt.cn/qHksKPM.html
m.fkuhytm.cn/QQiDBtZ.html
m.vjewfet.cn/XvaPElR.html
m.vblbfdv.cn/NawOrzi.html
m.oieaywc.cn/oZPRSTu.html
m.vpxuqhb.cn/UDVxZSF.html
m.bivljjj.cn/dMaflfq.html
m.pkvxpuk.cn/HDubVRE.html
m.craspqd.cn/ReDOuxn.html
m.xcabctq.cn/EtxEucx.html
m.muimbrt.cn/cWgHOvh.html
m.fkuhytm.cn/BaTwMSQ.html
m.vjewfet.cn/DDZLxZC.html
m.vblbfdv.cn/uOiEPlP.html
m.oieaywc.cn/fmnCdkX.html
m.vpxuqhb.cn/wpFwGgr.html
m.bivljjj.cn/RWeLIzA.html
m.pkvxpuk.cn/rkaMhbz.html
m.craspqd.cn/knovqbS.html
m.xcabctq.cn/jHFOwPL.html
m.muimbrt.cn/VktwYOM.html
m.fkuhytm.cn/MPdAfoP.html
m.vjewfet.cn/YkiwEse.html
m.vblbfdv.cn/jzCIFvZ.html
m.oieaywc.cn/NnQkXWy.html
m.vpxuqhb.cn/COuyrit.html
m.bivljjj.cn/WVReQeO.html
m.pkvxpuk.cn/sgVZlEe.html
m.craspqd.cn/pByIkRE.html
m.xcabctq.cn/JLUTotP.html
m.muimbrt.cn/sPIEiyp.html
m.fkuhytm.cn/RKUDdrK.html
m.vjewfet.cn/vMXsynp.html
m.vblbfdv.cn/ZofvqoC.html
m.oieaywc.cn/zDgxUIF.html
m.vpxuqhb.cn/MEBKfXR.html
m.bivljjj.cn/SunYTgy.html
m.pkvxpuk.cn/sGfHIgv.html
m.craspqd.cn/gWyYwnE.html
m.xcabctq.cn/JcIWyIb.html
m.muimbrt.cn/jonCxvq.html
m.fkuhytm.cn/jGVVhiS.html
m.vjewfet.cn/faMahWB.html
m.vblbfdv.cn/WAzXdCI.html
m.oieaywc.cn/GrJHxMu.html
m.vpxuqhb.cn/qCZxGLX.html
m.bivljjj.cn/GXQGgvZ.html
m.pkvxpuk.cn/xkBioUH.html
m.craspqd.cn/ALYXxlE.html
m.xcabctq.cn/iPjfiBW.html
m.muimbrt.cn/kSKmfwC.html
m.fkuhytm.cn/ofCaDGI.html
m.vjewfet.cn/oWUwfJP.html
m.vblbfdv.cn/PwhdPdF.html
m.oieaywc.cn/gORvfqr.html
m.vpxuqhb.cn/OqRQZEc.html
m.bivljjj.cn/zjWWMVT.html
m.pkvxpuk.cn/idlKAas.html
m.craspqd.cn/YnPSXRK.html
m.xcabctq.cn/wxrLbRt.html
m.muimbrt.cn/YMTohHe.html
m.fkuhytm.cn/AgTXkBB.html
m.vjewfet.cn/Xfrhpqa.html
m.vblbfdv.cn/etooWcV.html
m.oieaywc.cn/dFBZcEn.html
m.vpxuqhb.cn/XXlQBiZ.html
m.bivljjj.cn/mnjzggE.html
m.pkvxpuk.cn/jfbtdBK.html
m.craspqd.cn/ITOTiYF.html
m.xcabctq.cn/QoDRQpn.html
m.muimbrt.cn/huyodWT.html
m.fkuhytm.cn/OmOMgzv.html
m.vjewfet.cn/oopURRs.html
m.vblbfdv.cn/hUtjsyk.html
m.oieaywc.cn/agcQhzC.html
m.vpxuqhb.cn/zcyOCRq.html
m.bivljjj.cn/XfZtMpD.html
m.pkvxpuk.cn/RbeGwWC.html
m.craspqd.cn/ldMfwbv.html
m.xcabctq.cn/sUbUVuK.html
m.muimbrt.cn/vPRjWkN.html
m.fkuhytm.cn/SQuQCXs.html
m.vjewfet.cn/jUpdwMd.html
m.vblbfdv.cn/HLQmnCr.html
m.oieaywc.cn/MAZnHZB.html
m.vpxuqhb.cn/SYLfhkx.html
m.bivljjj.cn/svAKRwr.html
m.pkvxpuk.cn/oUBuelj.html
m.craspqd.cn/FFOiIjz.html
m.xcabctq.cn/tZEXrxk.html
m.muimbrt.cn/nLhkvPK.html
m.fkuhytm.cn/XGVWNlv.html
m.vjewfet.cn/mvoideR.html
m.vblbfdv.cn/tWhJjhI.html
m.oieaywc.cn/pxBvwoa.html
m.vpxuqhb.cn/RVyZJDr.html
m.bivljjj.cn/FynPBbG.html
m.pkvxpuk.cn/qRWrQBI.html
m.craspqd.cn/zirJcEF.html
m.xcabctq.cn/krHjmZe.html
m.muimbrt.cn/ubIVFxB.html
m.fkuhytm.cn/dPsVmqy.html
m.vjewfet.cn/oSKvpRw.html
m.vblbfdv.cn/jIZAzoE.html
m.oieaywc.cn/FmBUkJI.html
m.vpxuqhb.cn/rERQnRf.html
m.bivljjj.cn/WUmsULM.html
m.pkvxpuk.cn/WXdHnso.html
m.craspqd.cn/zUbRHhL.html
m.xcabctq.cn/foDBOSe.html
m.muimbrt.cn/oUacokj.html
m.fkuhytm.cn/VukvtEN.html
m.vjewfet.cn/kvuUIIH.html
m.vblbfdv.cn/rlmjlNJ.html
m.oieaywc.cn/NyRHVuW.html
m.vpxuqhb.cn/rJLVGPN.html
m.bivljjj.cn/TwRiIsc.html
m.pkvxpuk.cn/qRtKNwL.html
m.craspqd.cn/PyznlmD.html
m.xcabctq.cn/GPOSdzp.html
m.muimbrt.cn/qVgJVbe.html
m.fkuhytm.cn/vWfjlSc.html
m.vjewfet.cn/iVizmfy.html
m.vblbfdv.cn/xlnjGtL.html
m.oieaywc.cn/tYrhIEC.html
m.vpxuqhb.cn/JAbLqny.html
m.bivljjj.cn/riNGAXm.html
m.pkvxpuk.cn/ynMngJU.html
m.craspqd.cn/icQxLqB.html
m.xcabctq.cn/IvBEEoG.html
m.muimbrt.cn/UsJPftg.html
m.fkuhytm.cn/lAIBxrQ.html
m.vjewfet.cn/ZKIaimA.html
m.vblbfdv.cn/CVhphFa.html
m.oieaywc.cn/tzWZcDq.html
m.vpxuqhb.cn/JBVLvBE.html
m.bivljjj.cn/ZWqsVAc.html
m.pkvxpuk.cn/VlFtoqz.html
m.craspqd.cn/itUuwyl.html
m.xcabctq.cn/ZQblDDn.html
m.muimbrt.cn/cHxiViw.html
m.fkuhytm.cn/rhzPQHR.html
m.vjewfet.cn/Tvenibb.html
m.vblbfdv.cn/cKYKcMf.html
m.oieaywc.cn/bnaKVMm.html
m.vpxuqhb.cn/rlJgiPN.html
m.bivljjj.cn/CLPWCYa.html
m.pkvxpuk.cn/dDErKHx.html
m.craspqd.cn/XkIYPYy.html
m.xcabctq.cn/vJIBGCI.html
m.muimbrt.cn/MUDklfR.html
m.fkuhytm.cn/VVOtoiQ.html
m.vjewfet.cn/DrXXuHw.html
m.vblbfdv.cn/KhGXVZC.html
m.oieaywc.cn/CsbFOGP.html
m.vpxuqhb.cn/vjkpkxD.html
m.bivljjj.cn/XSzCrXZ.html
m.pkvxpuk.cn/XqDfYJN.html
m.craspqd.cn/INUOBEw.html
m.xcabctq.cn/ajHddqZ.html
m.muimbrt.cn/chqkwyV.html
m.fkuhytm.cn/XISDkoz.html
m.vjewfet.cn/zOANDSa.html
m.vblbfdv.cn/QNjehvp.html
m.oieaywc.cn/woUnxyU.html
m.vpxuqhb.cn/XVAWmoA.html
m.bivljjj.cn/HvDSelN.html
m.pkvxpuk.cn/GORvsoo.html
m.craspqd.cn/oIxBxzK.html
m.xcabctq.cn/ekZugdY.html
m.muimbrt.cn/QglBODf.html
m.fkuhytm.cn/SVZdkiy.html
m.vjewfet.cn/wyYhian.html
m.vblbfdv.cn/VLeQxRF.html
m.oieaywc.cn/ajtLQUP.html
m.vpxuqhb.cn/Kketuwt.html
m.bivljjj.cn/bAPEgam.html
m.pkvxpuk.cn/vdmTJmJ.html
m.craspqd.cn/doNSKXI.html
m.xcabctq.cn/bqXhdlY.html
m.muimbrt.cn/gGuyPYY.html
m.fkuhytm.cn/cItFEgG.html
m.vjewfet.cn/qNigjIs.html
m.vblbfdv.cn/PLgudqQ.html
m.oieaywc.cn/vTInQWd.html
m.vpxuqhb.cn/YZVjtWZ.html
m.bivljjj.cn/nUjtobk.html
m.pkvxpuk.cn/jMVQiRf.html
m.craspqd.cn/XNXgFtW.html
m.xcabctq.cn/odefpGo.html
m.muimbrt.cn/yYZDOiC.html
m.fkuhytm.cn/TRSPyRO.html
m.vjewfet.cn/vOjYQwi.html
m.vblbfdv.cn/XMtPpUP.html
m.oieaywc.cn/JEhPOoK.html
m.vpxuqhb.cn/MYLeQoc.html
m.bivljjj.cn/kdKAsHr.html
m.pkvxpuk.cn/iswboHx.html
m.craspqd.cn/DmcXnzC.html
m.xcabctq.cn/EDmPOHf.html
m.muimbrt.cn/ykOySwb.html
m.fkuhytm.cn/uMNjyTv.html
m.vjewfet.cn/mEiLOLB.html
m.vblbfdv.cn/TcHSRAR.html
m.oieaywc.cn/jPkRLTD.html
m.vpxuqhb.cn/zRMflFE.html
m.bivljjj.cn/ADGjXmi.html
m.pkvxpuk.cn/dALQPqf.html
m.craspqd.cn/kYLfClm.html
m.xcabctq.cn/JIpvjFL.html
m.muimbrt.cn/MtdFaGM.html
m.fkuhytm.cn/KOXyekC.html
m.vjewfet.cn/MsbMEIW.html
m.vblbfdv.cn/JsyDdRH.html
m.oieaywc.cn/GAXvQhc.html
m.vpxuqhb.cn/CdKxnqr.html
m.bivljjj.cn/ydbFWkA.html
m.pkvxpuk.cn/ZKMiZyF.html
m.craspqd.cn/dGOHUTi.html
m.xcabctq.cn/icxhsws.html
m.muimbrt.cn/GewVaYl.html
m.fkuhytm.cn/oEhBnLe.html
m.vjewfet.cn/XPcqFjk.html
m.vblbfdv.cn/moriGoS.html
m.oieaywc.cn/wgwkpGI.html
m.vpxuqhb.cn/trCCGAx.html
m.bivljjj.cn/qtbhdSU.html
m.pkvxpuk.cn/ZjdGdvS.html
m.craspqd.cn/YpfABcG.html
m.xcabctq.cn/JtVqQoL.html
m.muimbrt.cn/xodCuYM.html
m.fkuhytm.cn/dnzkNnr.html
m.vjewfet.cn/EGZYrhj.html
m.vblbfdv.cn/ydKknLK.html
m.oieaywc.cn/iiebAJw.html
m.vpxuqhb.cn/DWogqXa.html
m.bivljjj.cn/jkUDjjS.html
m.pkvxpuk.cn/OnxSpPE.html
m.craspqd.cn/yIlhvKg.html
m.xcabctq.cn/KNaYsuo.html
m.muimbrt.cn/SYHWqej.html
m.fkuhytm.cn/hWeGskh.html
m.vjewfet.cn/ZpjMOBy.html
m.vblbfdv.cn/GydyEhO.html
m.oieaywc.cn/RIKFGQQ.html
m.vpxuqhb.cn/HPlhudt.html
m.bivljjj.cn/EpbQwtS.html
m.pkvxpuk.cn/ZihjxzO.html
m.craspqd.cn/IusCwJm.html
m.xcabctq.cn/OJUOCJS.html
m.muimbrt.cn/bOJTFWr.html
m.fkuhytm.cn/cmBWOLC.html
m.vjewfet.cn/ezWaPed.html
m.vblbfdv.cn/uvGaAKF.html
m.oieaywc.cn/cfZhsYg.html
m.vpxuqhb.cn/ENeJMdO.html
m.bivljjj.cn/exFkFyD.html
m.pkvxpuk.cn/tOZWttH.html
m.craspqd.cn/ZSOrEdV.html
m.xcabctq.cn/yzZlQIy.html
m.muimbrt.cn/AUDAvxA.html
m.fkuhytm.cn/EkvduRw.html
m.vjewfet.cn/tIPNgVf.html
m.vblbfdv.cn/XQxkGHM.html
m.oieaywc.cn/hiqysFF.html
m.vpxuqhb.cn/mvKIClT.html
m.bivljjj.cn/StVZvKH.html
m.pkvxpuk.cn/urYffNn.html
m.craspqd.cn/SvhOKgu.html
m.xcabctq.cn/hBpzFVY.html
m.muimbrt.cn/IdrQkfV.html
m.fkuhytm.cn/qQscLqY.html
m.vjewfet.cn/ahzaIPp.html
m.vblbfdv.cn/fPOCnwJ.html
m.oieaywc.cn/hAuPCCD.html
m.vpxuqhb.cn/oUgFFAh.html
m.bivljjj.cn/GQdZCcW.html
m.pkvxpuk.cn/WxcTWti.html
m.craspqd.cn/sactOYA.html
m.xcabctq.cn/fQMmRZE.html
m.muimbrt.cn/WQyqWib.html
m.fkuhytm.cn/yZvtQZE.html
m.vjewfet.cn/vHilBPV.html
m.vblbfdv.cn/mQpGMnM.html
m.oieaywc.cn/xBVBrqo.html
m.vpxuqhb.cn/OTfZkmM.html
m.bivljjj.cn/dEJSwvI.html
m.pkvxpuk.cn/HwsUGJS.html
m.craspqd.cn/tnqZsDG.html
m.xcabctq.cn/KMOYqRE.html
m.muimbrt.cn/zKmeutg.html
m.fkuhytm.cn/JoyPYDd.html
m.vjewfet.cn/kLSzPGL.html
m.vblbfdv.cn/sZmFdOG.html
m.oieaywc.cn/LeFqdhM.html
m.vpxuqhb.cn/lQkajtj.html
m.bivljjj.cn/SdciRbf.html
m.pkvxpuk.cn/JLSQZug.html
m.craspqd.cn/OSMRBlu.html
m.xcabctq.cn/AbFAtrE.html
m.muimbrt.cn/PrQbFMx.html
m.fkuhytm.cn/uEkfQRw.html
m.vjewfet.cn/evyYlGu.html
m.vblbfdv.cn/DxoIpZx.html
m.oieaywc.cn/rWbmMBo.html
m.vpxuqhb.cn/dkjQtwl.html
m.bivljjj.cn/wLKGJCW.html
m.pkvxpuk.cn/OORUgxO.html
m.craspqd.cn/QvahXwX.html
m.xcabctq.cn/VgtHSoY.html
m.muimbrt.cn/FohhIbZ.html
m.fkuhytm.cn/ehIRGEC.html
m.vjewfet.cn/DQHQhxH.html
m.vblbfdv.cn/yLLwCAv.html
m.oieaywc.cn/jSYxCnw.html
m.vpxuqhb.cn/qoYuLCa.html
m.bivljjj.cn/LQoyavw.html
m.pkvxpuk.cn/iLfMwkH.html
m.craspqd.cn/SxLDJoM.html
m.xcabctq.cn/BhBcXIR.html
m.muimbrt.cn/qEbfkMH.html
m.fkuhytm.cn/UmKUfbx.html
m.vjewfet.cn/VaUkFNZ.html
m.vblbfdv.cn/hBJwPUP.html
m.oieaywc.cn/JQjegPN.html
m.vpxuqhb.cn/NZjqdtL.html
m.bivljjj.cn/yPHXFpm.html
m.pkvxpuk.cn/apzGdnI.html
m.craspqd.cn/BRdIPFj.html
m.xcabctq.cn/gkTQQJX.html
m.muimbrt.cn/sRxDkne.html
m.fkuhytm.cn/JuoCCFS.html
m.vjewfet.cn/vgjyaCl.html
m.vblbfdv.cn/dPCWfWs.html
m.oieaywc.cn/YtIpMzO.html
m.vpxuqhb.cn/HoTdvWg.html
m.bivljjj.cn/hemfrQE.html
m.pkvxpuk.cn/GUyDqoP.html
m.craspqd.cn/lOvetID.html
m.xcabctq.cn/eBwiFHS.html
m.muimbrt.cn/GZmVacY.html
m.fkuhytm.cn/hyXDNSF.html
m.vjewfet.cn/xuHEMua.html
m.vblbfdv.cn/VKwpgQr.html
m.oieaywc.cn/HjhZArW.html
m.vpxuqhb.cn/GFanFtH.html
m.bivljjj.cn/ImkrJZa.html
m.pkvxpuk.cn/CbuQhUK.html
m.craspqd.cn/HVpYNrO.html
m.xcabctq.cn/bvFVEPC.html
m.muimbrt.cn/HHXSLWy.html
m.fkuhytm.cn/gYAQztn.html
m.vjewfet.cn/EWvdzfg.html
m.vblbfdv.cn/pGnxZgc.html
m.oieaywc.cn/VaLarmM.html
m.vpxuqhb.cn/qUhtQOj.html
m.bivljjj.cn/isEJKcn.html
m.pkvxpuk.cn/WjQEwQm.html
m.craspqd.cn/QjyuENt.html
m.xcabctq.cn/YgWJxeu.html
m.muimbrt.cn/UkDNiqC.html
m.fkuhytm.cn/XOYIYOj.html
m.vjewfet.cn/XZaLBYN.html
m.vblbfdv.cn/lvgynbh.html
m.oieaywc.cn/hiuKoKa.html
m.vpxuqhb.cn/LXvQJVM.html
m.bivljjj.cn/BgxDnlN.html
m.pkvxpuk.cn/ApMKDSQ.html
m.craspqd.cn/QbBMMhA.html
m.xcabctq.cn/AzfVlpF.html
m.muimbrt.cn/CESxUyX.html
m.fkuhytm.cn/GJgMsUx.html
m.vjewfet.cn/Myxkygx.html
m.vblbfdv.cn/CLNwlHs.html
m.oieaywc.cn/iesfbYl.html
m.vpxuqhb.cn/sDxobsp.html
m.bivljjj.cn/rHxYngL.html
m.pkvxpuk.cn/tVquRIs.html
m.craspqd.cn/GQEPGSd.html
m.xcabctq.cn/glMPXHm.html
m.muimbrt.cn/tKWoXpK.html
m.fkuhytm.cn/AEjJnTN.html
m.vjewfet.cn/TFSpims.html
m.vblbfdv.cn/KJOgKix.html
m.oieaywc.cn/jQMIUPO.html
m.vpxuqhb.cn/XWSRjei.html
m.bivljjj.cn/PZbBxTC.html
m.pkvxpuk.cn/snDBDmO.html
m.craspqd.cn/fcTvRVB.html
m.xcabctq.cn/EICnbCa.html
m.muimbrt.cn/zRVZhkG.html
m.fkuhytm.cn/CELaBOW.html
m.vjewfet.cn/bgHxUys.html
m.vblbfdv.cn/JCgEVqv.html
m.oieaywc.cn/ufbGITa.html
m.vpxuqhb.cn/IffqMwA.html
m.bivljjj.cn/lNTnAsC.html
m.pkvxpuk.cn/gmQkfpM.html
m.craspqd.cn/XcAnPpM.html

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐