Tool Calling
PreviewSelection, argument synthesis, parallel calls and result handling.
Pimsy selects tools from the step goal rather than requiring the caller to name one. Explicit tool hints are honoured when supplied.
Selection#
- 1
Candidate retrieval
Tools are retrieved by semantic match against the step goal, filtered by the effective capability set.
- 2
Ranking
Candidates are ranked on description fit, historical success rate for similar steps, cost and effect class.
- 3
Argument synthesis
Arguments are produced against the schema. Missing required values trigger an investigation step, not a guess.
- 4
Dispatch
The policy engine evaluates the call; allowed calls execute, gated calls raise an approval request.
- 5
Normalization
Results become observations with provenance, size accounting and truncation markers where applicable.
Parallel calls#
{
class="tok-str">"step": class="tok-str">"s4",
class="tok-str">"parallel": [
{ class="tok-str">"tool": class="tok-str">"markets.quote", class="tok-str">"args": { class="tok-str">"symbols": [class="tok-str">"NVDA", class="tok-str">"AMD"] } },
{ class="tok-str">"tool": class="tok-str">"markets.fundamentals", class="tok-str">"args": { class="tok-str">"symbol": class="tok-str">"NVDA", class="tok-str">"period": class="tok-str">"ttm" } },
{ class="tok-str">"tool": class="tok-str">"web.search", class="tok-str">"args": { class="tok-str">"query": class="tok-str">"NVDA Q2 class="tok-num">2026 datacenter revenue" } }
],
class="tok-str">"concurrency": class="tok-num">3
}Forcing or excluding tools#
await pimsy.tasks.create({
objective: class="tok-str">"Reconcile last month's invoices against the ledger.",
tools: {
allow: [class="tok-str">"db.query", class="tok-str">"files.write", class="tok-str">"sandbox.exec"],
deny: [class="tok-str">"web.search"], // keep the run offline
hints: { class="tok-str">"reconciliation": class="tok-str">"db.query" }
}
});Last updated 2026-09-03

