多智能体接力上下文怎么传不丢:结构化交接实操
📅 2026/6/29 21:25:44
👁️ 次浏览
先把结论摆这儿:多个智能体接力干活,上下文丢失/串味,九成不是模型笨,是你拿大段自然语言在它们之间口口相传。改成结构化交接——上一棒只往下传一个固定字段的 JSON,而不是把整段聊天记录甩过去——基本就稳了。下面是我自己踩出来的做法,带代码。先说我遇到的问题上个月做一个选题→查资料→出初稿→自检的流水线,我串了四个智能体接力跑。前两棒挺好,到第三棒写初稿的时候,画风突变:让它写一篇讲数据库索引的文章,它给我扯到用户增长漏斗去了。回去翻日志才发现,我图省事,每一棒都是把前面所有对话原文 这一棒的指令整个塞进 prompt。跑到第三棒,上下文已经堆了六七千 token,里面混着第一棒查资料时顺手提到的一个营销案例。模型注意力被那段带跑了。这就是典型的两个病:丢:上下文太长,关键约束(比如主题是索引)被淹在中间,模型只记住了头尾。串味:把过程废话也当上下文传下去,后一棒被前一棒的思考过程污染,跑题。更坑的是不稳定。同样的输入跑五次,有两次跑题三次正常,排查起来想骂人。交接设计:传契约,不传聊天记录核心就一句:智能体之间别传对话,传一个结构化的交接单。我给每两棒之间定了个固定 schema,上一棒干完活,只允许往下吐这么几个字段:字段干嘛的谁能改task这次任务一句话(主题/约束),全程不变只第一棒写,后面只读payload上一棒产出的实际内容(资料/初稿)当前棒写constraints硬约束清单,比如字数 800-1600主题索引累加,不删notes给下一棒的提醒,可空当前棒写关键点:过程性的思考、中间废话,一律不进交接单。模型自己琢磨的草稿留在它自己那一轮里,死活别带到下一棒。task和constraints这两个字段每一棒原样透传,相当于给整条流水线钉了根桩,谁也别想跑偏。上代码交接单结构,我用 Pydantic 兜底,省得某一棒吐出来的字段对不上:from pydantic import BaseModel from typing import Optional class Handoff(BaseModel): task: str # 全程不变,只读 payload: str # 当前棒的产出 constraints: list[str] # 累加 notes: Optional[str] None # 给下一棒的话 def run_step(agent, prev: Handoff) - Handoff: # 注意:喂给模型的只有结构化字段,没有上一轮的原始对话 prompt ( f【任务(不可改)】{prev.task}\n f【必须遵守】{chr(10).join(- c for c in prev.constraints)}\n f【上一棒交给你的】\n{prev.payload}\n f【备注】{prev.notes or 无}\n 请完成你这一棒,只输出结果本身。 ) out agent.invoke(prompt) # 你自己的模型调用 return prev.model_copy(update{payload: out, notes: None})跑的时候就是顺着传:state Handoff( task写一篇讲数据库索引的技术文, payload(空,待第一棒填), constraints[主题数据库索引,不许跑题, 字数 800-1600], ) for agent in [researcher, writer, reviewer]: state run_step(agent, state) print(state.payload)就这么个改动,跑题这毛病当场没了。task和constraints每一棒都明晃晃顶在 prompt 最前面,模型想忘都难;payload只带实际产物,token 一下从六七千掉到一千出头。顺便提一嘴搭这套东西的姿势。我没自己写编排框架,是在一个零代码就能拖拽配智能体的平台上把每一棒拉出来的——挂模型、配字段、串顺序,鼠标点点就成,上面这点 Python 只是我想自定义交接逻辑时才补的。说实话第一次见到不写代码也能把四个 AI 小助手串成一条流水线我是有点意外的,原来搭智能体不一定非得从框架啃起。取舍,以及它不完美的地方不吹,这套有代价:字段是手设计的,有学习曲线。schema 定窄了后一棒缺料,定宽了又退化成传聊天记录。我前后改了三版才顺手,constraints该累加还是该覆盖纠结了半天。它只管交接,不管单棒质量。哪一棒模型自己写得烂,结构化也救不了,该调 prompt 还得调。第一版交接单往往太干。我最早payload只塞了结论,下一棒缺背景又抓瞎,后来才学会把必要的上下文也显式写进字段,而不是指望它自己记得。但比起以前那种塞一坨对话进去听天由命,可控太多了。现在五次跑五次稳,排查也快——出问题直接看交接单哪个字段脏了,一眼定位。你们做多智能体接力,上下文是怎么传的?有没有被某一棒带跑过的经历,评论区聊聊。(模型这块我直接调的讯飞星辰 MaaS,现成 API,没自己部署算力,省了一堆事)
在实际工程里,时间复杂度和空间复杂度的权衡,多数情况下是空间换时间。因为快,是更好的用户体验。接口响应快100毫秒,用户的等待感就少一分,订单转化率可能就高一点。
这个判断当然也不是随口说的,我们来看…
📅 2026/6/29 21:20:43
完全免费的跨平台开源音乐播放器:LX Music桌面版终极使用指南 【免费下载链接】lx-music-desktop 一个基于 Electron 的音乐软件 项目地址: https://gitcode.com/GitHub_Trending/lx/lx-music-desktop
还在为各大音乐平台的会员费烦恼吗?想要在一…
📅 2026/6/29 21:20:43
Fillinger智能填充脚本:自动化设计元素分布的革命性解决方案 【免费下载链接】illustrator-scripts Adobe Illustrator scripts 项目地址: https://gitcode.com/gh_mirrors/il/illustrator-scripts
你是否曾为在Adobe Illustrator中手动排列数百个设计元素而…
📅 2026/6/29 21:20:43
༺ 个人主页 纪念229 ༻
🏠我的博客主页🏠
༒专栏目录:《数据结构》༒
༒其它有趣的计算机知识༒
༺世上本没有路,走的人多了自然就有了༻ 这篇文章讲述的是利用队列的功能来实现栈的功能,个人见解希望对你有所帮…
📅 2026/6/29 22:30:57
1. 核心概念
1.1 什么是回测?
回测就是用历史数据,假装自己过去真的按照一套交易规则执行了一遍。
它的作用不是预测未来,而是帮助我们检查:
这个策略过去有没有赚钱;赚钱过程是否稳定;中间最大亏损有多深&…
📅 2026/6/29 22:30:57
🔬 实测:淘宝商品详情API免费版日限500次够用吗?超限怎么办?(附Python源码)先给结论:个人实名应用:taobao.item.get免费日调用量通常 500~5000次/天(视账号等…
📅 2026/6/29 22:30:57
解引用(dereference)就是:通过指针找到它指向的那个“东西”在 C 语言里用 * 表示。一、最简单例子int a 10;
int *p &a;这里:p 存的是 a 的地址解引用意思是:顺着 p 这个地址,找到 a*p 顺着 p 这个地…
📅 2026/6/29 22:30:57
很多算法的分析都会从一句熟悉的话开始:期望(平均)时间是 ……。这句话好用、干净,也常常是真的。比如说,随机快速排序的期望时间是 O(nlogn)O(nlogn),哈希表一次查找的期望时间是 O(1)O(1),跳…
📅 2026/6/29 22:30:57
下面的演示程序展示了如何通过MessageInjectingChatClient来实现工具函数中注入消息的能力。这个程序模拟了一个银行转账的业务场景,转账的工具函数是TransferMoney。如代码片段所示,我们从当前Agent执行上下文(AIAgent.CurrentRunContext&am…
📅 2026/6/29 22:25:57
在商业化内容生产、项目策划、短视频脚本开发场景中,AI模型的创意发散能力、逻辑架构能力、落地执行能力是核心考核指标。不同大模型的训练侧重不同,在方案撰写、脚本创作场景的输出质量差距极大。
为给技术从业者、内容创作者、运营人员提供精准的模型…
📅 2026/6/29 0:00:42
1. 这不是教科书里的“蒙特卡洛离策略”,而是我在强化学习项目里亲手调通的那套逻辑“Monte Carlo Off-Policy Explained”——看到这个标题,别急着去翻Sutton那本绿皮书第5章。我带过三个工业级强化学习落地项目,从智能仓储调度到金融风控策…
📅 2026/6/29 0:00:43
1. 转型背景与核心驱动力最近几年,身边不少做Java后端开发的朋友,都开始或多或少地关注起安全开发这个方向。我自己也是从写了七八年Java业务代码,一步步转向了安全领域,现在主要做代码审计和自动化安全工具开发。这个转变不是一时…
📅 2026/6/29 0:00:43
6个月前的2025年12月,Boris Cherny 公开宣布自己卸载了 IDE。一时间,Vibe Coding 成了全行业最热的话题。6个月后,当我们回过头来拉一份真实账本,发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…
📅 2026/6/29 4:18:42
引言:审计结束三个月了,审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间,内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中,审计…
📅 2026/6/29 4:18:42