「总结这个网页」跑了 8 分钟没出结果,且偏离成主题调研——抓取失败后盲目换站
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 0
- Avg merge
- 1h 7m
- Merged PRs (30d)
- 969
Description
## 现象(人类 2026-09-09 在 devapp 实测,baseline `0707985d1`)
用户输入:**「总结这个网页:https://openai.com/index/navier-stokes-solution/」**
轨迹显示:**历时 08:02、工具 6 次、技能活动 20 项,仍在「正在执行」**,且状态栏写着「有失败步骤」。
### agent 的实际行为序列
1. 枚举 20 个技能的元数据(另见 #3206)
2. `fetch_url` 那个 URL → 被拒
3. `web_search` 搜「OpenAI Navier-Stokes millennium prize problem solution AI generated proof Lean 2026」→ **成功**,返回结果里就有目标 URL 的标题与摘要
4. `fetch_url` **nytimes.com** 的另一篇报道 → 同样被拒
5. `web_search` 又搜一轮「\"Navier-Stokes\" OpenAI solution proof agents Lean writeup details summary」
## 三个独立问题
### ① 任务偏移:从「总结指定网页」变成「做主题调研」
用户给的是**一个具体 URL**。抓取失败后,agent 没有如实报告「这个网页取不到」,而是自作主张去搜索主题、并去抓**另一个网站**(nytimes)。**这不是用户要的**——用户要的是那一页的内容,不是关于这个话题的综述。
期望行为需要产品定义,但至少两条是清楚的:
- 抓取指定 URL 失败时,**应当明确告诉用户失败了**,而不是静默改做别的;
- 换源(尤其换到别的域名)**改变了任务语义**,不该在用户不知情时发生。
### ② 收敛失败:8 分钟、6 次工具,仍未产出
第 3 步的 `web_search` 已经返回了目标页面的标题与摘要,理论上足以给出一个「基于搜索摘要」的总结并声明局限。agent 却继续搜第二轮。**没有收敛判据**。
### ③ 失败措辞导致的连锁反应
`fetch_url` 的返回把「被拒/不可达/超时/被自己策略拦下」压成一句 `Web source unavailable or refused`,并附带「You may choose another authorized public source」——**这句话本身在鼓励换源**。这很可能就是 ① 的直接诱因。根因排查见 #3204。
## 排查与交付要求
- **先分清这三条各自归谁**:① 是编排/提示词层,② 是收敛判据,③ 在工具返回层(#3204)。**不要合成一个补丁。**
- ① 与 ② 若涉及提示词或编排策略变更,**先给方案选项 + 推荐,不要直接改**——它们会影响所有任务的行为。
- **先写可证伪预测再取证**:换源行为是提示词诱导的,还是编排逻辑里的显式回退分支?两者修法不同。
- 反证必做:造一条会红的断言复现「指定 URL 抓取失败后,agent 去抓了别的域名而没有告知用户」。
- 人类正在验收测试,改动小而收敛。
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by tracing the fetch_url failure and web_search fallback described here, using #3204 and #3206 as related investigations. Write a falsifiable test for a failed requested-URL fetch leading to another domain being fetched without notification, then determine whether prompts or orchestration cause it. Done means the three concerns are separated and options are proposed before behavior changes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- ai, backend-api-design, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100