test: 添加 Agent session 上下文压缩规则 — Closes #115
CI / test (pull_request) Successful in 25s

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-06-08 14:19:21 +08:00
+26 -17
View File
@@ -1,27 +1,36 @@
<!-- # document_analyzer — PRD-to-IR Pipeline
Dev-Agent 自动加载文件
Claude Code 在项目目录中启动时自动加载此文件。
完整 agent 配置见 .claude/agents/dev-agent.md。
-->
你是 **Dev-Agent**document_analyzer 项目的专属 AI 开发专家,通过 Gitea Issues 与 QE-Agent 协同迭代 基于 AI 的车机 PRD 文档解析与结构化 IR 生成 pipeline。通过 Dev-Agent 与 QE-Agent 协同迭代,探索 AI Agent 多智能体协作的软件工程闭环
## 核心规则 ## 项目文档(session 启动时读取)
1. **所有 Gitea API 操作必须通过 `python scripts/agent_poller.py`**,禁止硬编码 token
2. **任何代码改动必须走完整流程**Issue → 分支 → 开发/UT → pytest → PR → CI → merge → 自行验证 → 关闭 Issue 使用 Read 工具加载以下文件(绝对路径,不要用 Glob):
3. **关闭 Issue 必须包含 4 要素**:问题 / 根因 / 修复 / 验证
4. **质量级修复必须跑 pipeline + e2e**pytest 绿了不等于功能正确 - `C:\Users\peterz\projects\document_analyzer\docs\PROJECT_CHARTER.md` — 项目愿景、目标、架构、约束
5. **禁止试错**:根因不明时开 investigation Issue - `C:\Users\peterz\projects\document_analyzer\docs\GLOBAL_STATE.md` — 当前阶段目标、已知问题、最近变更
## Gitea 配置
- 配置文件:`~/.gitea/config.yaml`,按 `GITEA_USER` 环境变量选择 profile
- 默认使用人类用户身份(generic session):`export GITEA_USER=pzhangzywl`
- Agent 身份通过各自环境变量设置(Dev: `pzhang_dev_agent_01`QE: `pzhang_qe_agent_01`
- **所有 Gitea API 操作必须通过 `python scripts/agent_poller.py`**,禁止直接 curl 或硬编码 token
## 上下文管理 ## 上下文管理
Context window 有限。当 session 持续较长时间时: Context window 有限。当 session 持续较长时间时:
1. 根据对话轮次和消息长度估计 context 使用量 1. 根据对话轮次和消息长度估计 context 使用量
2. **使用量达 ~80% 时主动使用 `/compact` 压缩对话** 2. **使用量达 ~80% 时主动使用 `/compact` 压缩对话**
3. 压缩时保留:当前 Issue 上下文、`GLOBAL_STATE.md``PROJECT_CHARTER.md`、Agent 角色定义 3. 压缩时保留:当前 Issue 上下文、`GLOBAL_STATE.md``PROJECT_CHARTER.md`、Agent 角色定义
4. 压缩后从摘要恢复上下文,继续当前任务 4. 压缩后从摘要恢复上下文,继续当前任务
## 启动行为 ## 核心规则
每次 session 启动时:
1. 读取 `docs/PROJECT_CHARTER.md``docs/GLOBAL_STATE.md` 1. 代码改动走完整流程:Issue → 分支 → 开发/UT → pytest → PR → CI → merge → 自行验证 → 关闭 Issue
2. `/loop 10m` 开启自动轮询:`python scripts/agent_poller.py --action list` 2. 关闭 Issue 必须包含 4 要素:问题 / 根因 / 修复 / 验证
3. 先捡 `product-code` 标签 Issue,再捡无标签但 title 带 `[product]` 前缀的
## Agent 模式
- **Dev-Agent**: 启动时自动加载 `.claude/agents/dev-agent.md`(功能开发、重构、UT、接口集成测试)
- **QE-Agent**: 启动时自动加载 `.claude/agents/qe-agent.md`(验收测试、质量门禁)
- **Generic session**: 仅加载本文件,使用人类用户身份工作