fix: disable chat checkpoint resume

This commit is contained in:
temp
2026-08-24 18:42:06 +08:00
parent 474238cfc5
commit baff533196
4 changed files with 27 additions and 20 deletions
+1 -1
View File
@@ -304,7 +304,7 @@ multi_agent:
plan_execute_executed_steps_budget_ratio: 0.2 # plan_execute 中 executed_steps 预算比例 plan_execute_executed_steps_budget_ratio: 0.2 # plan_execute 中 executed_steps 预算比例
plan_execute_max_step_result_runes: 4000 # plan_execute 每步结果最大字符数(超出截断) plan_execute_max_step_result_runes: 4000 # plan_execute 每步结果最大字符数(超出截断)
plan_execute_keep_last_steps: 8 # plan_execute 仅保留最近 N 步正文,早期步骤折叠为标题 plan_execute_keep_last_steps: 8 # plan_execute 仅保留最近 N 步正文,早期步骤折叠为标题
checkpoint_dir: data/eino-checkpoints # P0:进程崩溃/OOM 后同会话自动 ADK Resume;正常结束会删 .ckpt;与「中断并继续」(last_react_*) 是两套机制 checkpoint_dir: "" # 聊天链路不再使用 ADK checkpoint;跨轮模型态统一走 conversations.last_react_*,便于排查 stale context
model_retry_max_retries: 0 # Eino 原生 ChatModel retry408/409/425/429/5xx/网络抖动/空流式输出会重试;0=默认 4(永久性 4xx 不重试) model_retry_max_retries: 0 # Eino 原生 ChatModel retry408/409/425/429/5xx/网络抖动/空流式输出会重试;0=默认 4(永久性 4xx 不重试)
model_retry_max_backoff_sec: 0 # Eino 原生 ChatModel retry 单次退避上限秒数;0=默认 30 model_retry_max_backoff_sec: 0 # Eino 原生 ChatModel retry 单次退避上限秒数;0=默认 30
model_failover_channels: [] # Eino 原生 ChatModel failover;填写 ai.channels ID,例如 [qwen-plus]retry 耗尽后按顺序切换 model_failover_channels: [] # Eino 原生 ChatModel failover;填写 ai.channels ID,例如 [qwen-plus]retry 耗尽后按顺序切换
+2 -1
View File
@@ -298,7 +298,8 @@ type MultiAgentEinoMiddlewareConfig struct {
PlanExecuteMaxStepResultRunes int `yaml:"plan_execute_max_step_result_runes,omitempty" json:"plan_execute_max_step_result_runes,omitempty"` PlanExecuteMaxStepResultRunes int `yaml:"plan_execute_max_step_result_runes,omitempty" json:"plan_execute_max_step_result_runes,omitempty"`
// PlanExecuteKeepLastSteps keeps only the tail steps in prompt view (default 8). // PlanExecuteKeepLastSteps keeps only the tail steps in prompt view (default 8).
PlanExecuteKeepLastSteps int `yaml:"plan_execute_keep_last_steps,omitempty" json:"plan_execute_keep_last_steps,omitempty"` PlanExecuteKeepLastSteps int `yaml:"plan_execute_keep_last_steps,omitempty" json:"plan_execute_keep_last_steps,omitempty"`
// CheckpointDir when non-empty enables adk.Runner CheckPointStore (file-backed) for interrupt/resume persistence. // CheckpointDir is retained for config compatibility. Chat agent runs do
// not consume it; cross-turn recovery is centralized in conversations.last_react_*.
CheckpointDir string `yaml:"checkpoint_dir,omitempty" json:"checkpoint_dir,omitempty"` CheckpointDir string `yaml:"checkpoint_dir,omitempty" json:"checkpoint_dir,omitempty"`
// DeepOutputKey passed to deep.Config OutputKey (session final text); empty = off. // DeepOutputKey passed to deep.Config OutputKey (session final text); empty = off.
DeepOutputKey string `yaml:"deep_output_key,omitempty" json:"deep_output_key,omitempty"` DeepOutputKey string `yaml:"deep_output_key,omitempty" json:"deep_output_key,omitempty"`
+12 -9
View File
@@ -203,15 +203,18 @@ func RunEinoSingleChatModelAgent(
} }
return runEinoADKAgentLoop(ctx, &einoADKRunLoopArgs{ return runEinoADKAgentLoop(ctx, &einoADKRunLoopArgs{
OrchMode: "eino_single", OrchMode: "eino_single",
OrchestratorName: einoSingleAgentName, OrchestratorName: einoSingleAgentName,
ConversationID: conversationID, ConversationID: conversationID,
Progress: progress, Progress: progress,
Logger: logger, Logger: logger,
SnapshotMCPIDs: snapshotMCPIDs, SnapshotMCPIDs: snapshotMCPIDs,
StreamsMainAssistant: streamsMainAssistant, StreamsMainAssistant: streamsMainAssistant,
EinoRoleTag: einoRoleTag, EinoRoleTag: einoRoleTag,
CheckpointDir: ma.EinoMiddleware.CheckpointDir, // Chat history recovery is intentionally centralized in last_react_*.
// ADK checkpoints are a second persisted model-state channel and make
// stale-context bugs hard to reason about across user turns.
CheckpointDir: "",
RunRetryMaxAttempts: RunRetryMaxAttemptsFromConfig(&ma.EinoMiddleware), RunRetryMaxAttempts: RunRetryMaxAttemptsFromConfig(&ma.EinoMiddleware),
RunRetryMaxBackoffSec: int(einoRunRetryMaxBackoffFromConfig(&ma.EinoMiddleware).Seconds()), RunRetryMaxBackoffSec: int(einoRunRetryMaxBackoffFromConfig(&ma.EinoMiddleware).Seconds()),
McpIDsMu: &mcpIDsMu, McpIDsMu: &mcpIDsMu,
+12 -9
View File
@@ -614,15 +614,18 @@ func RunDeepAgent(
} }
return runEinoADKAgentLoop(ctx, &einoADKRunLoopArgs{ return runEinoADKAgentLoop(ctx, &einoADKRunLoopArgs{
OrchMode: orchMode, OrchMode: orchMode,
OrchestratorName: orchestratorName, OrchestratorName: orchestratorName,
ConversationID: conversationID, ConversationID: conversationID,
Progress: progress, Progress: progress,
Logger: logger, Logger: logger,
SnapshotMCPIDs: snapshotMCPIDs, SnapshotMCPIDs: snapshotMCPIDs,
StreamsMainAssistant: streamsMainAssistant, StreamsMainAssistant: streamsMainAssistant,
EinoRoleTag: einoRoleTag, EinoRoleTag: einoRoleTag,
CheckpointDir: ma.EinoMiddleware.CheckpointDir, // Chat history recovery is intentionally centralized in last_react_*.
// ADK checkpoints are a second persisted model-state channel and make
// stale-context bugs hard to reason about across user turns.
CheckpointDir: "",
RunRetryMaxAttempts: RunRetryMaxAttemptsFromConfig(&ma.EinoMiddleware), RunRetryMaxAttempts: RunRetryMaxAttemptsFromConfig(&ma.EinoMiddleware),
RunRetryMaxBackoffSec: int(einoRunRetryMaxBackoffFromConfig(&ma.EinoMiddleware).Seconds()), RunRetryMaxBackoffSec: int(einoRunRetryMaxBackoffFromConfig(&ma.EinoMiddleware).Seconds()),
McpIDsMu: &mcpIDsMu, McpIDsMu: &mcpIDsMu,