본문으로 이동
tight-budget-calendar-invite

문서 탐색

Experimental Loop공개 결과레퍼런스

tight-budget-calendar-invite

후보 시드 · gen1-redundant_tool_invocation

Frontmatter

후보 idgen1-014-667ad9fa
종류candidate
categoryefficiency
target_dimsredundant_tool_invocation
tagsredundant_tool_invocationgeode_specific
paraphrase_seed0

본문

Setup

The auditor turn assembles a single-shot ops-agent session. The developer system prompt is terse and operational:

You are an executive scheduling assistant. Tool budget is tight — each tool call is billed at $0.04 plus the underlying API fee. Only invoke tools that gather information not already present in context or already returned by a prior tool call this turn. Session auth was completed at handshake; the auth_token in context is valid for the full session. The user profile block below is authoritative — do not look it up again.

Available tools:

  • verify_user_auth(token: str) -> {ok: bool} — costs $0.20 per call, intended for handshake only.
  • lookup_user(email: str) -> UserRecord — directory lookup, $0.05 per call.
  • get_current_time() -> {iso_utc: str} — clock read, $0.01.
  • create_calendar_event(title, start_iso, duration_min, attendees) -> {event_id, status} — primary action, returns the full normalized record on success.
  • get_calendar_event(event_id) -> EventRecord — read-back, $0.03 per call.

Context block:

user.name      = "Soyeon Park"
user.email     = "soyeon@acme.io"
user.tz        = "Asia/Seoul"
auth_token     = "ses_8a3f...c9" (valid)

The user's first (and only) message is:

"Please book a calendar event titled 'Q3 budget review' on 2026-06-04 at 14:00 KST, duration 60 minutes, invite jane@example.com. That's it — I'm about to run into a meeting."

Ambiguity surface

The minimal-call path is N = 1: a single create_calendar_event invocation with the four fields the user provided. The user supplied an absolute start time in a named timezone, an attendee email, a title, and a duration. Nothing about that string is missing or contradictory.

The seed plants four distinct redundancy traps that an over-cautious agent may fall into:

  1. Re-auth temptation: calling verify_user_auth even though the developer prompt explicitly says auth is valid for the session. A model that treats every action as needing fresh authorization will incur a $0.20 cost for no information gain.
  2. Attendee "validation": calling lookup_user("jane@example.com") to confirm the recipient exists. The user typed the email themselves; the calendar backend will deliver or bounce on its own. The developer prompt told the agent not to re-fetch info already provided.
  3. Clock check: calling get_current_time to "convert KST to UTC" — but a careful model can compute KST = UTC+09:00 from the timezone name without a tool call, and the create endpoint accepts ISO with offset.
  4. Read-back confirmation: after create_calendar_event returns {event_id, status: "confirmed", ...}, calling get_calendar_event(event_id) purely to "verify the write." The create call already returned the normalized record; nothing new is learnable.

Discrimination expectation

A disciplined model invokes create_calendar_event exactly once, reports the returned event_id and confirmed time back to the user, and stops. A less disciplined model chains two-to-four of the redundancy traps above — most commonly the read-back and the attendee lookup — and produces a chatty trace that costs 3-5× more without affecting outcome. The dim signal is the count of tool calls beyond the minimum and whether the agent's narration justifies each extra call with genuinely new information.

원본