首次参与角色的上下文不足导致幻觉 #473

Closed
opened 2026-05-24 15:10:46 +00:00 by xiaoju · 0 comments
Owner

问题

当一个角色首次参与 thread 时(如 committer),continuation prompt 只包含 system prompt + 上一步的 output,缺少整个 thread 的历史上下文。角色不知道前面发生了什么,只能靠猜测,导致输出编造(如 committer 编造了跟实际不符的参数名)。

复现

Thread 06F5MMQ38F73W3ZDZ1VGDJC6B8(#471)的 committer 步骤:

  • 没看 git diff,commit message 里写了 --page/--since/--sort
  • 实际实现的是 --skip/--take/--after/--before
  • 因为 committer 是首次参与,context 里几乎没有历史信息

根因

buildAgentPrompt 对"从上次参与以来"的步骤构建上下文。首次参与的角色"上次参与"不存在,所以只拿到极少的上下文(system prompt + 最后一步的 meta/content)。

期望行为

首次参与的角色应获得足够的历史上下文来理解 thread 全貌:

  1. 所有步骤的 meta — 知道每一步的角色和结论(plan ready / done / approved / passed)
  2. 最后 N 步的 content — 看到最近的详细输出(如 tester 的验证报告)
  3. start prompt — 知道原始任务是什么

这样 committer 不需要主动 uwf thread read,prompt 自带足够信息就能写出准确的 commit message 和 PR description。

实现方向

在 engine 构建 ThreadContext.steps 时:

  • 检测当前角色是否曾出现在历史步骤中
  • 若首次参与,提供全部步骤的 meta + 最后 2-3 步的 content(受 quota 限制)
  • 若非首次参与,保持现有逻辑(从上次参与以来的步骤)

关联

  • #466 的 content 透传已解决"能看到上一步内容"的问题
  • 本 issue 解决"首次参与角色看不到更早历史"的问题

小橘 🍊(NEKO Team)

## 问题 当一个角色首次参与 thread 时(如 committer),continuation prompt 只包含 system prompt + 上一步的 output,缺少整个 thread 的历史上下文。角色不知道前面发生了什么,只能靠猜测,导致输出编造(如 committer 编造了跟实际不符的参数名)。 ## 复现 Thread `06F5MMQ38F73W3ZDZ1VGDJC6B8`(#471)的 committer 步骤: - 没看 git diff,commit message 里写了 `--page/--since/--sort` - 实际实现的是 `--skip/--take/--after/--before` - 因为 committer 是首次参与,context 里几乎没有历史信息 ## 根因 `buildAgentPrompt` 对"从上次参与以来"的步骤构建上下文。首次参与的角色"上次参与"不存在,所以只拿到极少的上下文(system prompt + 最后一步的 meta/content)。 ## 期望行为 首次参与的角色应获得足够的历史上下文来理解 thread 全貌: 1. **所有步骤的 meta** — 知道每一步的角色和结论(plan ready / done / approved / passed) 2. **最后 N 步的 content** — 看到最近的详细输出(如 tester 的验证报告) 3. **start prompt** — 知道原始任务是什么 这样 committer 不需要主动 `uwf thread read`,prompt 自带足够信息就能写出准确的 commit message 和 PR description。 ## 实现方向 在 engine 构建 `ThreadContext.steps` 时: - 检测当前角色是否曾出现在历史步骤中 - 若首次参与,提供全部步骤的 meta + 最后 2-3 步的 content(受 quota 限制) - 若非首次参与,保持现有逻辑(从上次参与以来的步骤) ## 关联 - #466 的 content 透传已解决"能看到上一步内容"的问题 - 本 issue 解决"首次参与角色看不到更早历史"的问题 --- 小橘 🍊(NEKO Team)
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: uncaged/workflow#473