feat(agent): L3 记忆注入——子任务带父任务拆解意图 + 兄弟状态
- types.TaskContext + Task.context(daemon 装配、不持久化) - store.taskContextOf(taskId):父 plan + 同层兄弟概览(标题/状态/复杂度,排除自身) - orchestrator.claimOne:executor 子任务填充 context 下发(planner 跑在父任务上不需要) - runner.buildPrompt 注入「## 拆解背景」段(顺序:规范→背景→任务内容) - 仅 DB 读,不做 git/RAG 检索(成本控制) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -176,10 +176,12 @@ export function createOrchestrator(store: Store, log: OrchestratorLogger, deps:
|
||||
|
||||
// L1 记忆注入:重试任务带上「上次失败原因」,worker 端拼进 prompt(见 runner.buildPrompt*)
|
||||
const lastRunError = store.lastRunErrorOf(task.id);
|
||||
// L3 拆解背景:executor 子任务带父任务意图 + 兄弟状态(planner 跑在父任务上,不需要)
|
||||
const context = isPlanner ? null : store.taskContextOf(task.id);
|
||||
|
||||
d.writeJobSpec({
|
||||
runId: run.id,
|
||||
task: { ...task, status: isPlanner ? task.status : 'executing', lastRunError },
|
||||
task: { ...task, status: isPlanner ? task.status : 'executing', lastRunError, context },
|
||||
project, worktreeDir: dir, branch, runKind,
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user