Skip to content

长时间任务执行后,Agent 出现上下文丢失/任务记忆混乱问题(OpenAI-Completions/Anthropic 格式接口) #71

Description

@XingLanGo

问题描述

在使用 Openclaw/Claude Code 调用 OpenAI-Completions 格式 或 Anthropic 格式 接口时,当任务执行时间较长(或经过多轮工具调用后),出现以下现象:

  • 外部观察:API 调用过程正常(无报错、有响应)

  • 实际表现:Agent 似乎“忘记”了自己最初的目标

  • 后续行为:无法正确延续任务,出现重复操作、逻辑混乱或无关响应

简单说:看起来还在工作,但实际上已经“不知道自己该干什么了”。

复现步骤

  • 配置 Openclaw 使用 OpenAI-Completions 格式或 Anthropic 格式 API (或者直接使用Claude Code)

  • 启动一个需要多次调用Tool call执行的任务(例如:多步骤信息收集 + 工具调用)

  • 观察任务执行过程中的 Agent 行为

  • 执行一段时间后,检查 Agent 是否还能正确理解当前任务进度和最终目标

预期行为

Agent 在长时间任务执行中应保持对以下内容的持续记忆:

  • 原始任务目标

  • 已完成的操作

  • 当前所处的步骤

  • 接下来需要做什么

实际行为

  • API 层面无报错,正常返回

  • Agent 出现“任务迷失”:不知道当前进度、重复之前操作、输出与任务无关的内容

  • 看起来像是上下文窗口没有被正确管理或系统提示词被覆盖/丢失

可能原因猜测

  • 上下文窗口溢出:长时间任务积累过多对话历史,导致关键信息(系统提示、任务目标)被截断或权重降低

  • 消息结构问题:每次调用没有正确携带之前的对话上下文(messages 数组不完整)

  • 工具调用结果未有效保留:工具返回的内容没有正确注入到后续对话中

  • 系统提示词被吞掉:多轮对话后系统提示词(system message)没有被持续传递

  • Anthropic API 与 OpenAI API 格式差异:某些字段(如 system 的位置)处理不一致

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions