清空聊天、换个 Agent,任务还能接着做吗?PowerContext 接力实战

让 Agent 做一份上海亲子游攻略,并不难。

但麻烦的是:前两天刚排好,预算从 3000 元降到 2600 元,第二天又碰上下雨。你还要清空聊天,把剩下的行程和费用表交给另一个 Agent。

新来的 Agent 会不会继续按旧预算安排?他又从哪里知道?

这些信息在多轮对话里一点点积累。换了会话,下一位就需要重新拿到要求、已有成果和待办,才能接着工作。

保存任务上下文并交给下一位 Agent

OceanBase PowerContext 把这份工作上下文保存在对话之外,由应用在需要时读取,再交给模型。Agent 接力 Workshop[1] 把这个过程做成了一场上海亲子旅行实验:先清空聊天做对照,再恢复资料、修改要求,最后换一位 Agent 接手。

你可以顺着每一棒的输入和输出,检查信息到底在哪一步被保存、取回和使用。

PowerContext 亲子旅行接力实战封面

欢迎大家关注 OceanBase 社区公众号“老纪的技术唠嗑局”。在这里,我们会持续为大家更新与 #AI 和 #Data 相关的技术内容~

01 先跑起来:在魔搭体验一场 Agent 接力

打开 Agent 接力 Workshop,登录魔搭账号;还没有账号的话,先完成注册。

接下来,按页面和 Notebook 的说明完成准备:

  1. 复制并运行项目。

魔搭 Agent 接力 Workshop 项目页面
2. 等待环境启动,再按 Notebook 中的说明完成初始化与配置。

启动 Workshop 并完成环境初始化
3. 按顺序执行代码单元,点击代码框左上角的三角形运行按钮。

Notebook 代码单元执行入口
4. 在代码块下方查看输出,再继续下一步。

Notebook 旅行计划与费用输出

运行时,除了看行程写得怎么样,还要留意每一棒保存了什么、读取了什么。后面的实验会用这些记录判断,新会话是否真正接上了前面的工作。

02 从 Memory 到 Handoff:三棒接力,检查任务怎么继续

这次实验的背景是来上海参加外滩大会,顺便安排一次家庭旅行。初始要求很具体:

  • 两位成人、一位儿童,三天两晚。
  • 预算 3000 元,覆盖当地住宿、餐饮、交通和活动,不含往返上海的大交通。
  • 给旅行起一个自定义代号。
  • 每天 16:30 前回到酒店。

旅行代号和回酒店时间,也是很好的检查项。新会话即使能生成一份像样的攻略,也未必拿到了你之前提出的这些要求。

第一棒:先保存,再故意不恢复

规划师 Agent A 先安排前两天,留下第三天的行程和完整费用表。

资料保存后,清空聊天,开启一个不恢复资料的新会话。问问它:这趟旅行叫什么?每天几点前回酒店?还有哪些事情没做完?

这一棒是对照实验。它让你看到一个容易忽略的区别:资料已经存下来,不代表新会话已经拿到。

PowerContext 保存资料之后,仍需要应用执行读取,并把结果放进当前模型输入。 否则,新会话不能仅凭“系统里存过”就知道之前发生了什么。

第二棒:恢复资料,再修改要求

接下来加入恢复步骤,同时给旅行增加两个变化:预算降到 2600 元,第二天全天有雨。

新的规划师会话需要据此调整方案。这里值得检查的,是几件具体的事:它是否用了新预算?是否调整了受雨天影响的安排?“每天 16:30 前回酒店”有没有被一并保留下来?

Notebook 在这一步修订同一条 Memory:更新预算和天气,同时保留个人要求。旧版本仍可回看,便于核对这次到底改了什么。

如果某条记忆已经不再适用,也可以将它停用,移出活跃召回范围。随着任务推进,资料既要能积累,也要能更新和退出使用。

第三棒:换一位 Agent,从空聊天接手

最后,把工作交给行程检查员 Agent B。

B 从空聊天开始,通过精确引用读取交接资料及其关联的方案材料,检查已有安排,并补齐第三天和费用表。

这一棒要检查的,是它能否说清楚:前两天已经安排到哪里,哪些要求仍然有效,自己接下来要补什么,还有哪些内容需要核实。

三棒 Agent 接力与上下文保存流程

接力过程中,究竟保存了什么?

跑完三棒,再回看记录,几个概念就容易理解了:

内容 在这次旅行里负责什么
Memory 维护预算、天气和个人要求等任务约束
Source 保留实际生成的行程方案,作为可追溯材料
Handoff 组织目标、进度、待办和未核实项,并引用方案材料
Scope 把这趟旅行的要求、成果和进度放在同一个管理范围内

Memory 让接手者知道有哪些要求,Handoff 则交代“工作做到哪里、接下来做什么”。 具体方案留在 Source 中,接手者可以沿引用查看依据。

新会话需要沿用同一个 Scope,读取这趟旅行的资料。另一趟旅行可以创建独立的 Scope,分别管理要求和进度。

版本也很重要。旧交接对应的预算可能还是 3000 元,当前要求却已经变成了 2600 元。PowerContext 返回版本与证据状态,Notebook 据此检查交接是否过期、材料是否可用,以及要求是否仍然有效。

因此,读取交接之后还要核对。能找到一份资料,只说明他存在;能否直接接着用,还要看它是否适用于当前任务。

预算下调与雨天要求更新

03 从 Experience 到 Skill:让这次的经验,下次还能用

旅行方案补齐之后,这场实验还有一个可选拓展:把实际观察整理成经验,再把可以复用的做法变成 Skill。

比如,如果检查费用表时发现住宿费用漏算了一晚,修正表格之后,还可以记录:当时是什么情况、采取了什么做法、观察到了什么结果,以及下次核算时应该注意什么。

这类有具体依据的记录,就是 Experience。把实际观察到的结果和方案材料一起留下,下一位才能核对这条经验从哪里来。

Skill 再把可复用的做法展开为步骤和验证项。例如,遇到预算或天气变化时:

  1. 列出变更影响表,明确哪些安排受到影响。
  2. 保留仍然满足要求的行程。
  3. 调整受影响的部分。
  4. 逐项核算住宿、餐饮、交通和活动费用,检查是否满足当前预算。

这时,Memory 提供的是当前预算、天气和个人要求;Skill 提供的是处理变化的方法。预算再次调整时,新会话可以读取当前要求,再选用这套步骤。

这里演示的“自进化”,有明确的审核边界。

Experience 和 Skill 都先作为候选提交,经参与者审核后,才成为正式版本。 如果候选在审核期间发生了修改,就需要重新查看,不能沿用对旧内容的判断。

在本实验中,Skill 引用已批准的 Experience 版本,Experience 再关联原始材料。这样,接手者既能看到方法,也能追溯方法来自哪次观察。

经验候选审核与版本可追溯流程

新会话还需要明确读取已审核的 Skill,把步骤加入模型输入。 运行后,可以对照回答检查:它是否列出了变更影响,是否保留了仍有效的安排,费用又是否逐项核算。

审核让方法有了明确的复用入口,但不会保证它适用于所有任务。换一个旅行条件,仍然要检查这套方法是否合适,以及实际执行结果是否满足要求。

04 换一位 Agent,不必把整件事重新交代一遍

这次上海旅行接力,把工作接续拆成了可以观察的几个环节:保存要求和成果,清空聊天后恢复资料,交给另一位 Agent 补齐待办,再将实际观察整理成经过审核的经验和 Skill。

同样的检查方式,也可以用在你的日常工作里:客户约束有没有保留,已经验证的结果有没有依据,未完成的部分有没有明确交出去,反复使用的方法有没有留下适用条件。

接手 Agent 核对已有成果与剩余工作

可以先从手上一个尚未完成的任务试起。保存资料、换个会话,再让接手者说明已有成果、剩余工作和需要核实的问题。哪里还要靠你重新解释,哪里就值得继续检查。

回到这趟旅行,下一位 Agent 能否在新预算和雨天条件下,仍然保留“每天 16:30 前回酒店”?第三天和费用表,能否沿着已有方案继续补齐?

把这些具体要求逐项验收,这场接力才算真正跑通。

如果这次实验对你有启发,欢迎到 GitHub 中的 PowerContext 项目 https://github.com/oceanbase/powercontext 中点一颗 ⭐ Star,关注项目的后续进展。也欢迎通过 Issue 分享使用体验、遇到的问题和期待的能力,或提交 PR 参与改进。

我们希望听到你在真实任务中的反馈,让 PowerContext 更好地支持每一次工作接续~

PowerContext Agent 接力横版海报

参考资料

[1] 

Agent 接力 Workshop: https://www.modelscope.cn/gallery/hhhhiiii/powercontext

OceanBase 社区品牌片尾动效

OceanBase 社区内容分隔装饰

往期内容推荐

PowerContext 人与 Agent 协作文章

Tibo 谈 Codex 与 Harness 文章

seekdb 技术架构与核心能力文章

了解更多

OceanBase 社区小助手交流二维码

添加社区小助手,加入微信交流群~