agentic-tool-design
Use when designing or reviewing the tools an LLM agent will call — choosing tool boundaries, argument and result shapes, retrieval/search/get decompositions, MCP or goa-ai toolset surfaces — or when an agent misuses existing tools (wrong tool picked, IDs carried between calls, wrong dates computed, confident answers about absent data).
소스 정보
- 저장소
- goadesign/goa-ai
- 최근 소스 활동
- 2026년 10월 9일 19:18
- 감지된 SKILL.md 언어
- 영어
- 스타
- 10
- 포크
- 4
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
SKILL.md 표시 중
SKILL.md
소스 지침 · 읽기 전용 미리보기- name
- agentic-tool-design
- description
- Use when designing or reviewing the tools an LLM agent will call — choosing tool boundaries, argument and result shapes, retrieval/search/get decompositions, MCP or goa-ai toolset surfaces — or when an agent misuses existing tools (wrong tool picked, IDs carried between calls, wrong dates computed, confident answers about absent data).
# Agentic Tool Design
## Overview
Tools are contracts between a deterministic system and a non-deterministic
caller. The model interprets user intent, relevance, ambiguity, and tradeoffs.
Code owns facts derivable from authenticated context, typed contracts, and
execution state: identity, authorization, correlation, pagination, exact
calculations, and valid transitions. Keep semantic choices model-driven while
enforcing their legal shape through the design.
**Design tools around the caller's goal.** Combine retrieval steps that only
move implementation-owned values between calls. Keep separate operations when
the model genuinely selects a resource or chooses a different capability. A
search followed by `get(id)` is valid when the search enables that choice.
## The recipe
Design the toolset in this order:
1. **Enumerate the caller's real questions**, not the store's entities.
Work backwards from representative questions users will actually ask.
2. **One tool per capability seam.** A seam is a different corpus, a
different side effect, or a different trust level — *never* a different
field projection of the same retrieval. A cost tool, a when tool, and a
bring tool are column masks over one query; they belong as fields of one
result.
3. **One call per referent; all projections travel together.** If two
calls independently resolve the same project name, they may select
different projects. Return related evidence together when the caller needs
it. Measure result size and use Goa-AI's bounds and pagination contracts
when complete evidence needs more than one page.
4. **Pre-compute every mechanical fact in-band.** Named date windows
(`this_week`, `friday`) resolved server-side in the right timezone and
echoed back resolved; true `total` under any row cap; sums when numeric
fields appear. The model reports arithmetic; it never performs it.
5. **State the corpus's own limits in the envelope.** An honest absence
claim ("nothing this weekend") requires the tool to say what was
coverable: `coverage: since <date>, <n> sources`. Without it the model
will confidently overclaim what the corpus never contained.
6. **Semantic values in, semantic values out.** User or project *names*
as the model speaks them, resolved against the closed roster server-side;
ambiguity returns a correction listing real candidates. Stable resource
identifiers stay visible when the model selects among those candidates.
Keep cursors, continuation state, credentials and execution correlation
outside model arguments; reuse generated metadata and runtime ownership.
7. **Validate required answer evidence.** When an application requires
citations or a typed final answer, define that contract and check it against
accepted evidence. Do not assume the framework supplies an evidence-ordinal
journal or requires every agent to finish through an exit tool.
8. **Errors teach.** Every rejectable call returns a correction the model
can act on, such as the missing field and a valid authored example. Keep
authorization failures and unknown tool outcomes distinct from correctable
model arguments.
## The placement principle
**Put model intelligence where its mistakes are loud.** Wrong arguments
fail loudly and corrections teach mid-run. Wrong *tool selection* among
overlapping tools succeeds silently — the when-tool returns *a* date and
nobody errors. So: few tools with rich arguments over many tools with thin
ones, and overlap between tool descriptions is a defect, not a convenience.
## Boundary test
Trace each value between calls. A stable resource ID used for a real selection
is different from an opaque cursor or continuation copied without a decision.
Let runtime code own the latter, with explicit ordering and parallel-call
semantics. Review valid caller choices beyond the failing example.
## Quick reference
| Symptom in a design | Defect | Fix |
|---|---|---|
| A follow-up call only copies an opaque transport value | Completion assigned to the model | Bind it through generated metadata or runtime state |
| Two retrieval tools accepting the same filters | Overlap → silent mispick | One tool per corpus; split only on capability seams |
| Model computes dates, counts, or sums | Mechanical work on the model | Named windows, `total`, `sums` in the envelope |
| Empty result ⇒ model says "there is none" | Unbounded absence claim | Declared coverage and accepted evidence |
| Model arguments repeat a cursor, continuation, or execution identity | Mechanical correlation assigned to the model | Runtime owns it; retain stable IDs for genuine resource choices |
| "cost_of", "when_is", "who_sent" tools | Projections dressed as tools | Fields of one dossier |
| Retrieval matches titles only | Recall gap for prose questions | Match bodies too; return the matched quote as evidence |
## When many tools ARE right
Splitting is correct across genuine capability seams: read vs. mutate
(side effects are the strongest seam), different corpora (structured
records vs. raw source text), different cost/latency tiers, different
permission levels. Selection between *disjoint* capabilities is a decision
models make well; selection between overlapping projections is not.
## Evals arbitrate
Every rule above is testable: score answer-correctness per question class
against the toolset. If a design choice can't move that score, it is
taste, not design. Keep a held-out set; tool descriptions are prompt
surface and overfit like any prompt.
GitHub에서 보기