多会话任务为何丢失连续性:learn-harness-engineering 的上下文持久化与状态恢复实战

发布时间:2026/9/24 0:25:22

多会话任务为何丢失连续性:learn-harness-engineering 的上下文持久化与状态恢复实战 【免费下载链接】learn-harness-engineeringHarness engineering beginner tutorial, from 0 to 1项目地址https://gitcode.com/gh_mirrors/le/learn-harness-engineering点击查看免费下载本技术指南以 learn-harness-engineering 仓库中《講義 05. セッションをまたいでコンテキストを保つ》为核心深入剖析 AI 编码代理在跨会话长任务中失忆的根本原因——上下文窗口有限、早期收敛、状态漂移——并给出以连续性工件continuity artifacts为核心的系统化解决方案。读完本文你将掌握 PROGRESS.md / DECISIONS.md / Git 检查点 / init.sh 这四件套的落地写法理解压缩 vs 重置的取舍并能通过仓库自带的会话模拟器与 Project 03 实战项目验证效果。问题长任务为什么必然丢失连续性向 Claude Code 这样的编码代理下达一个完整功能实现任务它运行 30 分钟后接近完成但上下文即将耗尽。你开启一个新会话让它继续——结果它不记得之前做过哪些决策、为什么选方案 A 而不选方案 B、哪些文件已被修改、测试处于什么状态。它花 15 分钟重新探索项目甚至可能做出与上一轮自相矛盾的选择。这就像一个每天醒来就失忆的工匠需要重新熟悉整个工地——哪面墙砌了一半、为什么选了红砖而不是蓝砖、管道铺到哪了。更糟的是它可能因为不记得昨天已装好窗户而把它拆掉重来。该讲义的核心判断是这不是模型缺陷而是客观现实。上下文窗口是有限资源且窗口内信息的增长速度远快于窗口本身的扩张——即使窗口涨到 1M token复杂任务依然会用尽因为代理不仅要生成代码还要理解代码库、追踪自身决策历史、处理工具输出、维持对话上下文。更深层的问题是信息重要度不均匀中间推理步骤包含决策的为什么——为什么选 A 不选 B、为什么用这个库不用那个库、为什么跳过某项优化最终输出只包含做了什么——即代码本身。压缩策略通常保留后者、丢失前者。下一个会话能看到代码却不知道代码为何这样写于是可能把有意的设计决策当成可优化项优化掉。此外Anthropic 在长时运行代理研究中观察到上下文焦虑context anxiety代理感到上下文所剩不多时会表现出早期收敛行为——仓促收尾当前工作、跳过验证步骤、选择比最优解更简单的方案如同考试快结束时给选择题乱填答案。会话连续性流程有工件与无工件的对比没有连续性工件时每个新会话都是一场灾难有了连续性工件新会话可以立即恢复核心概念一览上下文窗口有限无论标称多大128K、200K、1M长任务终会用尽。用尽后只能压缩丢信息或重置开新会话两者都有代价。连续性工件让新会话能明确接续上次会话的持久化状态文件基本形态是进度日志 验证记录 下一步动作——就是那位失忆工匠的日记。重建成本rebuild cost新会话达到可执行状态所需的时间。好的 harness 能把重建成本从 15 分钟压缩到 3 分钟。漂移drift代理的理解与代码仓库真实状态之间的偏差。每个会话边界都会产生漂移不加以控制就会复利式累积。上下文焦虑Anthropic 观察到的现象——代理感知到上下文受限时表现出早期收敛为规避信息损失而提前结束任务属于非理性的资源焦虑。压缩 vs 重置压缩在同一会话内摘要上下文保留做了什么可能丢失为什么重置则开启新会话、从持久化状态重建干净但依赖工件完整性。连续性被破坏时会发生什么重复决策上一会话花大量上下文预算分析三种方案后选定 B本会话的代理不知道这次分析基于不完整信息可能重选 A。就像失忆工匠今天觉得蓝砖更好看推倒昨天的墙重砌。重复劳动代理不确定某工作是否已完成于是再做一遍更糟的是做了一半才发现与既有实现冲突推倒重来。没有进度记录新团队根本不知道已经有人在这面墙上施工。需求漂移跨越多会话后实现方向在不知不觉中偏离原始需求。每个新会话对项目目标的理解都略有不同如同传话游戏十个人传下来帮我买咖啡可能变成帮我买台咖啡机。验证缺口上一会话的验证结果哪些测试过、哪些失败、为何失败没有记录新会话为理解当前状态必须重跑全部验证每次都从零开始重新诊断每次都浪费宝贵上下文。OpenAI 与 Anthropic 的官方文档都强调结构化状态持久化OpenAI 的 harness engineering 文章把仓库视为运维记录system of record所有操作结果都应在仓库留下可追溯证据Anthropic 的长时运行代理文档则明确推荐handoff 文件——包含当前状态、已知问题、下一步动作的结构化文档。失忆工匠的日记四大连续性工具核心方法论一句话把代理当作一位失忆的优秀工程师来对待。它在下班前必须把关键信息写下来让下一班次的代理能立即接手。工具 1进度文件PROGRESS.md最基本的连续性工件日记的核心。注意其固定结构当前状态commit 哈希、测试通过率、已完成、进行中、已知问题、下一步# Project Progress ## Current State - Latest commit: abc1234 (feat: add user preferences endpoint) - Test status: 42/43 passing (test_pagination_edge_case failing) - Lint: passing ## Completed - [x] User model and database migration - [x] Basic CRUD endpoints - [x] Auth middleware integration ## In Progress - [ ] Pagination feature (90% - edge case test failing) ## Known Issues - test_pagination_edge_case returns 500 on empty result sets - Need to confirm whether deleted users should appear in listings ## Next Steps 1. Fix pagination edge case bug 2. Add include deleted users query parameter 3. Update API documentation工具 2决策日志DECISIONS.md记录重要设计决策及其理由。不需要详尽设计文档——只要决定了什么、为什么、什么时候像日记里的便签# Design Decisions ## 2024-01-15: Use Redis for user preferences caching - Reason: High read frequency (every API call), small data size - Rejected alternative: PostgreSQL materialized view (high change frequency makes maintenance cost not worthwhile) - Constraint: Cache TTL of 5 minutes, active invalidation on write工具 3Git 提交作为检查点每完成一个原子工作单元就提交一次提交信息写明做了什么和为什么。提交是免费、自动版本化的状态快照——它精确记录了仓库在某时刻的状态供新会话恢复。工具 4init.sh 或 harness 初始化流程在 AGENTS.md 中指定上班与下班例行程序## At session start (clock in) 1. Read PROGRESS.md for current state 2. Read DECISIONS.md for important decisions 3. Run make check to confirm repo is in consistent state 4. Continue from PROGRESS.md Next Steps section ## Before session end (clock out) 1. Update PROGRESS.md 2. Run make check to confirm consistent state 3. Commit all completed work混合策略并非所有任务都需要上下文重置短任务30 分钟以内可在单会话内完成长任务跨会话必须用进度文件与决策日志保证连续性。判断标准当任务预计消耗窗口的 60% 以上时就开始准备 handoff。上下文焦虑压缩 vs 重置的深入取舍Anthropic 2026 年 3 月的研究进一步揭示了上下文焦虑的具体表现Sonnet 4.5 在上下文接近窗口上限时表现出强烈的早期收敛行为。对此有两种应对策略压缩在同一会话内摘要早期对话。优点保持连续性代理仍能看到做了什么缺点摘要常常丢失为什么——为何选 B 不选 A、为何跳过某项优化。更重要的是压缩并不能消除上下文焦虑——代理知道自己上下文曾经很大心理上仍倾向匆忙收尾。上下文重置完全清空上下文开启新会话从持久化工件重建。优点精神清爽新会话没有时间不够的焦虑缺点完全依赖 handoff 工件的完整性——日记缺了关键信息新会话就可能把时间浪费在错误方向上。Anthropic 的实际数据表明Sonnet 4.5 的上下文焦虑严重仅靠压缩不够上下文重置成为 harness 设计的重要组件而 Opus 4.5 该行为显著减少可主要依赖压缩管理上下文。这推导出关键结论harness 设计必须针对目标模型具体定制不存在万能模板。讲义出处注明Anthropic Harness design for long-running application development 与 Effective Harnesses for Long-Running Agents 研究具体结论以模型实际行为为准。仓库实证会话模拟器与 handoff 模板讲义配套的 code 目录提供了可直接运行和对照的素材见 code 目录session-simulator.ts量化对比有无 handoff 的差异session-simulator.ts 用 6 个带耗时的任务步骤模拟两个会话Run 1无 handoffSession A 完成步骤 1–3 后超时Session B 无上下文从步骤 1 重新开始重复完成 1–3duplicatedSteps 3多耗 190ms 的重复劳动Run 2有 handoffSession A 完成 1–3 并写 handoff 文件Session B 读取后从步骤 4 继续duplicatedSteps 0。运行方式注意以仓库根目录为基准npx tsx docs/ja/lectures/lecture-05-why-long-running-tasks-lose-continuity/code/session-simulator.ts输出包含两个 Run 的完整步骤日志与对比表Session A/B 完成步骤数、重复步骤数、总工作量、handoff 节省的时间是演示handoff 消除重复工作、保障跨会话连续性的最直观证据。session-handoff.md 与 continuity-checklist.mdcode/session-handoff.md 给出一个真实形态的 handoff 示例只有三块已完成、损坏或未验证、下一步最优步骤——例如.md导入成功但大.txt文件失败应用能启动但详情视图未接上下一步则是修复.txt导入路径 → 端到端验证导入 → 添加文档详情面板。这正是讲义中四字段模板的落地变体。code/continuity-checklist.md 提供会话开始时的自检四问新代理能否在 5 分钟内定位近期工作当前稳定的启动路径是否已文档化未完成工作是否被明确标识不读旧聊天记录能否看到下一个最优任务实战项目佐证Project 03 的多会话连续性讲义指向 Project 03: Multi-Session Continuity在英文版讲义中作为配套实践项目日文版讲义同样引用该项目。该项目的 solution 目录把讲义理论全部实例化solution/session-handoff.md 是真实填写完成的 handoff记录 Last Session 日期、What Was Accomplished元数据抽取、文档分块、索引状态 UI、带引用的 grounded QA 四项功能及实现细节、What Remains、Decisions Made为何在导入时抽取元数据而非惰性抽取、为何按段落感知切分、Files Modified列出src/services/indexing-service.ts、src/renderer/components/StatusBar.tsx等具体文件、BlockersNone、Next Steps进入 Project 04——与讲义做了什么 / 为什么 / 下一步完全对应。solution/AGENTS.md 实现了讲义中的上班例行程序启动时按顺序读 AGENTS.md → 读架构与产品文档 →npm install npm run check验证构建 → 读 feature_list.json 查看功能状态并规定一次只做一个功能纪律one-feature-at-a-time policy选一个 not-started 功能 → 只实现它 → 验证 → 更新 feature_list.json 为 pass 并附证据 → 提交提交信息引用功能 ID→ 才进入下一个。这正对应讲义下班前更新进度文件 确认一致状态 提交全部已完成工作的检查点思想。solution/clean-state-checklist.md 是讲义验证记录的扩展构建验证npm run check零 TypeScript 错误、npm run build产出 dist/、功能验证逐条勾选窗口、导入、元数据、分块、索引状态、引用回答、持久化等、范围控制验证feature_list.json 全 pass、无 fail/not-started、代码质量与文档验证session-handoff.md 已填写、claude-progress.md 有会话日志。该项目的真实运行数据也印证讲义核心论点跨 5 个会话的实现任务靠 session-handoff.md 把会话 2 的重建成本降到约 3 分钟最终 11 个功能全部 pass。实例对比有日记与没日记的 5 个会话讲义用一个用户认证博客系统12 个功能点、预计 5 个会话的实例做量化对比无日记基线会话 1 实现用户模型与基础路由会话 2 代理不记得认证中间件的接口契约花约 15 分钟猜测上一轮设计意图到会话 3 漂移累积代理开始重实现已完成功能到会话 5仓库里大量冗余代码核心认证功能仍未通过端到端测试——12 个功能点只完成 7 个其中 3 个还有隐藏正确性问题。像从不写日记的工匠第 5 天工地上乱成一团有的墙砌了两遍该砌的墙还没动工。有日记使用进度文件、决策日志、验证记录与 Git 检查点每个会话结束自动更新状态报告会话 2 的重建成本降到约 3 分钟到会话 512 个功能点全部完成并验证。量化对比重建时间减少约 78%功能完成率从 58% 提升到 100%隐藏缺陷率从 43% 降到 8%。工匠依然失忆但有了日记每天从昨天停下的地方继续而不是从零开始。关键要点上下文窗口是有限资源长任务必然跨会话会话必然丢失信息——像每天遗忘的工匠这是客观现实。解决方案不是更大的窗口而是更好的状态持久化进度文件 决策日志 Git 检查点给失忆工匠一本可靠的日记。把代理当作失忆的工程师对待下班前写清做了什么、为什么、下一步做什么。重建成本是核心指标好的 harness 应让新会话在 3 分钟内进入可执行状态。采用混合策略短任务在会话内完成长任务用结构化工件保障连续性。练习测量连续性损失选一个需要 3 个以上会话的开发任务。不提供任何连续性工件记录每个会话开始时代理花多少上下文搞清上次发生了什么每个会话结束后创建进度文件并让下一会话从它开始比较有无进度文件的重建成本。设计 handoff 模板设计包含四个字段的最小 handoff 模板——仓库状态commit 哈希、运行状态测试通过率、阻塞项、下一步动作。让一个全新代理会话仅凭该模板恢复项目状态记录恢复中遇到的歧义并迭代改进模板可参考 code/session-handoff.md 的形态。混合策略实验在 5 会话的开发任务中比较三种策略(a) 每次都开新会话 进度文件(b) 单会话内尽量多做上下文压缩(c) 混合策略短任务会话内完成、长任务跨会话 进度文件。对比重建时间、功能完成率与决策一致性。进一步探索完整讲义见 日语版 Lecture 05配套实践项目见 Project 03其 solution 目录 中的 session-handoff.md、AGENTS.md 与 clean-state-checklist.md 是可直接对照学习的完整 harness 工件样例。赞分享【免费下载链接】learn-harness-engineeringHarness engineering beginner tutorial, from 0 to 1项目地址https://gitcode.com/gh_mirrors/le/learn-harness-engineering点击查看免费下载相关推荐Learn Harness Engineering 实战Session Handoff 会话交接文件——让跨会话长任务不再丢失连续性Learn Harness Engineering 实战Session Handoff 会话交接文件——让跨会话长任务不再丢失连续性 本篇技术指南以 learLearn Harness Engineering用 Session Handoff 文档修复长任务的跨会话连续性Learn Harness Engineering用 Session Handoff 文档修复长任务的跨会话连续性 导读在 Learn Harness En长任务连续性丢失与 harness 状态持久化用 PROGRESS.md、DECISIONS.md 与 Git 检查点让 Agent 跨会话无缝续作长任务连续性丢失与 harness 状态持久化用 PROGRESS.md、DECISIONS.md 与 Git 检查点让 Agent 跨会话无缝续作 导读 本创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/24 0:20:21

PSO-LSTM优化股票调整收盘价预测:超参数搜索与源码实践

简介:基于PSO-LSTM神经网络的股票调整收盘价预测Python源码,面向金融数据分析、深度学习方向的课程设计与期末大作业场景,适合需要完成预测类项目但缺乏完整代码参考的高校学生与初学者。资源利用粒子群算法优化LSTM超参数,实现对…

2026/9/24 0:20:21

AE抠像原理与实战:从Keylight到Alpha通道的完整技术指南

做合成这行,几乎每个人都是从“抠像”开始入门的。我刚接触AE那会儿,一度以为抠像就是把Keylight往素材上一拖,用吸管点一下背景色,画面就干干净净地分出来了。直到第一次对着一个绿幕素材抠了三个小时,边缘还是绿乎乎…

2026/9/24 0:20:21

岩石矿物YOLO数据集详解与训练避坑指南

简介:面向地质学与矿业智能识别场景,这份“岩石表面矿物质检测数据集”提供超过1000张高分辨率岩石图片及对应标注,覆盖石英、斑铜矿、黄铁矿等8类矿物,适合使用YOLO系列目标检测算法开展训练与验证的算法工程师、地质科研人员及入…

2026/9/24 1:30:24

技术成果转化三级流程:从研究到产品的可落地操作系统

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 1:30:24

医用无菌热合包装机哪家生产厂家好

在一次性医用耗材和医疗器械生产环节里,无菌屏障系统的完整性直接关系到产品放行。纸塑袋、透析纸PE膜结构的热封质量,决定了灭菌后能否维持无菌状态。也正因如此,"医用无菌热合包装机哪家生产厂家好"成了不少从业者入行或扩产时反…

2026/9/24 1:30:24

校园网IPv4/IPv6平滑过渡三大实战方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 1:30:24

MySQL 内核实战(2):B+Tree 索引与最左前缀

问题背景 上一篇算清了"页"的账:一行数据带着记录头、NULL 位图和变长列表挤进 16KB 的页,页满就分裂。但那些页之间还只是零散文件,本篇解决下一个问题:三千万行的表,为什么 WHERE id8765432 只读三四个页就…

2026/9/23 12:07:00

GAMP 5 基于风险的计算机化系统验证:软件分类与审计追踪实践

简介:《A Risk-Based Approach to Compliant GxP Computerized Systems》即业内熟知的GAMP 5指南,面向制药企业质量与IT合规人员、验证工程师及计算机化系统管理者,用于解决GxP法规环境下系统合规性难以科学落地的问题。文档以风险管理为主线…

2026/9/23 12:06:55

安全托管MSSP实战:从静态防御到人机协同的攻防运营与应急响应

简介:这份PPT围绕互联网业务安全托管服务展开,面向企业安全负责人、IT运维人员及关注MSSP/MSS选型的读者,重点回应传统安全过度依赖人工、碎片化静态防御难以对抗产业化攻击等痛点。资源共1个pptx文件,包体约30.63MB,以…

2026/9/24 0:00:21

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为…

2026/9/24 0:00:21

单细胞注释实战:基于Scanpy的标记基因与参考映射流程解析

简介:一份基于单细胞RNA测序数据的细胞类型注释算法研究Python毕业设计源码,针对计算机相关专业正在做毕设或需要项目实战的学习者,可用于课程设计与期末大作业。项目代码完整、经导师指导评审通过,可直接运行,覆盖数据…

2026/9/24 0:00:21

C#源生成器实战:用增量生成器替代反射,告别AOT崩溃

第一次在项目里被反射卡住,是在一个老旧的WinForms模块里:几十个类依赖PropertyChanged通知,运行时反射读属性、发通知,每次启动慢半拍不说,一上.NET Native/AOT裁剪模式几乎全面崩盘。后来我把这段逻辑全部改成C#源生…

2026/9/22 16:34:32

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/22 20:01:30

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/22 13:25:41

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码