首页
/ Task Group: <cwd / project / workflow / detail-task family; broad but distinguishable>

Task Group: <cwd / project / workflow / detail-task family; broad but distinguishable>

2026-09-06 12:46:02作者:虞亚竹Luna

scope: <what this block covers, when to use it, and notable boundaries> applies_to: cwd=<primary working directory, cwd family, or workflow scope>; reuse_rule=


- `Task Group` 面向检索,粒度按记忆密度选 cwd / 项目 / 工作流 / 细粒度任务家族;
- `scope:` 面向快速扫读,短且可操作;
- `applies_to:` **必填**,用 cwd/checkout 边界防止未来 Agent 把不同工作目录下相似任务混淆。

### 7.2 正文(任务导向,严格)

- 使用"标题 + 列表"的任务分组结构,禁止扁平 bullet 堆;块头是索引,正文是任务级细节;
- 任务列表前置,让路由锚点(`rollout_summary_files`、`keywords`)先于合并指导出现;
- 任务列表之后按需提供块级 `## User preferences`、`## Reusable knowledge`、`## Failures and how to do differently`——这些小节从所代表任务中合并而来,要"保留好东西而不抹平";
- 每个 `## Task <n>` 小节只含任务局部的 rollout 文件与任务局部关键词;
- 列表统一用 `-`,禁止 `*`;正文禁止加粗。

强制的任务正文骨架:

```markdown
## Task 1: <task description, outcome>

### rollout_summary_files

- <rollout_summaries/file1.md> (cwd=<path>, rollout_path=<path>, updated_at=<timestamp>, thread_id=<thread_id>, <optional status/usefulness note>)

### keywords

- <keyword1>, <keyword2>, <keyword3>, ... (单行逗号分隔;任务局部检索抓手:工具名、错误串、仓库概念、API/契约)

## Task 2: <task description, outcome>
...

## User preferences
- when <situation>, the user asked / corrected: "<短引用或近原文请求>" -> <应影响未来类似运行的操作风格指导> [Task 1]

## Reusable knowledge
- <任务组级合并的已验证仓库/系统事实、可复用流程、决策触发器、具体 know-how> [Task 1]

## Failures and how to do differently
- <任务组级合并的 症状 -> 原因 -> 修复/转向指导> [Task 1]

7.3 五条 Schema 规则(A–E)

  • A 结构与一致性:精确块形状为 # Task Group + scope: + 可选 ## User preferences + 一个或多个 ## Task <n>(任务节必须在块级合并节之前);有真实偏好信号就必须含 ## User preferences,只有真正无物可存才省略;禁止占位值(# Task Group: miscscope: general## Task 1: task 等)。
  • B 任务边界与聚类:基本组织单元是任务而非 rollout 文件;默认映射"一个连贯 rollout 摘要 → 一个 MEMORY 块 → 一个 ## Task 1";rollout 含多个不同任务要拆节、跨任务家族要拆块;同一 rollout 文件可出现在多个任务节甚至多个块中,但每次出现必须贡献不同的任务局部路由价值;不得仅凭关键词重叠聚类;cwd 上下文不同而任务措辞相似时默认分块;拿不准时保留边界而不是过度聚类。
  • C 溯源与元数据:每个任务节必含 ### rollout_summary_files### keywords;偏好小节应能追溯到同块任务并用 [Task 1] 引用;Phase 1 的任务级 Preference signals: / Reusable knowledge: / Failures and how to do differently: 分别是三个块级小节的主来源;每条 rollout 注解必须含 cwd=rollout_path=updated_at=(缺失时从 raw_memories.md 恢复)。
  • D 检索与引用:关键词要有区分度且任务局部;任务局部路由抓手放任务节,持久 know-how 放块级三节;高价值失败护盾不得藏进泛化摘要里;引用技能只用正文 bullet(如 - Related skill: skills/<skill-name>/SKILL.md),技能目录名小写连字符。
  • E 排序与冲突:顶层块按预期未来效用排序,以新近性为强默认代理(块内最新 updated_at);updated_at 是一等信号,更新的已验证证据通常胜出;新证据实质性改变某任务家族指导时更新该块并考虑上移;增量更新中未变旧块保持稳定顺序;证据冲突且验证不明时显式保留不确定性;块级合并节用 [Task n] 引用做合并/去重/裁决。

7.4 "写什么":措辞保留原则与认知状态

模板 "What to write" 一节是全文最细的行为规范,核心可归纳为五条原则:

  1. 措辞保留规则(wording-preservation):来源中已有简洁可搜索短语时保留原话而非改写成更顺的抽象句。模板直接给了正反例——坏:the user prefers evidence-backed debugging;好:when debugging, the user asked / corrected: "check the local cloudflare rule and find out. Don't stop until you find out" -> trace the actual routing/config path before answering。用户消息、description: 行、Preference signals:、精确错误串/API 名/参数名/文件名/命令是优先保留对象;多个来源近似重复时保留其中一个原始措辞加最少黏合语,不新造"伞句"。
  2. 检索偏置:保留未来 grep 会用到的特征名词与逐字串(模板举例:File URL is invalidno_biscuit_no_servicefilename_starts_withapi.openai.org/v1/files 等);高权重于用户消息、用户明确采纳、代码/工具证据,低权重于助手自撰建议(尤其探索性设计/命名讨论)。
  3. 偏好优先压缩:先抽取候选用户偏好与重复纠偏模式,再做聚类与程序性知识压缩,"不要让流程回顾吃掉全部压缩预算";## Reusable knowledge 只放事实、已验证流程与失败护盾,不放助手观点或排名。
  4. 认知状态(epistemic status)分层:已验证的仓库/工具事实可直接陈述;显式用户偏好稳定时可提升;由重复跟进推断的偏好谨慎提升且让推断来源可见;助手提议、探索讨论、一次性判断保持局部、降级或删除,除非后续证据表明其成立。
  5. 块的价值密度MEMORY.md 不需要激进地短,它是"比 summary 丰富具体、比 rollout summary 聚合"的持久中间层;每个块应自成一体且实质上比 memory_summary.md 更丰富——包含最能预测下次 Agent 行为的用户偏好、具体触发器/可复用流程/决策点/失败护盾、结果特异的备注(什么成了、什么败了、什么仍不确定)、cwd 作用域与不匹配警告、作用域边界/防漂移注记、以及新证据改变旧指导时的过期/冲突注记。

写入流程也被明确:先基于 raw_memories.md 全量清单建 rollout_summary_file -> 目标任务组/任务 的草稿映射(一个 rollout 可属多任务),再在以下情形深挖 rollout_summaries/*.md——任务高价值需更丰富细节、多个 rollout 重叠需冲突/过期裁决、raw memory 措辞过简无法自信合并、需要更强证据或用户反馈。

八、memory_summary.md 严格格式:提示词加载层的密度工程

8.1 文件头与 schema 重置

文件必须恰好以如下开头:

v1

## User Profile

首行无前后空白、无 frontmatter。既有文件首行不是 v1 时,丢弃旧结构,从定稿的 MEMORY.md、skills 与当前 rollout 证据整体重建。这一规则不是纸面约定,而是代码层强校验:validate_consolidation_artifacts 会读取 memory_summary.md 首行并断言等于 v1,否则整个 Phase 2 任务以 failed_invalid_artifacts 失败(workspace.rs#L49-L74phase2.rs#L420-L429)。同时 MEMORY.md 必须存在且是普通文件。

8.2 密度目标(STRICT)

memory_summary.md 是提示词加载上下文,按"每 token 信号量"优化:只留高层跨任务信号与简短路由摘要;细节、溯源、runbook、任务局部细微差别全部下沉到 MEMORY.md/skills/rollout summaries;激进去重(两条 bullet 若引发相同未来行为或路由到同一 MEMORY.md 区域就合并);偏好短而具体的 bullet,删掉不改变未来行为的低信号限定语、示例与历史细节。

8.3 四个顶层小节

  1. ## User Profile(自由体,≤350 词):用户快照,只用已知信息不猜测,优先稳定可操作细节;内容包括其角色/关心最多的事、典型工作流与工具、沟通偏好(语气、结构、什么惹恼他们、"好"长什么样)、可复用的约束与坑、可主动满足的重复跟进模式、以及 MEMORY.md ## User preferences 中保存的稳定操作偏好。对画像推断保持保守:不把一次性会话印象、讨好式评价或孤立互动变成持久画像断言;可以以真实且有用的简短趣闻收尾,但不得让结尾风格化反噬主体。
  2. ## User preferences(本节的主要可执行负载):专用 bullet 列表,收录"不太可能只在一个任务组内再次重要"的偏好;比 User Profile 更具体更易执行;默认做法是从 MEMORY.md ## User preferences 提升或轻度改写强 bullet,而不是重写成更平滑的高层总结;短引用/近原文短语有助识别或 grep 时保留该短语;相邻偏好合并的前提是它们不会改变不同的未来默认值;用"省略它是否会让下次 Agent 更需要额外用户纠偏"作为取舍判据;推断性证据要诚实标注认知状态。
  3. ## General Tips:对几乎每次运行都有用的信息,尤其帮助 Agent 随时间自我改进的学习;偏好持久可操作指导,短描述优先;示例类别:协作偏好、工作流与环境(OS/shell、仓库布局约定、常用命令)、决策启发式、工具习惯(有效工具调用顺序、好搜索关键词、减少 churn)、验证习惯(用户对测试/lint/合理性检查的预期、"完成"意味着什么)、坑与修复(复发失败模式、要警惕的症状/错误串、已验证修复)、可复用产物(模板/清单/片段及其使用时机)、效率技巧(减少工具调用/token、停止规则、何时换策略);对"帮 Agent 主动做用户常需反复要求的事、避免触发打断的越界"的条目加权。
  4. ## What's in Memory(密集路由索引,非迷你手册):告诉未来 Agent 先搜什么、保留足够具体度以便快速路由到正确的 MEMORY.md 块、主题描述从简、删除过期/重复/低信号主题。选题质量规则:先按 cwd/项目作用域再按主题组织;拆分为"近期高效用窗口"与"较旧主题";不设固定主题数;按任务家族/工作流意图而非偶然工具重叠分组;效用排序、updated_at 新近性为强默认代理;每条主题 bullet 必含主题、关键词、清晰描述;关键词必须可直接在 MEMORY.md 中 grep(仓库/项目名、用户查询短语、工具名、错误串、命令、文件路径、API/契约),避免模糊同义词;cwd 上下文重要时把该抓手放进关键词或描述;主题标签与描述忠于来源措辞,组合主题要保留底层任务的若干原始字符串以免抹掉检索抓手。

强制子节结构(顺序固定):顶层三节后,## What's in Memory### <cwd / project scope>#### <该作用域内最近记忆日: YYYY-MM-DD> 组织。"记忆日"定义为按 updated_at 派生的、当前记忆集中至少有一个记忆/rollout 的日历日;近期窗口先从最近有意义主题构建,再按最优 cwd/项目作用域分组,作用域内按日期新近排序;作用域仅一个有意义近期日就只含该日;近期日小节内的条目应通过更强关键词与简洁近期学习/变更注记体现信息量,而非更长散文;跨多日的主题只列于其最近出现日,不重复;跨多作用域且检索会因作用域而不同的主题要拆分,否则放主作用域并在描述中提次要作用域;必须保留对 MEMORY.md 的路由覆盖——低效用主题用更短/紧凑条目保留而非丢弃。

近期主题格式:

- <topic>: <keyword1>, <keyword2>, <keyword3>, ...
  - desc: <该主题内含什么、何时优先检索它、路由所需的 cwd 适用性简述>
  - learnings: <一行密集的主题局部收获/决策触发器/值得先看的更新;避免与 `## User preferences``## General Tips` 重叠>

### Older Memory Topics 收录未进入近期小节的高信号主题,紧凑且面向检索,按 cwd/项目作用域再按持久任务家族组织;其格式为 #### <cwd / project scope> 下的紧凑 bullet(主题 + 关键词 + desc:,checkout 敏感时显式写 cwd=...)。附加守则:不放大段片段(细节推给 MEMORY.md 与 rollout summaries);本节主要索引 MEMORY.md,仅当实质改善路由才提 skills/rollout_summaries/;近期主题的 learnings 强调主题局部近期增量/注意事项/决策触发器,跨任务稳定的用户默认值移到 ## User preferences覆盖护栏:MEMORY.md 中每个顶层 # Task Group 都必须被索引中至少一个主题 bullet 覆盖(直接或以明确涵盖关系的紧凑主题);描述显式但短;memory_summary.md 不应读起来像二阶执行摘要——在 ## User preferences、主题标签、desc:/learnings: 行等处优先具体且忠于来源的措辞,而非抛光过的抽象。

九、skills/ 可选格式:可复用"斜杠命令包"

模板第 3 节把技能定义为"目录 + SKILL.md 入口(YAML frontmatter + 指令)+ 可选辅助文件":

skills/<skill-name>/
├── SKILL.md            # 必须:入口
├── scripts/<tool>.*    # 可选:被执行而非加载(优先纯标准库)
├── templates/<tpl>.md  # 可选:模型填充的骨架
└── examples/<example>.md # 可选:期望输出格式/完整示例
登录后查看全文
热门项目推荐
相关项目推荐