feat(agent): 云端 Agent 运行时 - 完善 Pi 桥接、上下文压力与临时故障重试

This commit is contained in:
ddcat666
2026-10-04 02:20:30 +08:00
parent 24cba7650d
commit f170649e9d
32 changed files with 1663 additions and 1485 deletions

View File

@@ -208,11 +208,8 @@ func TestCloudAgentCompactionResumesStepLoopWithCheckpoint(t *testing.T) {
map[string]any{"role": "user", "content": "把第 4 行补上光影"},
map[string]any{"role": "assistant", "content": "好的,先看一下现有配色"},
)
lastTaskID, lastEstimate := state.LastStepTaskID, state.LastStepEstimate
state.TokenAnchor = &cloudAgentTokenAnchor{TaskID: lastTaskID, Step: state.Step, InputTokens: 10000, EstimatedTokens: lastEstimate, Accepted: true}
run = saveCloudAgentCompactionState(t, s, run, &state)
stepBefore := state.Step
pressureCount := len(cloudAgentCompactionEvents(t, s, run, "context_pressure"))
if requested, err := s.cloudAgentRequestCompaction(run, &state, budget, budget.CompactAtTokens); err != nil || !requested {
t.Fatalf("没有触发压缩: %v", err)
}
@@ -227,12 +224,6 @@ func TestCloudAgentCompactionResumesStepLoopWithCheckpoint(t *testing.T) {
if persisted.Step != stepBefore {
t.Fatalf("压缩调用占掉了步数: %d → %d", stepBefore, persisted.Step)
}
if persisted.LastStepTaskID != lastTaskID || persisted.LastStepEstimate != lastEstimate || persisted.TokenAnchor == nil || !persisted.TokenAnchor.Accepted {
t.Fatalf("压缩调用不得覆盖普通模型步骤和锚点: last=%s estimate=%d anchor=%+v", persisted.LastStepTaskID, persisted.LastStepEstimate, persisted.TokenAnchor)
}
if got := len(cloudAgentCompactionEvents(t, s, run, "context_pressure")); got != pressureCount {
t.Fatalf("压缩任务不得发普通模型请求读数: %d → %d", pressureCount, got)
}
task, err := s.repo.TaskForUser("user", persisted.ActiveTaskID)
if err != nil {
t.Fatal(err)