Version: 0.9.9.dev.260408
后端: 1. 粗排后分流与顺序守卫落地,支持“无明确微调偏好时粗排后直接收口”,并新增 allow_reorder / needs_refine_after_rough_build 语义,打通 chat→rough_build→execute/order_guard→deliver 路由。 2. execute 工具执行链路修复:清理乱码坏块与重复分支;新增 min_context_switch 未授权拦截;补齐 suggested 顺序基线初始化与顺序守卫联动。 3. 新增复合写工具 min_context_switch(减少上下文切换)并接入注册、参数解析、写工具白名单、提示词与文档;仅在用户明确允许打乱顺序时可用。 4. 工具口径升级:find_first_free 支持 day/day_start/day_end 范围参数并统一文案;移除 find_free 兼容别名;读写工具输出统一到“第N天(星期X)”格式。 5. prompt 同步升级:chat/execute/execute_context 增加粗排后是否继续微调、顺序授权、min_context_switch 使用边界与返回示例约束。 6. handoff 文档重命名并重写下班交接重点:下一步聚焦“工具收敛能力研究 + 运行态必要参数重置(不丢运行态)”。 7. 同步更新调试日志文件。 前端:无 仓库:无
This commit is contained in:
@@ -255,15 +255,14 @@ DB 记录:
|
||||
|
||||
按天顺序查找“首个可用位”(先纯空位,再可嵌入位),并返回该日详细信息。
|
||||
|
||||
兼容说明:
|
||||
- `find_free` 仍保留为兼容别名,行为与 `find_first_free` 完全一致。
|
||||
|
||||
**入参:**
|
||||
|
||||
| 字段 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| duration | int | 是 | 需要的连续时段数 |
|
||||
| day | int | 否 | 限定某天,不传则搜索全部天 |
|
||||
| day | int | 否 | 限定某天;与 `day_start/day_end` 互斥 |
|
||||
| day_start | int | 否 | 搜索起始天(闭区间) |
|
||||
| day_end | int | 否 | 搜索结束天(闭区间) |
|
||||
|
||||
**返回示例:**
|
||||
|
||||
@@ -543,6 +542,42 @@ DB 记录:
|
||||
|
||||
---
|
||||
|
||||
### 5.6 min_context_switch
|
||||
|
||||
在给定任务集合内重排 suggested 任务,尽量把同类任务排成连续块,以减少上下文切换。
|
||||
|
||||
使用约束:
|
||||
- 仅在用户明确说明“允许打乱顺序”时调用。
|
||||
- 仅支持 suggested 且已落位任务。
|
||||
- 工具只在传入集合内部重排,不会主动改动集合外任务。
|
||||
|
||||
**入参:**
|
||||
|
||||
| 字段 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| task_ids | array[int] | 是 | 参与重排的任务 ID 列表(至少 2 个) |
|
||||
| task_id | int | 否 | 兼容单值参数,不建议新调用使用 |
|
||||
|
||||
**成功返回:**
|
||||
|
||||
```
|
||||
最少上下文切换重排完成:共处理 6 个任务,上下文切换次数 5 -> 2。
|
||||
本次调整:
|
||||
[35]概率第一章:第3天(星期3)第1-2节 -> 第2天(星期2)第5-6节
|
||||
[41]概率第二章:第4天(星期4)第1-2节 -> 第3天(星期3)第1-2节
|
||||
第2天当前占用:...
|
||||
第3天当前占用:...
|
||||
第4天当前占用:...
|
||||
```
|
||||
|
||||
**失败返回(未授权顺序重排时应由上层拦截):**
|
||||
|
||||
```
|
||||
已拒绝执行 min_context_switch:当前未授权打乱顺序。如需使用该工具,请先由用户明确说明“允许打乱顺序”。
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 6. 公共规则
|
||||
|
||||
### 冲突检测
|
||||
@@ -556,8 +591,8 @@ DB 记录:
|
||||
|
||||
### 状态约束
|
||||
- pending 任务只能 place,不能 move / swap / unplace
|
||||
- suggested 任务可以 move / swap / unplace
|
||||
- existing 任务不能 move / batch_move(仅作已安排事实层)
|
||||
- suggested 任务可以 move / swap / unplace / min_context_switch
|
||||
- existing 任务不能 move / batch_move / min_context_switch(仅作已安排事实层)
|
||||
- 状态不符时返回明确错误信息
|
||||
|
||||
### 返回格式
|
||||
@@ -574,7 +609,7 @@ DB 记录:
|
||||
### 嵌入任务规则
|
||||
- `can_embed=true` 的任务(水课)允许其他任务嵌入到同一时段
|
||||
- 嵌入任务占位时不触发冲突检测(与宿主共存)
|
||||
- `find_first_free` 返回首个命中位,并附当日详细负载;`find_free` 为兼容别名
|
||||
- `find_first_free` 返回首个命中位,并附当日详细负载
|
||||
- `place` 到可嵌入时段时,若已有宿主任务,自动标记 embed_host 关系
|
||||
- 嵌入任务的 locked 继承宿主:宿主不可移动时,嵌入任务也不可单独移动
|
||||
|
||||
|
||||
Reference in New Issue
Block a user