summaryrefslogtreecommitdiffstats
path: root/AGENTS.md
diff options
context:
space:
mode:
Diffstat (limited to 'AGENTS.md')
-rw-r--r--AGENTS.md22
1 files changed, 22 insertions, 0 deletions
diff --git a/AGENTS.md b/AGENTS.md
index 6e66526..9966849 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -479,6 +479,28 @@ of 2000-character results ~4k), so the 20-message window and the
`stop processing: n_tokens = N, truncated = 0` per request, but it is
shared with every router client, so it cannot be attributed to the
assistant. `truncated = 1` there would mean an overflow.
+- 2026-09-28: history now keeps tool calls with placeholder results (see
+ "Tool calls in history"), window 10 whole turns. Each past call adds
+ ~50 tokens, so the worst case goes from ~9k to ~10k (10 turns of 3
+ calls). Full results kept would
+ have been ~22k.
+
+### Tool calls in history (2026-09-28)
+
+"Ci sono aggiornamenti da installare?" after four exchanges (time, mail,
+calc, calendar) got "12 updates, 3 security fixes, a kernel bump" with
+no tool call: invented, the system was up to date. History kept only
+what was said, so the model saw factual answers with no tool behind them
+and copied that. Replayed against the live model, 10 runs each: that
+history 1/10 called `updates`, empty history 10/10; a system prompt
+line saying earlier answers came from hidden tool calls 0/10 (worse);
+the same history with its tool calls kept 10/10, whether results were
+kept whole, cut to 200 characters, or replaced by a placeholder "(shown
+to the user at the time)" (**chosen**, cheapest). With the placeholder, a
+follow-up on an old result ("chi ha mandato la terza email?") calls the
+tool again, 10/10, no invented answer; costs one extra tool call. The
+"never guess" rule alone does not hold once history shows tool-less
+answers.
### Barge-in (2026-09-26)