diff --git a/.task/feature-llm-robustness.md b/.task/feature-llm-robustness.md new file mode 100644 index 00000000..934bde32 --- /dev/null +++ b/.task/feature-llm-robustness.md @@ -0,0 +1,36 @@ +# feature/llm-robustness 任务卡 + +任务主记录:;状态:进行中;owner:weichen + +## 基线与授权 + +- 权威仓:ssh://git@git-ssh.u1680832.nyat.app:31411/weichen/Agent-System-Dev.git;目标分支:main;R0(initial_base_sha)= 8078a3582ce433eb1a6a36bce6966e166778a073 +- 工作区:/home/weichen/projects/Agent-System-Dev-wt-feature-llm-robustness(worktree);分支:feature/llm-robustness +- 授权与交付终点:改 agent-native 的模型流(溢出识别、Retry-After、边收边转的重试、未完成工具调用不执行、用量拆分),并在 backend 直连默认带 `runtime.llmRetries`(默认 2)。允许在 agent-native、agent-squad、backend 各建 `feature/llm-robustness`、推送、建 PR、合入,再由 Dev 推进 gitlink 并合入。终点是这些 PR 已合入,然后在本 worktree 运行 `make task-finish`。未授权:改 Core 契约、改前端、发版、改写历史、变更分支保护、引入 pi-durable 或 Chord。 +- 启动自检(2026-10-03T15:42Z):`make precheck` verdict READY。head=8078a3582c,origin/main 同步,树干净,linked worktrees=0。必读 core/baseline.md、workflows/delivery.md §1 已读。 + +## 目标与非目标 + +- 目标:溢出识别改为模式表;解析 Retry-After(秒或 HTTP 日期,有上限),失败则指数退避加抖动;可重试含 408、429、5xx、529 和流内容量错误;WithRetry 边收边转,只有还没转发增量时才重试;length 或流未正常结束时不执行未完成的工具调用,执行前校验名称和参数 JSON,不合格写配对错误结果;直连默认重试 2 次,流中途出错不重试;用量拆成上一请求(上下文)和累计(计费)。 +- 受影响:agent-native `runtime/llm` 与 `runtime/loop.go`;backend 设置 `runtime.llmRetries` 与直连流包装。squad 只推进 agent-native 指针。 +- 非目标:不改 Anthropic 原生协议;不改上下文压缩、权限、回滚、代码编排;不改前端。 + +## 同步记录 + +| 节点 | sync_base_sha | tested_head_sha | checked_at | +|---|---|---|---| +| 启动 | 8078a3582ce433eb1a6a36bce6966e166778a073 | 8078a3582ce433eb1a6a36bce6966e166778a073 | 2026-10-03T15:43:40Z | +| 同步前验收 | 8078a3582ce433eb1a6a36bce6966e166778a073 | 2364f0de4532c07935f72e3ca1e4de8cb5244c92 | 2026-10-03T15:54:00Z | + +## 结果与验证 + +- 结果:agent-native `9f5751c20527ae223323650ab8da877fc7b89601`。agent-squad `9efce79b86044db0594f8761cd01c42677a90931`(只推进指针)。backend `93adb93b9d6fa4d8e5d279e68bbdbcd31b8b44ab`。Dev 钉住这三枚指针。 +- 验证: + - `make precheck`:verdict READY。`[repo] branch=main head=8078a3582c`,`[remote] origin/main=8078a3582c ahead=0 behind=0`,`[tree] clean`,`[worktrees] linked=0`,`[R0] 8078a3582ce433eb1a6a36bce6966e166778a073`。 + - `GOWORK=off go test -race -count=1 ./runtime/llm/ ./runtime/` 退出码 0。 + - `make task-sync`(验收):`Already up to date.` `[synced] sync_base=8078a3582c tested_head=2364f0de45 checked_at=2026-10-03T15:54:00Z`。 + - `make test` 退出码 0(boundaries ok;pins ok;intent/native/squad/core/backend 全绿;frontend vitest 14 文件 75 项;ui vitest 11 文件 79 项;agent-command ok)。 + - `make build` 退出码 0,产出 `bin/agent-system`(native=9f5751c squad=9efce79 backend=93adb93)。 +- 影响与剩余项:不改 Core 与前端。流中途出错不重试,已转发的增量留在过程事件里。合入后在本 worktree 运行 `make task-finish`。 +| 同步前验收 | 8078a3582ce433eb1a6a36bce6966e166778a073 | f1bb3bd84b269c8f65d6462038b719f117aaa202 | 2026-10-03T15:55:44Z | +| 同步前验收 | 8078a3582ce433eb1a6a36bce6966e166778a073 | 168092a64a3483d79a10b1d1be391fc26394595b | 2026-10-03T15:56:05Z | diff --git a/deps/agent-native b/deps/agent-native index d84a67cd..9f5751c2 160000 --- a/deps/agent-native +++ b/deps/agent-native @@ -1 +1 @@ -Subproject commit d84a67cd240e785291873c19686765c1d1f60c22 +Subproject commit 9f5751c20527ae223323650ab8da877fc7b89601 diff --git a/deps/agent-squad b/deps/agent-squad index 02c0d6aa..9efce79b 160000 --- a/deps/agent-squad +++ b/deps/agent-squad @@ -1 +1 @@ -Subproject commit 02c0d6aae4f1af3265b94cdc3172eccefa2cb3c9 +Subproject commit 9efce79b86044db0594f8761cd01c42677a90931 diff --git a/modules/backend b/modules/backend index 28ccb741..93adb93b 160000 --- a/modules/backend +++ b/modules/backend @@ -1 +1 @@ -Subproject commit 28ccb741e4a233075e2a07d5b041cebadc009b5c +Subproject commit 93adb93b9d6fa4d8e5d279e68bbdbcd31b8b44ab