agent: Fix creating files with Gemini (#31439)

This change instructs models to wrap new file content in Markdown fences
and introduces a parser for this format. The reasons are:

1. This is the format we put a lot of effort into explaining in the
system prompt.
2. Gemini really prefers to do it.
3. It adds an option for a model to think before writing the content

The `eval_zode` pass rate for GEmini models goes from 0% to 100%. Other
models were already at 100%, this hasn't changed.


Release Notes:

- N/A
This commit is contained in:
Oleksiy Syvokon
2025-05-26 16:36:21 +00:00
committed by GitHub
parent bffde7c6b4
commit 6253b95f82
7 changed files with 356 additions and 45 deletions
Generated
+1
View File
@@ -683,6 +683,7 @@ dependencies = [
"language_models",
"log",
"markdown",
"once_cell",
"open",
"paths",
"portable-pty",