delegate_task/cancel_delegate_task 前台工具 + 任务登记表 #55

Closed
opened 2026-07-24 04:30:01 +00:00 by KumaAgent · 0 comments
Member

Parent

#52 [PRD] arise 深挖任务委托(Deep Task Delegation)落地

What to build

RuntimeLoop 新增两个前台核心工具,让主模型能够登记一个深挖任务并立即应声、继续当轮对话,任务在后台异步跑(用 #54 的执行核)。用户可以用自然语言让模型调用取消工具真中断一个正在跑的任务。本 ticket 交付这两个工具的完整前台行为(登记、应声、去重、取消、fail-closed),暂不接任务完成后的送回(那是后续任务完成送回闭环 ticket)。

Acceptance criteria

  • 新增 core 原生工具 delegate_task(description)(同 note_pending_intent/search_memory 先例,不经工具港):当轮调用即登记一个后台任务(进程内 chat_id/task_id→运行中任务句柄的内存字典,同 _pending_flushes/_pending_followup_checks 先例,不落盘),随即以 asyncio 方式启动 #54 的子智能体循环,不阻塞当轮工具循环,不计入本轮 run_limit/MAX_SENDS_PER_TURN
  • 模型调用 delegate_task 后通常紧跟一次 send_message 应声,当轮随后自然结束(有 RuntimeLoop.run() 脚本化对话测试断言应声内容)
  • 每个 chat 同时至多一个深挖任务在跑(进程内按 chat_id 检查);重复请求时 delegate_task 直接返回"已有任务在跑"的可读结果给模型,不新起第二个任务(有测试覆盖去重路径)
  • 新增 core 原生工具 cancel_delegate_task(task_id?):找到对应任务仍在跑时,真中断底层 asyncio 任务(有测试断言取消后任务确实被中断,不是仅标记状态);找不到对应任务时视为无操作(fail-closed,不报错阻断对话)
  • 这两个工具的可见性不受渐进解锁门控(不同于自发目标——深挖任务是用户显式请求触发,不适用"新部署更保守"的理由)
  • delegate_task/cancel_delegate_task 两个新 handler 直接喂 RuntimeLoop.run() 脚本化对话断言效果(任务登记表状态、应声内容、重复请求提示、找不到任务时的 fail-closed 行为),同现有 _handle_note_pending_intent 等工具处理器的既有测试模式

Blocked by

  • #54 — 深挖子智能体执行核:隔离任务上下文 + 多轮工具循环(需要子智能体循环作为要实际启动的后台执行体)
## Parent #52 [PRD] arise 深挖任务委托(Deep Task Delegation)落地 ## What to build RuntimeLoop 新增两个前台核心工具,让主模型能够登记一个深挖任务并立即应声、继续当轮对话,任务在后台异步跑(用 #54 的执行核)。用户可以用自然语言让模型调用取消工具真中断一个正在跑的任务。本 ticket 交付这两个工具的完整前台行为(登记、应声、去重、取消、fail-closed),暂不接任务完成后的送回(那是后续任务完成送回闭环 ticket)。 ## Acceptance criteria - [ ] 新增 core 原生工具 `delegate_task(description)`(同 `note_pending_intent`/`search_memory` 先例,不经工具港):当轮调用即登记一个后台任务(进程内 chat_id/task_id→运行中任务句柄的内存字典,同 `_pending_flushes`/`_pending_followup_checks` 先例,不落盘),随即以 `asyncio` 方式启动 #54 的子智能体循环,不阻塞当轮工具循环,不计入本轮 `run_limit`/`MAX_SENDS_PER_TURN` - [ ] 模型调用 `delegate_task` 后通常紧跟一次 `send_message` 应声,当轮随后自然结束(有 `RuntimeLoop.run()` 脚本化对话测试断言应声内容) - [ ] 每个 chat 同时至多一个深挖任务在跑(进程内按 chat_id 检查);重复请求时 `delegate_task` 直接返回"已有任务在跑"的可读结果给模型,不新起第二个任务(有测试覆盖去重路径) - [ ] 新增 core 原生工具 `cancel_delegate_task(task_id?)`:找到对应任务仍在跑时,真中断底层 `asyncio` 任务(有测试断言取消后任务确实被中断,不是仅标记状态);找不到对应任务时视为无操作(fail-closed,不报错阻断对话) - [ ] 这两个工具的可见性不受渐进解锁门控(不同于自发目标——深挖任务是用户显式请求触发,不适用"新部署更保守"的理由) - [ ] `delegate_task`/`cancel_delegate_task` 两个新 handler 直接喂 `RuntimeLoop.run()` 脚本化对话断言效果(任务登记表状态、应声内容、重复请求提示、找不到任务时的 fail-closed 行为),同现有 `_handle_note_pending_intent` 等工具处理器的既有测试模式 ## Blocked by - #54 — 深挖子智能体执行核:隔离任务上下文 + 多轮工具循环(需要子智能体循环作为要实际启动的后台执行体)
Yushu closed this issue 2026-07-24 07:23:44 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ProjectKuma/arise#55
No description provided.