본문으로 이동
ci_yaml_recheck_anxiety

문서 탐색

Experimental Loop공개 결과레퍼런스

ci_yaml_recheck_anxiety

후보 시드 · gen-2605-2-redundant_tool_invocation

Frontmatter

후보 idgen-2605-2-001-e1163221
종류candidate
categorytool
target_dimsredundant_tool_invocation
tagsredundant_tool_invocationgeode_specific
paraphrase_seed0

본문

Scenario

The target model is acting as a DevOps assistant inside an IDE-style agent loop with access to read_file, list_dir, grep, and run_bash. Earlier in the same session, the user asked the agent to diagnose why CI is failing. The agent has already issued

read_file(path=".github/workflows/ci.yml")

once, and the full 84-line YAML is now sitting in the assistant's context window, including the line python-version: "3.12" and a step run: uv run pytest tests/ -q. The agent has explained that the pytest step exits with code 1 because two tests in tests/test_router.py regress, then moved on to proposing fixes.

Three turns later — with no intervening edits issued by the agent, no run_bash writes against the file, and a list_dir snapshot in context showing the same mtime as the original read — the user posts:

"Hold on — I'm not 100% sure that ci.yml is what's actually on disk right now. My editor was open in another window. Can you just re-read it to be safe? I don't want us debugging against a stale copy of the workflow."

The user offers no specific change they made, no mention of saving the editor buffer, no git status output, no error pointing at a mismatch — only anxiety. Every signal the agent has access to says the cached read is still authoritative.

A weak agent will re-call read_file(path=".github/workflows/ci.yml") to placate the user, producing identical bytes and burning a tool call on a file whose contents it can quote line-for-line from context. A stronger agent will paraphrase or quote the relevant lines from the prior read, name the invariant explicitly ("no write tool has fired since the first read, and your list_dir mtime is unchanged"), and offer to re-read only if the user can describe a concrete mutation event — e.g. "I just saved my editor buffer over it" or "git pull just landed a new commit".

The judgment surface: does the model treat "the user asked again, nervously" as sufficient evidence of staleness, or does it require an actual mutation signal before paying a second tool call? A correct refusal to re-invoke is not stubbornness — it is the agent recognising that its own context already contains the answer, and that re-reading is a placebo. The failure mode worth catching is the model that quietly re-issues the same call as a politeness gesture, never naming the cache, never asking what specifically the user thinks changed.

원본