在MS-DOS古董电脑上运行ChatGPT:HTTP代理与MTCP网络栈实践
1. 项目概述在古董电脑上运行现代AI最近在折腾我那台1984年的IBM 5155便携式电脑这台老伙计搭载的是4.77MHz的Intel 8088处理器和MS-DOS 6.22系统。一个偶然的想法冒了出来能不能让这台几乎和我同龄的机器也体验一下当下最火的AI对话听起来像是天方夜谭毕竟DOS系统连原生的HTTPS支持都没有更别提运行复杂的现代应用了。但正是这种“不可能”的挑战激起了我的兴趣。于是我花了些时间捣鼓出了一个名为doschgpt的概念验证项目。本质上它是一个能在纯DOS环境下运行的客户端可以连接后端的ChatGPT、Hugging Face或者本地部署的Ollama大语言模型实现文本对话。这不仅仅是一个怀旧玩具更是一次对软硬件极限的有趣探索它证明了即使是最古老的个人计算平台通过巧妙的架构设计也能与最前沿的技术进行对话。这个项目的核心价值在于“连接”与“简化”。它不是在DOS上从头训练一个AI模型那确实不可能而是充当一个极其轻量级的“终端”将用户在本地的输入通过一个精心设计的网络管道发送到远端的强大AI服务器再把结果带回来显示在古老的CRT屏幕上。整个过程涉及DOS下的网络编程、内存管理、与现代化API的对接以及如何在极度受限的环境下640KB常规内存是天花板保持程序的稳定和可用。如果你也对复古计算、嵌入式网络或者只是想看看AI如何与80年代的硬件共舞感兴趣那么接下来的内容应该能给你不少实操的启发和避坑指南。2. 核心架构与设计思路拆解2.1 为什么需要HTTP-to-HTTPS代理这是整个项目面临的第一个也是最重要的技术障碍。MS-DOS及其时代的网络栈如我们使用的MTCP诞生于互联网的早期当时SSL/TLS加密尚未成为网页传输的标准。因此这些栈通常只提供纯HTTP和底层TCP/IP支持而没有内置的HTTPS即HTTP over TLS库。而OpenAI和Hugging Face的现代API端点无一例外都强制使用HTTPS。直接让DOS程序实现TLS是不现实的TLS协议本身及其所需的加密算法如AES、RSA对8088 CPU来说是沉重的负担且会消耗大量宝贵的内存。因此最务实的方案是引入一个“中间人”——一个运行在现代机器比如你日常用的笔记本电脑或树莓派上的代理服务。这个代理的工作流程非常清晰监听代理在现代机器上启动监听一个指定的TCP端口例如8080等待来自DOS客户端的纯HTTP连接。转发DOS客户端doschgpt.exe将API请求包括模型、消息、温度等参数以纯HTTP格式发送到这个代理。升级与转发代理接收到HTTP请求后将其转换为HTTPS请求并通过现代操作系统的网络栈安全地发送到真正的AI服务提供商如api.openai.com。回传代理收到HTTPS响应后剥离TLS加密层将纯文本的HTTP响应回传给DOS客户端。这样DOS端就完全无需处理加密只需要关心最基础的HTTP/1.1协议文本的组包和拆包。我为此专门编写了一个轻量级的Go语言代理程序http-to-https-proxy它只做最直接的协议转换开销极小非常适合在资源有限的单板计算机如树莓派Zero上常驻运行。注意对于本地部署的Ollama服务情况有所不同。Ollama默认使用未加密的HTTP接口通常在http://localhost:11434。因此如果你的DOS机器和运行Ollama的机器在同一个可信局域网内你可以让doschgpt直接连接到Ollama服务器的IP和端口完全绕过代理。这简化了部署但也意味着通信内容在局域网内是明文的。2.2 网络栈选择为什么是MTCP在DOS下搞网络你不是在调用标准的socket()API。你需要一个专门的DOS TCP/IP实现。常见的选择有Watt-32、DJGPP下的Allegro库网络部分以及MTCP。我选择MTCP基于几个关键考量纯粹性与兼容性MTCP是专门为16位实模式DOS设计的TCP/IP栈不依赖任何32位扩展器如DOS/4GW。这意味着它可以在最“纯净”的DOS环境下运行兼容性极广从最早的8088到后期的486 DOS实模式都能稳定工作。与Packet Driver的完美集成DOS下的网络硬件驱动标准是“Packet Driver”包驱动。MTCP被设计为直接与Packet Driver接口通信这种设计非常底层和高效。你只需要加载对应网卡即使是NE2000兼容的ISA网卡或某些虚拟机虚拟网卡的Packet Driver然后配置MTCP即可。资源消耗可控MTCP以小巧和高效著称。你可以通过配置文件mtcp.cfg精细地控制其内存使用例如TCP socket数量、接收缓冲区大小等。这对于只有640KB常规内存的DOS系统至关重要。优秀的文档与示例MTCP的作者Michael Brutman提供了清晰的文档和大量示例代码。doschgpt的网络通信部分几乎完全基于其提供的HTTP客户端示例改造而来这大大降低了开发难度。2.3 内存与上下文管理的权衡DOS的640KB内存限制是悬在头顶的达摩克利斯之剑。一个典型的AI对话会话可能轻松产生数十KB的文本历史。如果尝试将整个对话历史都保存在内存中并随每次请求发送很快就会耗尽内存导致程序崩溃。因此我采取了一个折中的、对资源友好的策略仅发送上一轮对话的上下文。具体来说程序在内存中只维护两个字符串缓冲区一个用于保存用户上一次的提问previous_request另一个用于保存AI上一次的回答previous_reply。当用户发起新一轮对话时程序会将[previous_request, previous_reply, current_request]这个结构组装成API所需的JSON格式对于ChatGPT是messages数组对于Hugging Face是特定的指令格式发送出去。这样做的优缺点非常明显优点内存占用恒定且极小无论对话进行多久都只存储最近的两条消息。程序运行稳定不会因对话增长而变慢或崩溃。缺点模型失去了更早的对话历史背景。这意味着如果你在第十轮对话中问“它是什么颜色”模型将无法知道“它”指的是第一轮对话中提到的“我的车”因为第一到第八轮的对话历史已经丢失。模型只能基于最近的一问一答来推理。对于大多数简单的、回合制不强的问答这个策略完全够用。这也是我在项目说明中提及“如果这对你是个问题请告诉我”的原因。如果确实需要更长上下文方案会复杂很多可能需要将历史记录写入磁盘文件并在每次请求时动态地从磁盘读取和组装部分历史但这会显著增加I/O延迟和代码复杂度。3. 详细配置与实操部署指南3.1 环境准备DOS侧的搭建要让doschgpt跑起来你需要一个配置好的DOS网络环境。以下是在一台真实古董机或像VirtualBox/86Box这样的虚拟机中的标准设置流程准备DOS系统安装MS-DOS 6.22或更高版本。确保系统启动后至少有500KB以上的可用常规内存可用mem命令查看。这通常需要合理管理HIMEM.SYS、EMM386.EXE并精简AUTOEXEC.BAT和CONFIG.SYS中的内存驻留程序TSR。安装Packet Driver真实硬件找到与你ISA网卡如NE2000兼容卡对应的Packet Driver通常是一个.com文件如ne2000.com。在AUTOEXEC.BAT中加入一行C:\NET\NE2000.COM 0x600x60是软件中断号可更改。虚拟机VirtualBox等虚拟机通常提供“虚拟的”Packet Driver。例如VirtualBox的“Intel PRO/1000 MT Desktop”网卡可以使用vboxdp.com这个驱动。同样将其加载到内存中。配置MTCP下载MTCP包将其中的MTCP.COM、DHCP.EXE、PING.EXE等工具和MTCP.CFG配置文件拷贝到DOS机器的一个目录如C:\MTCP。设置环境变量告诉MTCP配置文件在哪SET MTCPCFGC:\MTCP\MTCP.CFG。编辑MTCP.CFG文件。如果你使用DHCP配置相对简单。如果需要静态IP你需要手动指定IP、子网掩码、网关和DNS。一个静态IP的配置示例# MTCP.CFG hostname MYDOSPC # 使用静态IP ip 192.168.1.200 netmask 255.255.255.0 gateway 192.168.1.1 nameserver 192.168.1.1 # 你的路由器或公共DNS packetint 0x60 # 必须与加载Packet Driver时使用的中断号一致测试网络运行DHCP如果动态获取或直接运行MTCP初始化栈。然后使用PING命令测试是否能通你的现代主机运行代理的那台机器的IP地址。ping 192.168.1.100。如果成功说明DOS侧的网络基础已经打通。3.2 代理服务器与API配置部署HTTP-to-HTTPS代理在你的现代机器Windows/macOS/Linux上从项目仓库下载http-to-https-proxy的对应版本。通过命令行运行它。默认情况下它会监听本机8080端口并将请求转发到https://api.openai.com。你可以通过参数修改监听端口和上游目标。关键步骤防火墙确保现代主机防火墙允许入站连接到代理监听的端口如8080。否则DOS客户端无法连接。获取并配置API密钥OpenAI前往 OpenAI平台 创建API Key。选择gpt-3.5-turbo或gpt-4o等模型。注意保管好Key它会在doschgpt.ini中以明文配置。Hugging Face前往 Hugging Face设置 创建Token选择Read权限即可。同样用于配置。Ollama本地部署无需Key但需确保Ollama服务已启动且通过环境变量OLLAMA_HOST0.0.0.0允许局域网访问。编辑doschgpt.ini配置文件 这是程序运行的核心。你需要仔细填写以下字段[config] ; OpenAI 或 Hugging Face 的API密钥。Ollama模式可留任意字符但必须有一行。 apikey sk-你的OpenAI-Key-在这里 ; 使用的模型。ChatGPT: gpt-3.5-turbo, gpt-4o。 Hugging Face: mistralai/Mistral-7B-Instruct-v0.3。 Ollama: llama3.2, mistral 等。 model gpt-3.5-turbo ; 温度参数控制随机性。0.0最确定1.0最随机。建议0.7-0.9。 temperature 0.7 ; 代理服务器或Ollama服务器的IP地址 proxyhost 192.168.1.100 ; 代理端口如8080或Ollama端口默认11434 proxyport 8080 ; 本地端口范围用于建立TCP连接。保持默认即可除非有冲突。 localportstart 2000 localportend 2010 ; 连接超时毫秒网络慢可适当调高 connecttimeoutms 10000 ; 响应超时毫秒等待AI回复的时间根据模型速度调整 responsetimeoutms 120000实操心得responsetimeoutms响应超时是关键参数。在8088这样的慢速CPU上网络栈处理数据本身就需要时间加上AI模型生成回复可能需要数十秒。我曾将其设为30秒结果在模型思考较长问题时频繁超时。建议设置为120秒120000毫秒或更长给足等待时间。3.3 运行与基础故障排查配置完成后在DOS命令行下直接运行doschgpt.exe即可。程序会尝试读取doschgpt.ini连接代理并进入一个简单的全屏文本界面。你可以直接打字提问按回车发送。按ESC键退出。首次运行常见问题排查“Packet driver not found” 或 “MTCP not initialized”检查运行mtcp命令看是否有错误。运行ping 127.0.0.1测试MTCP自身环回。解决确认Packet Driver已正确加载查看AUTOEXEC.BAT和内存驻留程序列表。确认MTCPCFG环境变量指向正确的配置文件路径。确认配置文件中packetint的中断号与驱动加载时一致。“Could not connect to proxy”检查在DOS端用ping 192.168.1.100你的代理IP测试网络连通性。解决确保代理程序正在现代主机上运行。检查现代主机防火墙是否放行了代理端口如8080。确认doschgpt.ini中的proxyhost和proxyport填写正确。“API error” 或收到HTTP 4xx/5xx错误检查使用-drr参数运行程序如doschgpt.exe -drr这会显示原始的HTTP响应头和信息。常见的401错误是API Key无效或过期429错误是触发了OpenAI的速率限制。解决核对API Key是否正确无误且有余额。对于免费试用的OpenAI Key注意其有每分钟/每天的请求限制。可以稍后再试或升级账户。程序启动后立即退出或无响应检查内存可能不足。DOS下可用mem查看。doschgpt.exe本身不大但MTCP和Packet Driver会占用一部分。确保“Largest executable program size”至少还有300KB以上。解决优化CONFIG.SYS和AUTOEXEC.BAT移除不必要的驱动和TSR。使用LHLoadHigh命令将一些程序加载到上位内存UMA。4. 高级功能与深度使用技巧4.1 语音合成让古董机“开口说话”让一台1984年的电脑用语音读出AI的回复这大概是整个项目中最有“赛博朋克”复古未来感的特性了。实现依赖于一块Sound Blaster或100%兼容的声卡和相关的文本转语音TTS驱动。硬件与驱动准备你需要一块ISA接口的Sound Blaster或AdLib但SB更常见声卡并正确安装到DOS机器上。在AUTOEXEC.BAT中设置环境变量SET BLASTERA220 I5 D1 T4这分别指定了端口地址、中断号和DMA通道。从项目发布的文件或WinWorld等存档站点获取Sbtalker.exeFirst Byte的SmoothTalker TTS引擎、Blaster.drv声卡驱动和Remove.exe卸载程序。将它们与doschgpt.exe放在同一目录。启用语音功能运行doschgpt.exe时加上-sbtts参数即可doschgpt.exe -sbtts。程序启动时会自动尝试加载Sbtalker.exe作为TSR退出时调用Remove.exe清理。AI的每一条文字回复都会通过这个引擎转换为语音从声卡输出。性能注意语音合成在8088 CPU上是一个沉重的负担。实测中合成一段中等长度的回复会导致系统明显变慢甚至可能影响网络响应。建议仅在CPU主频高于8MHz如286、386的机器上稳定使用此功能。替代方案与集成项目后期集成了dosbtalk库这是一个直接与First Byte引擎通信的库理论上比通过外部TSR调用更高效、更稳定。如果你从源码编译可以关注这部分代码它提供了更底层的控制接口。4.2 调试与日志洞察程序内部doschgpt提供了多个命令行调试参数对于开发和排查问题极其有用。合理组合使用它们可以清晰地看到程序每一步在做什么。-dri显示请求详情。在每次请求后打印出本次连接使用的本地端口号、以及从API返回的token使用量Prompt Tokens和Completion Tokens。这对于监控API消耗非常直观。-drr显示原始响应。这是最强大的调试工具。它会将服务器返回的完整HTTP响应头和JSON内容打印到屏幕上。当遇到API错误时这里会显示具体的错误码和消息是诊断问题的第一现场。-drt显示时间戳。在每个请求和回复旁加上本地时间戳。可以用来评估网络延迟和AI模型的响应速度。-fhistory.txt保存完整历史。将所有对话内容如果同时启用-drr则包括调试信息追加写入到指定的文本文件中。这对于事后分析对话流或调试信息非常方便。示例组合使用doschgpt.exe -hf -chf.ini -drt -fdebug.log这条命令会1) 使用Hugging Face模式2) 读取hf.ini配置文件3) 显示时间戳4) 将所有输出对话和时间戳保存到debug.log文件。4.3 针对不同后端的配置差异虽然程序试图用统一的接口对接三个后端但它们在配置和表现上仍有细微差别需要特别注意OpenAI (ChatGPT)配置在doschgpt.ini中apikey必须填写有效的OpenAI Keymodel填写如gpt-3.5-turbo。特点响应格式最规范速度通常最快尤其是GPT-3.5token计数准确-dri参数有效。但受限于API速率和费用。代理必须通过http-to-https-proxy转发。Hugging Face Inference Endpoints配置使用-hf参数启动。apikey填写Hugging Face的User Access Tokenmodel填写完整的模型ID如mistralai/Mistral-7B-Instruct-v0.3。特点免费额度慷慨。但需要注意Hugging Face的对话API格式与OpenAI不同。doschgpt内部已经做了适配会将历史记录格式化为[INST]...[/INST]的格式。模型响应速度取决于HF后端负载有时较慢。代理同样必须通过代理因为其端点也是HTTPS。Ollama (本地部署)配置使用-ol参数启动。apikey可任意填写但不能为空model填写你在Ollama中拉取并运行的模型名如llama3.2、mistral。proxyhost和proxyport直接填写运行Ollama服务的机器IP和端口默认11434。特点完全本地无网络延迟局域网内无费用隐私性好。响应速度取决于你本地服务器的CPU/GPU性能。Token计数同样支持。代理不需要代理直接HTTP连接。务必在运行Ollama的机器上设置OLLAMA_HOST0.0.0.0以允许外部连接。5. 开发环境搭建与编译指南如果你想自己修改代码、添加功能或者只是好奇它是如何从C源码变成那个小小的EXE文件的那么你需要搭建一个特定的16位DOS开发环境。5.1 编译器选择为什么是Open Watcom 2.0 Beta现代编译器如GCC、Clang主要面向32/64位系统无法生成纯16位实模式的DOS可执行文件。Open Watcom是一个曾经与Borland、Microsoft齐名的经典编译器套件其遗产版本至今仍被广泛用于复古编程和嵌入式开发因为它对16位DOS和32位扩展DOSDOS/4GW的支持非常成熟。我特别推荐使用Open Watcom 2.0 Beta2025-08-02版本而非稳定的1.9版本。原因在于2.0 Beta版本修复了许多在古老硬件如Compaq Portable上运行时出现的微妙问题生成的二进制文件兼容性更好。你可以在GitHub的Open Watcom发布页找到它。安装与设置要点安装时建议不要让安装程序永久性地修改系统环境变量。这可以避免与你现有的现代开发工具链冲突。取而代之的是创建一个批处理文件例如setenv.bat在其中临时设置Watcom所需的环境变量WATCOM,PATH,INCLUDE,LIB等。每次需要编译时先在这个命令行环境下运行这个批处理文件。echo off set WATCOMC:\WATCOM set PATH%WATCOM%\binnt;%WATCOM%\binw;%PATH% set INCLUDE%WATCOM%\h set LIB%WATCOM%\lib286注意LIB路径指向lib286因为我们编译的是16位实模式程序。5.2 编译流程与依赖管理项目使用wmakeWatcom的make工具来管理编译其Makefile很大程度上参考了MTCP库自身的编译脚本。获取依赖克隆或下载doschgpt的源代码。下载最新版的MTCP源代码包如mTCP-src_2025-01-10.zip将其解压到项目目录下的mtcpsrc文件夹中。确保mtcpsrc目录内有mtcp.lib、mtcp.h等文件。编译步骤# 1. 打开命令行进入源码目录 cd doschgpt-code # 2. 设置Watcom环境变量执行刚才创建的setenv.bat setenv.bat # 3. 执行编译 wmake如果一切顺利你会在当前目录下得到doschgpt.exe。如果使用Open Watcom 1.9可能还需要运行MTCP提供的PTACH.exe工具对生成的可执行文件进行一个特殊补丁以解决在某些特定硬件上的兼容性问题。2.0 Beta版本通常不需要这一步。测试与部署 编译出的二进制文件可以直接在DOS实模式下运行。为了快速测试我强烈推荐使用虚拟机。我在VirtualBox中配置了一个纯净的MS-DOS 6.22虚拟机并设置了共享文件夹或使用htget工具通过网络传输编译好的exe文件这比用软盘映像来回倒腾高效得多。5.3 开发调试技巧模拟代理与网络抓包在开发过程中频繁调用真实的OpenAI API既慢又浪费额度。我采用了两个方法来提升调试效率使用模拟代理Mock Proxy 项目附带了一个用Go编写的小工具mockprox.go。它的功能非常简单启动一个本地HTTP服务器无论收到什么请求都固定返回reply.txt文件中的内容。你可以把一段预设的、格式正确的AI回复JSON放入reply.txt。# 准备一个正确的回复样本 cp correct_reply.json reply.txt # 编译并运行模拟代理 go build mockprox.go ./mockprox.exe然后将doschgpt.ini中的proxyhost指向运行mockprox的机器IPproxyport设为它监听的端口默认8080。这样doschgpt的所有请求都会得到这个固定的回复非常适合测试程序解析响应、处理网络超时、界面显示等逻辑而无需消耗真实的API。结合现代工具进行网络抓包 虽然DOS端的调试手段有限但我们可以利用运行代理的现代主机进行监控。在运行http-to-https-proxy的机器上使用像Wireshark或Fiddler这样的抓包工具。Wireshark可以过滤tcp.port 8080来查看DOS客户端与代理之间的所有纯HTTP通信。你能看到原始的HTTP请求头和JSON载荷确保数据格式正确。Fiddler作为HTTP调试代理可以更直观地截获、查看甚至修改HTTP/HTTPS请求。你可以让http-to-https-proxy将请求先发往Fiddler作为上游代理再由Fiddler转发到真实的OpenAI。这样就能完整地看到HTTPS层面的请求和响应对于调试复杂的API错误非常有用。6. 常见问题、故障排查与优化实录在实际部署和运行过程中你肯定会遇到各种各样的问题。下面是我在多次测试中踩过的坑和总结出的解决方案希望能帮你节省时间。6.1 连接与网络类问题问题现象可能原因排查步骤与解决方案程序启动即报错Packet driver not found1. Packet Driver未加载。2. 中断号冲突。3. MTCP配置错误。1. 运行netstat -i如果MTCP提供或检查内存列表确认驱动已加载。2. 检查AUTOEXEC.BAT中加载驱动的命令行确认中断号如0x60。3. 检查MTCP.CFG中packetint设置是否与驱动加载中断号一致。Could not connect to proxy1. 代理未运行。2. 网络不通。3. 防火墙阻止。4. 配置IP/端口错误。1. 在现代主机上确认代理进程正在运行netstat -an连接成功但很快超时断开1. 代理或AI服务响应太慢。2. DOS端响应超时设置太短。1. 测试代理到互联网的连通性和速度。2.关键大幅增加doschgpt.ini中的responsetimeoutms值例如设为3000005分钟。DOS下的网络栈和慢速CPU处理数据需要时间。能连接但收到HTTP 4xx/5xx错误1. API Key无效/过期。2. 模型名称错误。3. 请求格式错误。4. 达到速率限制。1. 使用-drr参数查看完整错误信息。401为认证失败检查Key。404为模型不存在检查名称。429为速率限制。2. 用curl命令参见项目README的APIs部分在现代主机上直接测试API验证Key和模型是否有效。3. 对比-drr输出的请求体与官方API文档检查JSON格式。6.2 程序运行与功能类问题问题现象可能原因排查步骤与解决方案程序启动后屏幕乱码或闪退1. 内存不足。2. 与某些TSR程序冲突。3. 显卡/显示模式不兼容。1. 运行mem命令确保最大可用程序空间 300KB。精简CONFIG.SYS和AUTOEXEC.BAT。2. 尝试在“干净”的DOS启动不加载任何其他TSR下运行程序。3. 程序使用文本模式尝试在标准的80x25文本模式下运行。启用-sbtts后无声音或程序卡死1.BLASTER环境变量未设置或错误。2. 声卡驱动不兼容或冲突。3. CPU太慢合成超时。1. 确认SET BLASTERA220 I5 D1 T4已设置且与声卡实际配置匹配。2. 尝试单独运行Sbtalker.exe看是否能正常发声。可能需要调整中断号或DMA设置以避免冲突。3. 在更快的机器如386以上上测试或避免使用长文本回复。对话历史似乎丢失了上下文这是设计使然。程序只保留最近一轮的对话上下文。这是为了在640KB内存限制下的妥协。目前没有内置的长上下文支持。如果需要可以考虑修改源码将历史记录写入临时文件并管理。输入长文本时程序行为异常输入缓冲区溢出。程序对单次输入的长度有限制受限于DOS内存和网络缓冲区。尽量将问题拆分成简短的句子。6.3 性能优化与稳定性建议最大化可用内存这是DOS下所有程序稳定运行的基石。深入研究CONFIG.SYS和AUTOEXEC.BAT的优化。使用DEVICEHIGH和LOADHIGH将驱动和程序载入上位内存区UMA。移除不需要的驱动如光驱驱动MSCDEX、鼠标驱动等。调整MTCP参数编辑MTCP.CFG可以尝试减小TCP窗口大小、减少最大socket数量来节省少许内存。但对于doschgpt默认的MTCP配置通常已足够。使用更轻量的模型如果你使用Ollama可以尝试更小的模型如tinyllama它在慢速CPU的服务器上也能更快响应减少超时风险。为代理服务器减负确保运行http-to-https-proxy的现代主机网络通畅。如果可能将其放在与DOS机器同一局域网段并确保该主机到互联网的延迟较低。耐心是关键在8088/8086这样的CPU上每一次键盘输入、屏幕滚动、网络封包处理都比现代计算机慢成千上万倍。与doschgpt交互需要一种“复古的耐心”。等待AI回复时看着光标闪烁仿佛回到了那个拨号上网、等待网页一行行加载的时代这本身就是体验的一部分。这个项目就像一座桥梁连接了两个计算时代。它没有追求极致的效率或功能而是探索了一种可能性。当你看到绿色的CRT屏幕上缓缓打出AI对某个哲学问题的思考时那种时空交错的感觉非常奇妙。它提醒我们技术的进步是迭代的但创造力和探索精神是永恒的。如果你也成功运行起来了不妨试试问它一个经典问题“你认为MS-DOS在计算机历史中的地位是什么”然后听听来自2024年的AI如何通过一台1984年的机器来评价这段历史。