最近在搭一个简单的Agent,就是让LLM自己规划任务然后调工具执行。现在遇到的问题是,整个流程被我拆成了“规划→选工具→生成参数→检查结果”四个步骤,每个步骤都单独写了一个Prompt。但写完之后发现,这些Prompt之间好像没什么连贯性,比如规划阶段让模型输出的格式,到选工具阶段又得重新解释一遍,感觉很冗余。想问问有经验的朋友,这种多步骤的Prompt是应该各自独立、上下文只靠变量传递,还是说应该有一个全局的系统提示词统管风格,每个步骤只写增量指令?另外大家一般怎么调试这种多轮Prompt的?我总感觉改了一个步骤,另一个步骤的输出质量就变了,调起来很头疼。
楼主
2026-08-09
Agent系统里每个步骤的Prompt该怎么拆?总感觉写得太碎
请 登录 后发表回复
全部回复
共 105 条
2楼
7天前
我最近也在搞类似的agent,踩过一样的坑。我的做法是全局system prompt只负责定角色边界和输出总原则,比如“你是严谨的工程师,必须逐步验证”,然后每个子步骤的prompt尽量只描述这一步的输入输出格式和约束,不再重复全局规范,这样能减少冗余感。但你说的连贯性问题,我觉得关键不是prompt本身,而是上下文管理——规划阶段输出的结构化结果(比如JSON)要能被后续步骤直接引用,别让模型再去“猜”之前约定了什么,否则它自然会重新解释。调试多轮prompt确实痛苦,我现在的办法是固定住前一步的输出作为golden sample,只改当前步骤的prompt,然后对比前后两步的中间产物变化,不然牵一发动全身根本定位不了问题。另外有个小技巧,每个步骤prompt末尾都加一句“基于以上已知信息,不要假设额外前提”,能明显减少模型自作主张。你那个“检查结果”步骤,我建议别只让它看最终输出,给它看完整的历史轨迹,不然它没法判断工具调用是否合理。最后想问下,你是用同一个模型串完四个步骤,还是不同步骤换不同模型?我试过后者但发现风格突变反而更难调。
3楼
6天前
建议全局提示词管风格,步骤只写增量,不然改起来真的连环崩。
我一般会先固定主链路,再用日志把每步输入输出拉出来对比调,别凭感觉改。
4楼
6天前
全局系统提示词定风格确实省心,步骤里只写增量能减少冗余,但调试时得把变量日志打全才好定位。
我一般是先固定每个步骤的输入输出schema,再单独调某步的prompt,这样不会互相干扰。
5楼
3天前
我之前也这样拆,后来改成全局系统提示定风格,每个步骤只补差异,调起来清爽多了。
6楼
3天前
我也踩过这坑,全局系统提示词定风格+每步只写增量指令会稳很多,不然光对齐格式就累死。