<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Weathour</title><description>博士生 · 研究者 · 开发者 | PhD Student · Researcher · Developer</description><link>https://weathour.github.io/</link><language>zh_CN</language><item><title>SafeRL-YK: From Offline Safe Anchors to Online Gamma Scheduling</title><link>https://weathour.github.io/posts/saferl-yk-progress/</link><guid isPermaLink="true">https://weathour.github.io/posts/saferl-yk-progress/</guid><description>A progress note on the core idea, research goals, current implementation, and early results of the SafeRL-YK project.</description><pubDate>Fri, 03 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;This post is a progress update on &lt;code&gt;SafeRL-YK&lt;/code&gt;. The project does &lt;strong&gt;not&lt;/strong&gt; try to let reinforcement learning output raw control commands end to end. Instead, it puts RL on top of a control backbone that already respects physical and safety constraints, and only asks it to learn &lt;strong&gt;when the situation looks more like Cruising and when it looks more like Stop-and-Go&lt;/strong&gt;.&lt;/p&gt;
&lt;h2&gt;Core Idea&lt;/h2&gt;
&lt;p&gt;The project targets &lt;strong&gt;longitudinal car-following&lt;/strong&gt; in autonomous driving. Its main idea can be summarized in one sentence:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Build two safe anchor controllers offline, then let RL learn only a scheduling parameter &lt;code&gt;γ&lt;/code&gt; online.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The two anchors correspond to two representative traffic modes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Cruising&lt;/code&gt;: relatively smooth following with low-frequency disturbances;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Stop-and-Go&lt;/code&gt;: congested following with stronger stop-start perturbations.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;RL does not directly output throttle or acceleration. It outputs a scheduling variable that interpolates between two offline-solved YK safe controllers. The motivation is straightforward:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;push as much safety as possible into the offline stage&lt;/strong&gt;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;reduce RL to scheduling instead of controller invention&lt;/strong&gt;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;use the structure hidden in real traffic data explicitly&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Project Goals&lt;/h2&gt;
&lt;p&gt;At the moment, the project has three layers of goals.&lt;/p&gt;
&lt;h3&gt;1. Extract usable driving modes from real data&lt;/h3&gt;
&lt;p&gt;The raw data comes from &lt;code&gt;highD&lt;/code&gt; and &lt;code&gt;inD&lt;/code&gt;. The offline pipeline performs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;longitudinal trajectory extraction;&lt;/li&gt;
&lt;li&gt;long-horizon trajectory stitching;&lt;/li&gt;
&lt;li&gt;frequency-domain GMM clustering;&lt;/li&gt;
&lt;li&gt;slicing clustered results back into time-domain windows.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The goal is not just cleaning data. It is to expose recurring car-following modes in real traffic and turn them into structured inputs for anchor solving and RL training.&lt;/p&gt;
&lt;h3&gt;2. Solve two interpretable and safe controller anchors&lt;/h3&gt;
&lt;p&gt;Offline, the project solves one YK anchor for &lt;code&gt;Cruising&lt;/code&gt; and one for &lt;code&gt;Stop-and-Go&lt;/code&gt; under the same objective family and the same hard constraints. It checks not only frequency-domain stability but also emergency-braking safety in the time domain, so the solution is not merely “stable on paper.”&lt;/p&gt;
&lt;p&gt;This stage is about obtaining two reliable endpoints before discussing online interpolation.&lt;/p&gt;
&lt;h3&gt;3. Let RL learn scheduling, not low-level physics&lt;/h3&gt;
&lt;p&gt;Online RL learns a scheduling parameter &lt;code&gt;γ&lt;/code&gt; that smoothly moves between the two safe anchors. The current main branch has already shifted from predicting absolute &lt;code&gt;γ&lt;/code&gt; to predicting incremental &lt;code&gt;Δγ&lt;/code&gt;, because that makes the behavior smoother and closer to gradual correction rather than abrupt switching.&lt;/p&gt;
&lt;h2&gt;What Has Been Built So Far&lt;/h2&gt;
&lt;p&gt;At this point, the project is no longer just a concept. A fairly complete loop is already in place:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;the offline data pipeline runs from raw trajectories to &lt;code&gt;clustered windows&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;weight sweeping and PSO anchor solving already produce &lt;code&gt;best_weights.json&lt;/code&gt; and &lt;code&gt;yk_anchors.pkl&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;reference spectra can be generated offline for a traditional SAY-CM spectral scheduler baseline;&lt;/li&gt;
&lt;li&gt;reward baseline caches are precomputed, avoiding repeated expensive simulation at environment reset;&lt;/li&gt;
&lt;li&gt;the current training mainline has moved to &lt;code&gt;delta_env + delta_train&lt;/code&gt;, with full-platoon observations, &lt;code&gt;Δγ&lt;/code&gt; actions, 5 Hz control, and TTC penalties;&lt;/li&gt;
&lt;li&gt;two &lt;code&gt;delta_sweep&lt;/code&gt; experiment directories already exist, so the incremental-action branch has been trained in practice rather than only designed on paper.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In short, the project has already materialized as scripts, cached artifacts, evaluation code, and experiment outputs.&lt;/p&gt;
&lt;h2&gt;Current Results as of Early April 2026&lt;/h2&gt;
&lt;p&gt;As of &lt;strong&gt;April 2, 2026&lt;/strong&gt;, the repository contains a batch evaluation summary over &lt;code&gt;500&lt;/code&gt; trajectories.&lt;/p&gt;
&lt;p&gt;First, the simplest static-anchor comparison:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;static &lt;code&gt;γ=0&lt;/code&gt; reaches &lt;code&gt;abs_mean = -6058.14&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;static &lt;code&gt;γ=1&lt;/code&gt; reaches &lt;code&gt;abs_mean = -7228.10&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;over &lt;code&gt;500&lt;/code&gt; trajectories, &lt;code&gt;γ=0&lt;/code&gt; wins &lt;code&gt;497&lt;/code&gt;, while &lt;code&gt;γ=1&lt;/code&gt; wins only &lt;code&gt;3&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That tells us something important: &lt;strong&gt;under the current data distribution, the single static &lt;code&gt;γ=0&lt;/code&gt; anchor is still very strong.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Now look at the current delta branch:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;delta_gamma_0&lt;/code&gt; achieves &lt;code&gt;rel_mean = -110.85&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;among the trained configurations, the closest one is &lt;code&gt;C03_ds02_wdg5_phase1__relative_norm&lt;/code&gt; with &lt;code&gt;rel_mean = -128.08&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;other settings are worse, for example &lt;code&gt;C01_ds02_wdg0_phase1__relative_norm = -140.77&lt;/code&gt; and &lt;code&gt;C02_ds02_wdg1_phase2__relative_norm = -308.40&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So the takeaway from the current summary is clear:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;the engineering pipeline is working end to end;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;the incremental-action RL branch is trainable and benchmarkable;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;but it still does not consistently beat the strongest static anchor baseline.&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I actually see this as a healthy stage. It means the main question is no longer “can the training script run?” but rather the more meaningful research question: &lt;strong&gt;what observation design, reward design, and curriculum are needed for scheduling to truly outperform a fixed anchor on real traffic modes?&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;What Matters Next&lt;/h2&gt;
&lt;p&gt;The next useful step is not making the system more complicated for its own sake. It is understanding &lt;strong&gt;why RL has not yet beaten the static anchor reliably&lt;/strong&gt;. The questions I care about most now are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;whether &lt;code&gt;relative_norm&lt;/code&gt; already removes enough mode-dependent baseline bias;&lt;/li&gt;
&lt;li&gt;whether the two-stage curriculum really transfers policies from extreme modes to mixed traffic;&lt;/li&gt;
&lt;li&gt;which factor contributes most to gains: &lt;code&gt;Δγ&lt;/code&gt;, TTC penalties, or full-platoon observations;&lt;/li&gt;
&lt;li&gt;where SafeRL-YK actually improves once traditional spectral scheduling and DMPC are evaluated inside the same framework.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Closing Note&lt;/h2&gt;
&lt;p&gt;If I had to summarize the current state of &lt;code&gt;SafeRL-YK&lt;/code&gt; in one sentence, it would be this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The project has moved past the “idea-only” stage and entered the stage where the offline safety backbone is mostly in place and the online scheduler is being tested against strict baselines.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The next step is to keep pushing both sides at once: make the offline anchors more reliable, and make RL learn a genuinely useful scheduling behavior instead of merely reproducing a strong static default.&lt;/p&gt;
</content:encoded></item><item><title>SafeRL-YK：从离线安全锚点到在线 γ 调度</title><link>https://weathour.github.io/posts/saferl-yk-progress/</link><guid isPermaLink="true">https://weathour.github.io/posts/saferl-yk-progress/</guid><description>记录 SafeRL-YK 项目的核心思路、阶段目标、当前主线实现，以及截至 2026 年 4 月初的阶段性效果。</description><pubDate>Fri, 03 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;这篇文章用来同步我最近在做的 &lt;code&gt;SafeRL-YK&lt;/code&gt; 项目：它想解决的不是“让强化学习直接端到端输出控制量”，而是让强化学习站在一个已经满足物理约束和安全约束的控制底座之上，只学习&lt;strong&gt;什么时候更像 Cruising，什么时候更像 Stop-and-Go&lt;/strong&gt;。&lt;/p&gt;
&lt;h2&gt;项目想法&lt;/h2&gt;
&lt;p&gt;项目面向自动驾驶中的&lt;strong&gt;纵向跟驰&lt;/strong&gt;场景。整体思路可以概括成一句话：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;离线先把两个安全锚点控制器做扎实，在线阶段只让 RL 学一个调度参数 &lt;code&gt;γ&lt;/code&gt;。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;这里的两个锚点，分别对应两类典型交通工况：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Cruising&lt;/code&gt;：相对平稳、低频扰动的巡航跟驰；&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Stop-and-Go&lt;/code&gt;：更频繁启停、加减速扰动更强的拥堵跟驰。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;项目并不直接让 RL 输出油门或加速度，而是让它输出一个调度量，去插值两套离线求好的 YK 安全控制器。这样做的出发点很明确：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;把安全性尽量前置到离线求解阶段&lt;/strong&gt;；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;把 RL 的责任缩小为“调度”而不是“发明控制器”&lt;/strong&gt;；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;把真实数据中的工况结构显式利用起来&lt;/strong&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;项目目标&lt;/h2&gt;
&lt;p&gt;目前这个项目的目标分成三层。&lt;/p&gt;
&lt;h3&gt;1. 从真实数据中提炼可用工况&lt;/h3&gt;
&lt;p&gt;原始数据来自 &lt;code&gt;highD&lt;/code&gt; 和 &lt;code&gt;inD&lt;/code&gt;。离线流水线会先做：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;纵向轨迹提纯；&lt;/li&gt;
&lt;li&gt;长时域轨迹拼接；&lt;/li&gt;
&lt;li&gt;频域 GMM 聚类；&lt;/li&gt;
&lt;li&gt;再把聚类结果回切为时域窗口。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这样做的目标不是单纯做数据清洗，而是要把真实车流中可重复出现的“跟驰模态”抽出来，给后面的锚点求解和 RL 训练提供结构化输入。&lt;/p&gt;
&lt;h3&gt;2. 求出两个可解释、安全的控制锚点&lt;/h3&gt;
&lt;p&gt;离线阶段会在统一目标和统一硬约束下，分别为 &lt;code&gt;Cruising&lt;/code&gt; 与 &lt;code&gt;Stop-and-Go&lt;/code&gt; 求解两套 YK 锚点控制器。这里不仅检查频域稳定性，也做时域急停安全校验，避免出现“数学上稳，但紧急情况下不安全”的解。&lt;/p&gt;
&lt;p&gt;这一步的目标，是先得到两个足够可靠的端点控制器，再谈在线插值。&lt;/p&gt;
&lt;h3&gt;3. 让强化学习只学调度，不学底层物理&lt;/h3&gt;
&lt;p&gt;在线阶段的 RL 不直接生成控制律，而是学习调度参数 &lt;code&gt;γ&lt;/code&gt;，在两个安全锚点之间平滑切换。当前主线已经从“直接输出绝对 &lt;code&gt;γ&lt;/code&gt;”转向“输出增量 &lt;code&gt;Δγ&lt;/code&gt;”，因为这种形式更适合做平滑调节，也更贴近“逐步修正”而不是“瞬间跳变”。&lt;/p&gt;
&lt;h2&gt;现在的实现已经做到什么&lt;/h2&gt;
&lt;p&gt;到目前为止，这个项目已经不只是一个概念验证，而是形成了一条比较完整的闭环：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;离线数据流水线已经打通，从原始轨迹到 &lt;code&gt;clustered windows&lt;/code&gt; 都能落盘；&lt;/li&gt;
&lt;li&gt;权重扫描和 PSO 锚点求解已经产出 &lt;code&gt;best_weights.json&lt;/code&gt; 与 &lt;code&gt;yk_anchors.pkl&lt;/code&gt;；&lt;/li&gt;
&lt;li&gt;参考频谱已经可以离线生成，供传统 SAY-CM 频谱调度器做基线；&lt;/li&gt;
&lt;li&gt;奖励基线缓存已经预计算，训练时不用在 &lt;code&gt;reset&lt;/code&gt; 阶段反复做高代价仿真；&lt;/li&gt;
&lt;li&gt;当前训练主线已经迁移到 &lt;code&gt;delta_env + delta_train&lt;/code&gt;，也就是全车队观测、&lt;code&gt;Δγ&lt;/code&gt; 动作、5Hz 控制频率、带 TTC 惩罚项的版本；&lt;/li&gt;
&lt;li&gt;项目里已经存在两轮 &lt;code&gt;delta_sweep&lt;/code&gt; 训练目录，说明增量版实验已经实际跑起来了。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;换句话说，项目的核心结构已经从“离线锚点 + 在线调度”落到了具体脚本、缓存文件、评测脚本和实验目录上。&lt;/p&gt;
&lt;h2&gt;截至 2026 年 4 月初的阶段性效果&lt;/h2&gt;
&lt;p&gt;截至 &lt;strong&gt;2026 年 4 月 2 日&lt;/strong&gt;，项目里已有一份 &lt;code&gt;500&lt;/code&gt; 条轨迹的批量评测摘要。&lt;/p&gt;
&lt;p&gt;先看最朴素的静态锚点对比：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;静态 &lt;code&gt;γ=0&lt;/code&gt; 的 &lt;code&gt;abs_mean&lt;/code&gt; 为 &lt;code&gt;-6058.14&lt;/code&gt;；&lt;/li&gt;
&lt;li&gt;静态 &lt;code&gt;γ=1&lt;/code&gt; 的 &lt;code&gt;abs_mean&lt;/code&gt; 为 &lt;code&gt;-7228.10&lt;/code&gt;；&lt;/li&gt;
&lt;li&gt;在 &lt;code&gt;500&lt;/code&gt; 条轨迹里，&lt;code&gt;γ=0&lt;/code&gt; 赢了 &lt;code&gt;497&lt;/code&gt; 条，&lt;code&gt;γ=1&lt;/code&gt; 只赢了 &lt;code&gt;3&lt;/code&gt; 条。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这说明一件很重要的事：&lt;strong&gt;当前数据分布下，单一的 &lt;code&gt;γ=0&lt;/code&gt; 静态锚点仍然很强。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;再看当前主线的 delta 版本评测：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;delta_gamma_0&lt;/code&gt; 的 &lt;code&gt;rel_mean&lt;/code&gt; 是 &lt;code&gt;-110.85&lt;/code&gt;；&lt;/li&gt;
&lt;li&gt;几个已训练配置里，最接近它的是 &lt;code&gt;C03_ds02_wdg5_phase1__relative_norm&lt;/code&gt;，&lt;code&gt;rel_mean&lt;/code&gt; 为 &lt;code&gt;-128.08&lt;/code&gt;；&lt;/li&gt;
&lt;li&gt;其余配置大多更差，例如 &lt;code&gt;C01_ds02_wdg0_phase1__relative_norm&lt;/code&gt; 为 &lt;code&gt;-140.77&lt;/code&gt;，&lt;code&gt;C02_ds02_wdg1_phase2__relative_norm&lt;/code&gt; 为 &lt;code&gt;-308.40&lt;/code&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;所以如果只看目前这份摘要，结论也很明确：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;项目的工程链路已经跑通；&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;增量动作版 RL 已经能稳定进入可评测状态；&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;但它还没有稳定超过当前最强的静态锚点基线。&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;我觉得这反而是一个健康的阶段。因为这说明问题不在“有没有把训练脚本跑起来”，而在更核心的研究问题上：&lt;strong&gt;真实工况下，什么样的观测、奖励与课程设计，才能让调度策略真正优于固定锚点？&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;我现在更关心什么&lt;/h2&gt;
&lt;p&gt;接下来这个项目最值得继续追的，不是把系统变得更复杂，而是把“为什么 RL 还没稳定赢过静态锚点”拆清楚。当前我更关注几件事：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;relative_norm&lt;/code&gt; 奖励是否已经足够消除不同工况的天然基线偏置；&lt;/li&gt;
&lt;li&gt;两阶段课程训练能否真正把极端工况中的策略迁移到混合工况；&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Δγ&lt;/code&gt; 的动作设计、TTC 惩罚和全车队观测之间，谁在真正推动收益提升；&lt;/li&gt;
&lt;li&gt;传统频谱调度与 DMPC 基线放进同一套评价框架后，SafeRL-YK 的优势到底出现在哪一维。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;小结&lt;/h2&gt;
&lt;p&gt;如果要用一句话描述 &lt;code&gt;SafeRL-YK&lt;/code&gt; 现在所处的位置，那就是：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;它已经走过了“只讲思路”的阶段，进入了“离线安全底座基本成型，在线调度策略开始接受严格基线检验”的阶段。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;我接下来会继续把这条线往前推：一边让离线锚点更可靠，一边让 RL 真正学会在真实交通模态之间做有意义的调度，而不是仅仅复现一个静态好用的默认解。&lt;/p&gt;
</content:encoded></item><item><title>Welcome to My Blog</title><link>https://weathour.github.io/posts/welcome/</link><guid isPermaLink="true">https://weathour.github.io/posts/welcome/</guid><description>This is the English welcome post after migrating the blog to Fuwari.</description><pubDate>Fri, 03 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Welcome to my blog.&lt;/p&gt;
&lt;p&gt;This site will gradually become a place for writing about:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;autonomous driving research&lt;/li&gt;
&lt;li&gt;tool development and automation&lt;/li&gt;
&lt;li&gt;reading notes and methodology&lt;/li&gt;
&lt;li&gt;films, texts, and personal reflections&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The site currently supports:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;profile sidebar&lt;/li&gt;
&lt;li&gt;dark / light mode&lt;/li&gt;
&lt;li&gt;search&lt;/li&gt;
&lt;li&gt;archive page&lt;/li&gt;
&lt;li&gt;Chinese / English switching&lt;/li&gt;
&lt;/ul&gt;
</content:encoded></item><item><title>欢迎来到我的博客</title><link>https://weathour.github.io/posts/welcome/</link><guid isPermaLink="true">https://weathour.github.io/posts/welcome/</guid><description>这是博客迁移到 Fuwari 后的中文欢迎页。</description><pubDate>Fri, 03 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;你好，欢迎来到这里。&lt;/p&gt;
&lt;p&gt;这个博客会逐步变成一个记录以下内容的地方：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;无人驾驶相关研究&lt;/li&gt;
&lt;li&gt;工具开发与自动化&lt;/li&gt;
&lt;li&gt;阅读笔记与方法总结&lt;/li&gt;
&lt;li&gt;电影、文本与个人心得&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;目前站点已经支持：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;个人主页侧边栏&lt;/li&gt;
&lt;li&gt;深色 / 浅色模式&lt;/li&gt;
&lt;li&gt;搜索功能&lt;/li&gt;
&lt;li&gt;中文归档页&lt;/li&gt;
&lt;li&gt;中英语言切换&lt;/li&gt;
&lt;/ul&gt;
</content:encoded></item><item><title>My Long-Horizon Codex × Obsidian Handoff Workflow</title><link>https://weathour.github.io/posts/codex-obsidian-handoff-workflow/</link><guid isPermaLink="true">https://weathour.github.io/posts/codex-obsidian-handoff-workflow/</guid><description>How I simplified a heavy project-management and logging setup into a Codex-maintained long-horizon handoff workflow.</description><pubDate>Fri, 03 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Lately I have been trying to answer a simple question: &lt;strong&gt;if I want Codex to become my main handoff partner for research work, what should my workflow actually look like?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;My earlier setup looked fairly traditional: project cards in one area, daily logs in another, plus overview pages to pull tasks together. It worked, but one problem became increasingly obvious:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I was maintaining the same context over and over again.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Project goals lived in project cards. Today&apos;s work lived in the daily log. Cross-session continuation required another manual explanation. The system itself slowly became overhead.&lt;/p&gt;
&lt;p&gt;So I recently compressed the whole thing into a lighter structure: &lt;strong&gt;a four-file project memory layer + a daily log + a session archive&lt;/strong&gt;. The goal is simple: in the future I should only need to tell Codex “continue this project,” and Codex should reconstruct the rest of the context on its own.&lt;/p&gt;
&lt;h2&gt;What was wrong with the old setup&lt;/h2&gt;
&lt;p&gt;The old setup did not fail because I was not documenting enough. It failed because the documentation was &lt;strong&gt;duplicated and scattered&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;In practice, that meant:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;the project card stored long-lived goals, next steps, waiting items, and project tasks;&lt;/li&gt;
&lt;li&gt;the daily log repeated which project I was pushing that day and what remained unfinished;&lt;/li&gt;
&lt;li&gt;each new conversation required yet another manual handoff.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This created two real problems. First, the most important long-lived state did not have a single stable entry point. Second, I still had to reorganize context myself every time I resumed work.&lt;/p&gt;
&lt;p&gt;For long-horizon research, that workflow was too heavy.&lt;/p&gt;
&lt;h2&gt;The new structure I use now&lt;/h2&gt;
&lt;p&gt;I now split the workflow into three layers:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;long-lived project memory&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;daily execution&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;cross-session handoff&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;1. Long-lived project memory: the four-file set&lt;/h3&gt;
&lt;p&gt;Each active project now keeps four files:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Prompt.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Plan.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Implement.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Documentation.md&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Each file has a narrow role.&lt;/p&gt;
&lt;h4&gt;&lt;code&gt;Prompt.md&lt;/code&gt;&lt;/h4&gt;
&lt;p&gt;This stores relatively stable information:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;project goal&lt;/li&gt;
&lt;li&gt;key constraints&lt;/li&gt;
&lt;li&gt;non-goals&lt;/li&gt;
&lt;li&gt;done definition&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In other words, it answers: &lt;strong&gt;why does this project exist, and what counts as finished?&lt;/strong&gt;&lt;/p&gt;
&lt;h4&gt;&lt;code&gt;Plan.md&lt;/code&gt;&lt;/h4&gt;
&lt;p&gt;This stores stage-level execution structure:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;current phase&lt;/li&gt;
&lt;li&gt;milestones&lt;/li&gt;
&lt;li&gt;current 1–3 next actions&lt;/li&gt;
&lt;li&gt;validation rules&lt;/li&gt;
&lt;li&gt;stop rules&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It answers: &lt;strong&gt;how should this project move forward in the current stage?&lt;/strong&gt;&lt;/p&gt;
&lt;h4&gt;&lt;code&gt;Implement.md&lt;/code&gt;&lt;/h4&gt;
&lt;p&gt;This stores the operating protocol for Codex itself:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;what to read first at the beginning of a session&lt;/li&gt;
&lt;li&gt;what to update at the end&lt;/li&gt;
&lt;li&gt;what kind of information belongs in which file&lt;/li&gt;
&lt;li&gt;what should not be mixed together&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It is basically the project&apos;s own handoff contract.&lt;/p&gt;
&lt;h4&gt;&lt;code&gt;Documentation.md&lt;/code&gt;&lt;/h4&gt;
&lt;p&gt;This is the most important file. It acts as a &lt;strong&gt;single-page working memory for the current state of the project&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;It stores:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;current status&lt;/li&gt;
&lt;li&gt;known facts&lt;/li&gt;
&lt;li&gt;key judgments&lt;/li&gt;
&lt;li&gt;current risks&lt;/li&gt;
&lt;li&gt;recent progress&lt;/li&gt;
&lt;li&gt;exact next step&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If I only ask Codex to read one project file before continuing, this is the one I want it to read first.&lt;/p&gt;
&lt;h3&gt;2. Daily execution: the daily log&lt;/h3&gt;
&lt;p&gt;The daily log still exists, but its role is much smaller now.&lt;/p&gt;
&lt;p&gt;It only records:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;my top three priorities today&lt;/li&gt;
&lt;li&gt;which projects I pushed today&lt;/li&gt;
&lt;li&gt;what I actually did today&lt;/li&gt;
&lt;li&gt;key judgments, blockers, and reflections from today&lt;/li&gt;
&lt;li&gt;what I should do tomorrow&lt;/li&gt;
&lt;li&gt;what Codex should pick up next time&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So the daily log is now truly about &lt;strong&gt;today&lt;/strong&gt;, not about long-term project memory.&lt;/p&gt;
&lt;h3&gt;3. Cross-session handoff: the session archive&lt;/h3&gt;
&lt;p&gt;Besides the daily log, I keep a separate session archive:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;YYYY-MM-DD-会话NN.md&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Its only job is to help the next conversation continue smoothly. A session note records:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;what the current conversation completed&lt;/li&gt;
&lt;li&gt;which files were modified&lt;/li&gt;
&lt;li&gt;what key judgments were made&lt;/li&gt;
&lt;li&gt;what remains unresolved&lt;/li&gt;
&lt;li&gt;where the next session should resume&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This is not the main project notebook. It is a lightweight continuation bridge.&lt;/p&gt;
&lt;h2&gt;How I actually use it&lt;/h2&gt;
&lt;p&gt;The working style is now intentionally simple.&lt;/p&gt;
&lt;h3&gt;When starting work&lt;/h3&gt;
&lt;p&gt;I only need to say something like:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Continue YK-RL&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Switch to the Chinese platoon review&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Continue yesterday&apos;s direction exploration&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Then Codex reads, in order:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;the project&apos;s &lt;code&gt;Documentation.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;the project&apos;s &lt;code&gt;Plan.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;the latest relevant session archive&lt;/li&gt;
&lt;li&gt;today&apos;s daily log&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Prompt.md&lt;/code&gt; if needed&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;So I no longer prepare a long manual handoff paragraph.&lt;/p&gt;
&lt;h3&gt;When ending work&lt;/h3&gt;
&lt;p&gt;I only need to say:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Let&apos;s stop here, leave a handoff&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Write a session summary&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Record today&apos;s state&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Then Codex handles the rest:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;update the project&apos;s &lt;code&gt;Documentation.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;update &lt;code&gt;Plan.md&lt;/code&gt; if needed&lt;/li&gt;
&lt;li&gt;update today&apos;s daily log&lt;/li&gt;
&lt;li&gt;write a new session archive note&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Why this works better for me&lt;/h2&gt;
&lt;p&gt;My current work is not a single short task. It is a set of parallel long-horizon efforts: one paper that needs to be wrapped up, one review that still needs scope definition, and one future direction that needs to be compressed into a small number of viable research options.&lt;/p&gt;
&lt;p&gt;For this kind of work, what I really need is not more dashboards. I need more stable &lt;strong&gt;recoverable context&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;This structure works better because:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;long-lived information is no longer spread across project cards, daily logs, and verbal explanations;&lt;/li&gt;
&lt;li&gt;daily execution is separated from project memory;&lt;/li&gt;
&lt;li&gt;session handoff has its own lightweight layer;&lt;/li&gt;
&lt;li&gt;I am no longer the one responsible for reconstructing context — Codex is.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;At its core, this is not about “writing down more things.” It is about something more important:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;separating long-lived memory, daily execution, and cross-session handoff into clean layers.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;What I cleaned up&lt;/h2&gt;
&lt;p&gt;To make the new workflow real, I also removed several pieces of the old setup:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;the old &lt;code&gt;00-项目总览.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;the old &lt;code&gt;00-日志总览.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;the old &lt;code&gt;project_card_template.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;the old &lt;code&gt;写作计划.md&lt;/code&gt; files that used to act as part of the main workflow&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;At the same time, &lt;code&gt;项目卡.md&lt;/code&gt; is no longer treated as a large all-in-one project record. It is now a lightweight entry page.&lt;/p&gt;
&lt;p&gt;I only keep supporting notes that still have real value, such as literature classification tables, direction notes, daily logs, and session archives.&lt;/p&gt;
&lt;h2&gt;Closing&lt;/h2&gt;
&lt;p&gt;If I had to summarize the change in one sentence, it would be this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I no longer treat project management as a system that I must maintain manually; I treat it as a project memory structure that Codex can read, update, and continue.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This workflow is not trying to be sophisticated. It is trying to achieve one practical outcome: &lt;strong&gt;the next time I start working, I say one sentence and the system picks up from there.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I will keep running a few more cycles with this setup and see how much further it can be compressed and stabilized in real long-horizon research work.&lt;/p&gt;
</content:encoded></item><item><title>我的 Codex × Obsidian 长周期交接工作流</title><link>https://weathour.github.io/posts/codex-obsidian-handoff-workflow/</link><guid isPermaLink="true">https://weathour.github.io/posts/codex-obsidian-handoff-workflow/</guid><description>记录我如何把原本繁琐的项目管理与日志体系，收敛成一套由 Codex 主导维护的长期交接工作流。</description><pubDate>Fri, 03 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;过去一段时间，我一直在折腾一个问题：&lt;strong&gt;如果我以后主要和 Codex 交接工作，而不是自己维护一套复杂的项目系统，那我的研究工作流应该长什么样？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;我最开始的做法，其实很像传统的“项目卡 + 日志 + 总览页”体系：项目区里放项目卡，日志区里放今日日志，再用几个总览页把任务拉出来看。这个体系不是不能用，但它有一个越来越明显的问题：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;我总是在重复维护同一批信息。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;项目目标写在项目卡里，今天做什么写在日志里，跨会话要继续时又得重新解释一遍。结果是，系统本身变成了负担。&lt;/p&gt;
&lt;p&gt;这次我把它彻底收敛成了一套更轻的结构：&lt;strong&gt;项目四件套 + 今日日志 + 会话留档&lt;/strong&gt;。核心目标只有一个：以后我只需要对 Codex 说一句“继续推进某个项目”，剩下的上下文恢复工作由 Codex 自己完成。&lt;/p&gt;
&lt;h2&gt;旧体系的问题&lt;/h2&gt;
&lt;p&gt;旧体系的核心问题不是“没有记录”，而是&lt;strong&gt;记录太分散，而且重复&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;主要体现在三点：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;项目卡里有长期目标、下一步、waiting、项目任务；&lt;/li&gt;
&lt;li&gt;今日日志里又会重复写当天推进的项目和滚入任务；&lt;/li&gt;
&lt;li&gt;每次换一个新会话，还得再做一遍口头 handoff。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这会带来两个后果：&lt;/p&gt;
&lt;p&gt;第一，真正重要的长期状态没有被压缩成一个稳定入口；第二，我每次开工前都还要自己重新组织上下文。&lt;/p&gt;
&lt;p&gt;对于长周期研究工作来说，这样的流程太重了。&lt;/p&gt;
&lt;h2&gt;我现在采用的新结构&lt;/h2&gt;
&lt;p&gt;现在我把整个工作流拆成三层：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;项目长期记忆层&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;当天执行层&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;跨会话交接层&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;具体对应的文件结构是：&lt;/p&gt;
&lt;h3&gt;1. 项目长期记忆层：四件套&lt;/h3&gt;
&lt;p&gt;每个活跃项目都维护四个文件：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Prompt.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Plan.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Implement.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Documentation.md&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;它们各自分工很明确。&lt;/p&gt;
&lt;h4&gt;&lt;code&gt;Prompt.md&lt;/code&gt;&lt;/h4&gt;
&lt;p&gt;这里放相对稳定的信息：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;项目目标&lt;/li&gt;
&lt;li&gt;关键约束&lt;/li&gt;
&lt;li&gt;非目标&lt;/li&gt;
&lt;li&gt;done 标准&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;也就是说，这个文件回答的是：&lt;strong&gt;这个项目到底为什么做、做到什么算结束。&lt;/strong&gt;&lt;/p&gt;
&lt;h4&gt;&lt;code&gt;Plan.md&lt;/code&gt;&lt;/h4&gt;
&lt;p&gt;这里放阶段性推进结构：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;当前阶段&lt;/li&gt;
&lt;li&gt;里程碑&lt;/li&gt;
&lt;li&gt;当前 1–3 个下一步&lt;/li&gt;
&lt;li&gt;验证方式&lt;/li&gt;
&lt;li&gt;stop rules&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;它回答的是：&lt;strong&gt;接下来这一段时间怎么推进。&lt;/strong&gt;&lt;/p&gt;
&lt;h4&gt;&lt;code&gt;Implement.md&lt;/code&gt;&lt;/h4&gt;
&lt;p&gt;这里放 Codex 自己要遵守的交接协议：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;每次开始先读什么&lt;/li&gt;
&lt;li&gt;每次结束要更新什么&lt;/li&gt;
&lt;li&gt;哪类信息应该写到哪个文件&lt;/li&gt;
&lt;li&gt;什么内容不要乱放&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;它更像“项目自己的操作手册”。&lt;/p&gt;
&lt;h4&gt;&lt;code&gt;Documentation.md&lt;/code&gt;&lt;/h4&gt;
&lt;p&gt;这是最关键的一个文件，相当于&lt;strong&gt;项目当前状态的单页记忆&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;这里会保留：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;当前状态&lt;/li&gt;
&lt;li&gt;已知事实&lt;/li&gt;
&lt;li&gt;关键判断&lt;/li&gt;
&lt;li&gt;当前风险&lt;/li&gt;
&lt;li&gt;最近进展&lt;/li&gt;
&lt;li&gt;下一步&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果下次开工我只让 Codex 先读一个文件，那我会优先让它读这个。&lt;/p&gt;
&lt;h3&gt;2. 当天执行层：今日日志&lt;/h3&gt;
&lt;p&gt;今日日志继续保留，但职责被大幅收缩。&lt;/p&gt;
&lt;p&gt;它现在只负责写：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;我今天最重要的 3 件事&lt;/li&gt;
&lt;li&gt;我今天推进的项目&lt;/li&gt;
&lt;li&gt;我今天做了什么&lt;/li&gt;
&lt;li&gt;我今天的关键判断 / 卡点 / 反思&lt;/li&gt;
&lt;li&gt;我明天优先做什么&lt;/li&gt;
&lt;li&gt;下次需要 Codex 接着做什么&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;也就是说，&lt;strong&gt;今日日志只负责“今天”&lt;/strong&gt;，不再承担长期项目主档案的角色。&lt;/p&gt;
&lt;h3&gt;3. 跨会话交接层：会话留档&lt;/h3&gt;
&lt;p&gt;除了今日日志之外，我还保留一层单独的会话留档：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;YYYY-MM-DD-会话NN.md&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这里专门写给“下一个会话”的 handoff，内容包括：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;本次会话完成了什么&lt;/li&gt;
&lt;li&gt;修改了哪些文件&lt;/li&gt;
&lt;li&gt;形成了哪些关键判断&lt;/li&gt;
&lt;li&gt;还有哪些未完成 / 风险点&lt;/li&gt;
&lt;li&gt;下一次应该从哪里继续&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这个文件的定位很明确：&lt;strong&gt;它不是长期项目档案，而是跨会话续接的桥。&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;这套流程怎么实际使用&lt;/h2&gt;
&lt;p&gt;工作方式已经被我压缩得很简单。&lt;/p&gt;
&lt;h3&gt;开始工作时&lt;/h3&gt;
&lt;p&gt;我以后只需要说一句：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;继续推进 YK-RL&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;切到车辆队列中文综述&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;继续昨天那个方向判断&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;然后 Codex 自己按顺序去读：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;项目的 &lt;code&gt;Documentation.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;项目的 &lt;code&gt;Plan.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;最近一次相关会话留档&lt;/li&gt;
&lt;li&gt;当天日志&lt;/li&gt;
&lt;li&gt;必要时再读 &lt;code&gt;Prompt.md&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;也就是说，我不再手工准备一长段交接背景。&lt;/p&gt;
&lt;h3&gt;结束工作时&lt;/h3&gt;
&lt;p&gt;我只需要说：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;今天先到这里，帮我留档&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;做个交接总结&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;把今天状态记下来&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;然后 Codex 自己完成：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;更新项目 &lt;code&gt;Documentation.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;必要时更新 &lt;code&gt;Plan.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;更新今日日志&lt;/li&gt;
&lt;li&gt;写新的会话留档&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;这个改法为什么更适合我&lt;/h2&gt;
&lt;p&gt;我现在的工作不是单个短任务，而是多个并行推进的长周期研究：例如一篇要收尾的论文、一篇要定边界的综述、一个准备转向的新研究方向。&lt;/p&gt;
&lt;p&gt;这类工作真正需要的，不是更多表格，而是更稳定的&lt;strong&gt;可恢复上下文&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;新的结构更适合我的原因是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;长期信息不再散落在项目卡、日志、口头补充里；&lt;/li&gt;
&lt;li&gt;当天执行和长期状态被拆开了；&lt;/li&gt;
&lt;li&gt;会话 handoff 有了专门的轻量层；&lt;/li&gt;
&lt;li&gt;我不再负责“整理上下文”，而是让 Codex 去读和压缩上下文。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;本质上，这不是在“多记一点”，而是在做一件更重要的事：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;把长期记忆、当天执行和跨会话交接彻底分层。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;我清理掉了哪些旧东西&lt;/h2&gt;
&lt;p&gt;为了让新流程真正生效，我也顺手删掉了几类旧式文件：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;旧的 &lt;code&gt;00-项目总览.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;旧的 &lt;code&gt;00-日志总览.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;旧的 &lt;code&gt;project_card_template.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;各项目里原本承担主流程功能的 &lt;code&gt;写作计划.md&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;与此同时，原来的 &lt;code&gt;项目卡.md&lt;/code&gt; 也不再承担大段主档案功能，而是被改成轻量入口页。&lt;/p&gt;
&lt;p&gt;我只保留那些仍然有支持价值的材料，例如文献分类表、方向判断笔记、以及日常日志和会话留档。&lt;/p&gt;
&lt;h2&gt;结尾&lt;/h2&gt;
&lt;p&gt;如果要用一句话概括这次调整，我会这样说：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;我不再把项目管理当成“我要手工维护的一套系统”，而是把它变成“Codex 可以主动读取和续接的一组项目记忆文件”。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;这套工作流并不追求复杂，而是追求一件事：&lt;strong&gt;下一次开始工作时，我只说一句话，系统就能自己接上。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;接下来我会继续用这套结构跑几轮，看看它在实际长周期研究推进中还能怎么再压缩、再稳定。&lt;/p&gt;
</content:encoded></item></channel></rss>