diff options
| author | Danilo M. <danix@danix.xyz> | 2026-07-31 19:28:16 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-07-31 19:28:16 +0200 |
| commit | fe335db0cdc72cc190c290479d24c6469e2c07ab (patch) | |
| tree | 43f1996795bbb9bf41ba793422d6581c5a60992c /docs | |
| parent | 0e35416128e38f158af49935262ecbf8dbf585e6 (diff) | |
| download | llamachat-fe335db0cdc72cc190c290479d24c6469e2c07ab.tar.gz llamachat-fe335db0cdc72cc190c290479d24c6469e2c07ab.zip | |
The comments and README stated flatly that a second tool call always comes
back as literal <tool_call> XML. On llama.cpp b10208 that is no longer true:
forcing a follow-up by starving the first search gave 1/5 parsed as a
structured call, 1/5 leaking XML, 3/5 answered without searching again.
Earlier builds never parsed it.
Still not reliable enough to raise max_searches, since the failure mode is
a blank reply, but the wording should not read as permanent when it was
measured once against one build.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/superpowers/specs/2026-07-31-web-search-design.md | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/docs/superpowers/specs/2026-07-31-web-search-design.md b/docs/superpowers/specs/2026-07-31-web-search-design.md index 46ebc91..36732f7 100644 --- a/docs/superpowers/specs/2026-07-31-web-search-design.md +++ b/docs/superpowers/specs/2026-07-31-web-search-design.md @@ -249,7 +249,17 @@ structured call for the loop to act on, so the turn ends with a blank reply. Reproduced 3/3 with Qwen3.5-9B through the router. A retry with the tool withdrawn was tried and rejected: it recovered an answer only some of the time and could surface the raw XML to the user, which is worse than the -blank it replaces. The cap is 1 until the template parses follow-up calls. +blank it replaces. + +Retested on llama.cpp b10208, forcing a follow-up by starving the first +search: 1/5 parsed as a structured call, 1/5 still leaked XML, 3/5 answered +without searching again. So newer builds do parse follow-up calls sometimes, +where earlier ones never did. Not reliable enough to raise the cap: the +failure mode is a blank reply, which is the worst available output. + +In practice this is rarer than those numbers suggest. With enough search +engines enabled the first round returns plenty, so the model seldom needs a +second call at all. ## Notes |
