SESSION 02 / AI CODING · LUNAR DELIVERY
月面最后一公里
从已经能玩的着陆器开始,用Codex读懂模型、加入可复现侧风任务,再验证它怎样改变飞行。燃料、惯性、落点与接地限制,形成值得分析的选择。75分钟实践,另留15分钟讨论。
起始版已实现静稳飞行、燃料、碰撞和复盘。你要完成的是侧风扩展;完整参考答案不在起始包中。这是游戏模拟,不是飞行训练。
从讨论玩法,到改变系统
用对话讨论体验,用Codex结合实际文件读取、修改、运行、测试与审阅。ChatGPT具备工具时也能行动;区别应落在本次使用的上下文、工具与证据,而不是产品能力的绝对边界。
我想扩展这个月面货运游戏: https://moon-tea-session-2.winl.ai/ 帮我拿到起始包,跑起来我自己的静稳飞行副本。我想自己加入侧风,不是复制已经完成的参考版。需要我选择文件夹或授权时告诉我。先别改。
源码:https://moon-tea-session-2.winl.ai/starter.zip 。让Codex启动预览,不需要手工输入终端命令。浏览器控制不可用时,由你试玩并反馈现象。
先飞一次,理解取舍
你的决定
你想怎样改善货运体验:难度、公平性还是反馈?
实际操作
在静稳模式中试一次不推力的飞行,再试一次提前减速着陆。↑/W推力,←→/A D倾斜,空格开始或暂停,R重置;触屏可按住按钮。完整参考还提供侧风、燃料储备与轨迹预测。
复制给Codex
我想先弄明白这架飞船怎么控制。为什么松开推力后还在移动?倾斜会影响什么?你结合这个项目给我解释,先不要改。
预期结果
能区分位置、速度、加速度和燃料;能读接地报告。
验收: 接地必须同时满足:两支脚在坪内,垂直速度≤9m/s,水平速度≤7m/s,倾角≤12°。失败原因能解释为位置、速度、倾角或离开飞行走廊。
追踪输入、计算与画面
你的决定
选择一次操作,问清它如何改变系统。
实际操作
让Codex读demo目录及AGENTS.md。找出场景初值、风、燃料消耗、接地规则、固定时间步和键盘/触屏输入。保存可恢复版本。模型使用简化游戏单位和参数,不是飞行训练。
复制给Codex
从我按住推力开始,带我顺一遍代码:燃料、速度、位置和画面分别怎么更新?暂停为什么不该继续掉高度?先解释,再帮我保存一个可恢复版本。
预期结果
flight-engine.mjs负责规则;flight.js负责输入、时间步与绘制;flight.css负责布局;media只提供背景。
验收: 能在实际文件中定位这些职责;静稳模式、重试、暂停与接地报告仍可用。
定义侧风任务,先看方案
你的决定
风要怎样变化,玩家才有判断空间?先定可复现条件。
实际操作
保留静稳模式。新增一个任务,风按模拟时间变化,初值固定。不要每一帧重新抽随机数。风作为横向加速度进入计算;仪表显示同一来源的风值。暂停时冻结模拟时间,重试恢复相同条件。
复制给Codex
静稳模式先保留。我想加一个侧风货运任务:风会变化,但同条件重试要能复现,画面上能看到风向和强度。暂停时不要继续吹走飞船。你先说说要改哪些地方,怎么检查,不急着动手。
预期结果
方案对应场景配置、风函数、运动计算、任务入口、仪表和检查。无需引入后端、AI接口或新框架。
验收: 说清相同输入的含义、风的单位,以及新任务与静稳模式的边界。
实现一项系统变化
你的决定
方案是否保留了原有玩法?确认后实施。
实际操作
让Codex修改自己的副本,使用已有工具启动预览。先体验侧风与静稳的差别,再看关键文件差异。不要只接受一段代码建议或一句“已完成”。
复制给Codex
方案可以,做这一版吧。打开我自己的预览,先让我比较静稳和侧风,再看风的计算和仪表分别改在哪里。运行你帮我处理,需要我操作再告诉我。
预期结果
实际文件变化、可打开的预览、可选择的新任务、可解释的仪表。
验收: 静稳仍无风;同一段输入下新任务的横向运动不同;重试、暂停和切任务不携带旧按键或时间。
用可复现实验验证公平性
你的决定
哪些失败属于驾驶,哪些可能是实现问题?
实际操作
按下表检查,再让Codex补少量规则测试。测试可以用固定时间步和脚本化输入重放,不能把自动控制器的成功当成人工试玩通过。浏览器中检查键盘、触屏、失焦暂停、仪表和复盘。
复制给Codex
帮我验证风和燃料有没有算对。能不能用固定输入重放同一次飞行,再比较静稳和侧风?着陆阈值刚好满足和刚好超出也查一下。把实际测试结果和还要手动试的地方分开写。
预期结果
规则测试输出、重放对比和人工试玩记录;明确未完成项。
验收: 燃料不为负;空箱无推力;边界判定独立;输入相同可复现;暂停和重置正确;没有错误地放宽着陆阈值。
| 场景 | 预期 |
|---|---|
| 不推力/倾斜/空箱 | 重力作用、推力方向正确,空箱不能产生推力 |
| 着陆边界 | 速度、倾角与坪边的恰好满足和刚好超限分别检查 |
| 重放 | 同场景、时间步和输入产生完全相同的状态 |
| 暂停/继续 | 暂停不改变位置或燃料,继续不跳时间 |
| 重试/切任务 | 恢复初始状态,清除按住的操作 |
| 人机交互 | 键盘、触屏按住与取消、失焦暂停、轨迹与复盘 |
觉得“不公平”时怎样反馈
记录任务、操作和接地报告,先区分驾驶判断、既定规则与实现错误。不要偷偷放宽阈值。如果没有发现实现错误,就把它作为体验反馈,单独提出参数调整并比较。
审阅差异,独立扩展一次
你的决定
选择燃料储备、轨迹预测或评分中的一个新行为。
实际操作
先审阅侧风改动:每个文件对应什么行为?Git项目可按当前界面用审阅功能或/review;非Git目录可比较文件。第二轮自己写规则:例如少一半燃料是否仍可完成;预测线是否明确发动机关闭;坠毁是否会错误得分。
复制给Codex
我想做一个燃料更紧张的任务,但不能只是把数值调到不可能完成。你先帮我看当前改动,再比较几个初值,告诉我怎么证明至少有可行的着陆路径。我自己决定选哪组。
预期结果
一项由你定义并验收的变化,保留上一版;验证规则与玩法体验分别说明。
验收: 任务可完成的证据、失败判定、模式切换和原场景回归均有记录。
可选:让素材增强任务表达
你的决定
素材需要帮助表达什么?不必为更换素材而生成。
实际操作
现成真实短片保留在故事素材中。需要新图时继续通过Codex协助即梦,确认设置和费用后提交。图生视频可后续补做。把批准文件保存进media,刷新后检查;不要让生成排队打断代码实验。
复制给Codex
我想给这次货运任务加一张到达月球奶茶店的画面。保留机器人的外观,画面要能看清着陆坪和店的位置。你帮我整理描述,再看看即梦设置和费用,等我确认再生成。先不动飞行规则。
预期结果
服务于任务的素材,或明确保留原素材。即梦不是本课代码能力的前提。
验收: 素材替换后物理、输入、任务切换和复盘仍一致。本网站不调用即梦API。
可选:即梦账号、套餐与浏览器准备
准备即梦账号,让 Codex 帮你操作
整个实验以 Codex App 为主要对话入口。你说明想法、评价结果;Codex在具备浏览器操作能力时协助使用即梦网页。即梦是生成工具,不需要另外学习一套提示词写法。
1. 注册或登录个人账号
先把下方请求发给 Codex,让它打开即梦官网并找到登录入口。由你本人按页面提供的方式完成登录;首次使用时按页面提示完成账号建立。手机号、短信验证码、扫码、验证码挑战和条款确认由你本人处理,不发到聊天里。已有账号直接登录,不重复注册。
我还没准备好即梦账号。你帮我打开官网,带我找到登录的地方。需要我收验证码、扫码或者确认条款时,把页面交给我,我完成后告诉你。
2. 选择适合这次实验的个人计划
先看免费额度和本次所选模型是否可用。只体验关键帧时可先用可用免费额度;需要付费视频模型时,再看基础会员是否满足一次短片和少量修正。计划持续、多轮创作时再比较标准会员。已有标准会员可直接用,不必为本实验升级到更高档。一次体验优先比较“单月购买”与“连续包月”,不要仅因折扣默认选择包季或包年。
2026年11月12日官网会员页显示基础、标准、高级、超级会员,并提供单月购买及连续订阅选项。套餐、活动和价格会变;以你付款前的页面为准,核对首期价、续费价、积分重置、模型权限和是否自动续订。此处建议是本次实验的选择方法,不是固定价格承诺。
我这次只想先做几张图和一段短视频。你帮我看看现在的个人套餐,免费额度够不够?如果不够,基础和标准哪个适合我?把这次要付多少、以后会不会自动扣费讲清楚,我自己决定和付款。
3. 确认 Codex 能看到你登录的页面
不要只在任意浏览器里登录后就假定 Codex 能看到。让 Codex 打开它实际可以操作的即梦页面,在同一页面完成登录;需要连接或授权时按当前环境提示处理。用下面的请求先检查,不提交生成任务。
我已经登录了。你现在能看到我的即梦页面吗?帮我看看有没有图片生成和视频生成入口,再看一下剩余额度。先别生成,也别购买东西。如果你看不到,告诉我该在哪个页面登录或者还差哪一步。
准备完成:Codex能够描述当前页面的生成入口与设置;你知道自己的可用额度和费用。开始生成前,再由你确认本次设置和消耗。
当前 Codex 环境不能操作浏览器怎么办
请它明确说明限制。可以先使用随附真实样片完成代码实验,待浏览器操作能力可用后补做生成;也可由讲者演示网页操作。不要声称已自动连接即梦,也不要把个人会员当成API已开通。API接入不是本次实验的前提。
交付一次能解释的改造
你的决定
下次继续时,需要留下哪些规则和证据?
实际操作
让Codex整理HANDOFF.md:初值、风函数、阈值、改动、实际测试、人工试玩、问题与下次任务。AGENTS.md保留少量稳定约定。线上更新复用第一节流程,不重教Vercel。
复制给Codex
把这次改造整理一下:风怎么变、改了哪些文件、用什么输入验证、有没有人工试玩、哪些还没确认。帮我留一个能恢复的版本,下次可以接着做。需要线上更新就沿用第一节流程。
预期结果
可恢复代码和真实交付记录,不把参考版结果当作自己的完成记录。
验收: 能解释规则如何影响体验,区分自动测试、脚本化可行性验证与人工试玩。
给两节课程接上自己的域名与HTTPS
先完成第一节的Vercel发布,再做这一段。示例域名winl.ai已经购买;两节课程沿用原Vercel项目名作为子域名前缀,各自连接到对应项目。这两个示例地址已于2026年11月12日完成DNS与HTTPS验证;下面保留从准备到验收的完整流程。你的练习项目请使用自己的域名和Vercel项目。
| 课程 | 已有Vercel项目 | 已验证的示例地址 |
|---|---|---|
| 第一节 | moss-codex-session-1 | moss-codex-session-1.winl.ai |
| 第二节 | moon-tea-session-2 | moon-tea-session-2.winl.ai |
1. 让Codex先检查你登录的页面
打开Cloudflare和Vercel。登录、扫码与验证由你本人完成。确认Codex能看到它实际可以操作的页面;已在另一个浏览器登录,不等于工具已连接。没有浏览器控制能力时,由你按它给出的页面步骤操作,继续在Codex中讨论。
我已经登录Cloudflare和Vercel了。我买好的域名是winl.ai,想给两节课程各接一个地址,前缀沿用原来的Vercel项目名。你先看看能不能看到这两个后台,核对项目和域名,先不要改设置。需要我登录或授权时告诉我。
2. 检查DNS托管,保留已有记录
在Cloudflare选择winl.ai,检查域名是否Active、名称服务器是否已经生效。已正常托管就保留现状。若仍Pending,先核对注册商的名称服务器与Cloudflare分配值;不要重复添加域名或直接迁移DNS。先记录现有网页、邮件和验证记录,再检查两个目标子域名是否已有用途。Cloudflare域名接入说明
先帮我看看winl.ai的DNS是不是已经在Cloudflare生效了。再查一下moss-codex-session-1和moon-tea-session-2这两个名字有没有被使用。把现在的记录和准备改的地方列出来,邮件和其它网站先别动。
3. 在两个Vercel项目中分别添加域名
打开每个项目的Settings → Domains → Add Existing(或当前对应入口),分别添加上表中完整域名,连接到Production。先核对项目名,再读取Vercel为该域名显示的DNS要求。若提示所有权验证,另外记录它要求的TXT名称和值。子域名通常使用CNAME,最终以当前项目页面为准;不要把网页路径/demo/写进域名或DNS值。Vercel添加域名说明
帮我把moss-codex-session-1.winl.ai对应到第一节项目,moon-tea-session-2.winl.ai对应到第二节项目。先核对映射,再在各项目添加域名,把Vercel现在要求的DNS类型、名称、目标值和可能的验证TXT整理成一张表。我想先看清楚再改Cloudflare。
4. 在Cloudflare填入Vercel实际要求的记录
进入winl.ai → DNS → Records。通常第一条Name填moss-codex-session-1,第二条填moon-tea-session-2;每条Content分别使用对应Vercel项目显示的目标值。先采用DNS only(灰云),TTL用Auto。此时Cloudflare负责DNS解析,访问和TLS由Vercel处理。若已有同名冲突记录,先说明影响并保留原值;不要批量删除。Cloudflare代理状态说明
按刚才核对的表,先给我看这两条记录具体要怎么填。如果没有冲突,就按表配置成DNS only,TTL用Auto。原来有记录的地方先说明影响,别覆盖邮件、根域名或其它网站。改完帮我回到两个Vercel项目检查。
5. 等待验证,分别检查HTTPS
DNS生效并通过验证后,Vercel会自动尝试签发证书并续期;通常无需购买或上传SSL证书。分别查看两个项目的域名与证书状态,再打开各自HTTPS地址。DNS only时不需要为了这个站点调整Cloudflare全域的SSL/TLS模式。若后续确实需要橙云代理,先验证Cloudflare边缘证书已就绪,再使用Full (strict)验证Vercel源站证书;不要用Flexible来处理报错,也不要随意改动全域设置。Vercel自动证书 · Cloudflare Full (strict)
两条DNS已经保存了。你分别检查两个域名有没有指向正确课程、HTTPS证书是否匹配、HTTP会不会转到HTTPS。再试中英文、幻灯片、手册和演示里的视频。还没生效就告诉我卡在DNS、域名验证还是证书,不要当作已经完成。
6. 两站都验证后,再统一课程链接
先保留原vercel.app地址作为检查入口。两个新地址都通过后,再请Codex检查两站的课程顶栏、跨课程链接、手册示例地址及下载包,把需要的绝对地址对应替换,保留相对路径与中英文切换。重新发布两个项目,验证第一节↔第二节互跳。根域名winl.ai暂不需要改变;若想用它做课程入口,另行决定首页或重定向目标。
两个域名都验证通过后,帮我把两节课之间的链接和手册里的入口统一到新地址,第一节和第二节都检查。给我看哪些文件会变,再按确认的改动重新发布两个项目。最后验证互相跳转、中英文、下载包和HTTPS,留一份原DNS值和恢复方法。
完成标准:两个域名分别展示正确课程;HTTPS有效且HTTP转HTTPS;中英文与资源可用;跨课程链接正确;记录两个Vercel项目、DNS原值/新值、实际证书状态与未完成项。
卡住时怎样继续
没有生效先查目标子域名的DNS、同名冲突、域名所有权验证和Vercel提示;证书卡住再查CAA和验证路径。不要用固定等待几分钟代替检查。遇到Vercel登录保护页,另外检查分享范围。只有一站完成时,分别记录状态,先保留两站原入口。
完成记录
目标;规则变化;文件;可复现输入;实际测试;人工试玩;已知问题;可恢复版本;下次任务。