davsclaus opened a new pull request, #29697:
URL: https://github.com/apache/camel/pull/29697

   A follow-up from r32 of the local-model benchmark (qwen3.6, 7 rounds). From 
the third identical call of a deterministic tool, the AI tools answer with a 
short note instead of the full answer. The note said what not to do: 
"camel_catalog_sample was already called with these same arguments 2 times in 
this session. Its answer does not change, so it is not sent again: it is in 
your earlier tool result." It did not say what to do instead.
   
   In 3 runs of test-citrus-orders step 1, the model asked 
`camel_catalog_sample` for "send message", which has no sample, 13 or 14 times 
in a row. It said sorry for the repeated calls and asked again, until the 25 
calls of the step were spent, and it never wrote the test. Step runs of the new 
set with such a loop (4 or more identical calls): r30 13, r31 5, r32 7, and all 
7 failed in r32.
   
   **What changes**
   
   - The note starts with the next step. Then it says how many times the call 
was asked, and that the answer is the same each time and is in the earlier tool 
result. The JSON keys (`repeated`, `tool`, `timesAsked`, `note`) are unchanged.
   - `camel_catalog_sample`: write the file now with `camel_write_file`; a 
sample that was not there is not there on the next call either. The write 
checks the file and says what to change (for a Citrus test: which actions it 
takes).
   - `camel_catalog_find`: use a match from the earlier answer, or ask with 
another term; then write the file.
   - `camel_catalog_doc`: go on with the options the earlier answer gave and 
write the file, which checks the options against the catalog. The sentence 
about `docPage` for a cut answer stays.
   - The hints of `camel_validate_source` and `camel_eval_expression` now start 
with the action too. A tool without a hint of its own gets "Go on with the next 
step of your task."
   - The camel-jbang-mcp page of the user manual describes the new note.
   
   **Tests**
   
   - `RepeatedToolCallsTest`: the r32 sample case with the exact note, 
`camel_catalog_find`, a tool without a hint, and that every hint is written as 
whole sentences.
   - camel-jbang-mcp `AuthoringToolsTest`: the repeated-call assertions check 
the `tool` key instead of the old text.
   - Run locally: the camel-jbang-core `ai` package, 1021 tests, 0 failures, 1 
skipped; camel-jbang-mcp `AuthoringToolsTest`, 14 tests, 0 failures.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   
   https://claude.ai/code/session_016Y4dDi5iQNgtHrDdz2NpwF
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to