# ✘ 简陋(官方样题 Q2 的原始状态)
get_customer: "Retrieves customer information"
lookup_order: "Retrieves order details"
# ✔ 可区分
get_customer: "Look up a customer account by email, phone, or customer ID (format CUS-######).
Use this FIRST to verify identity before any order or billing operation.
Returns account status, tier, and contact info. Does NOT return order data —
use lookup_order for anything about a specific purchase."
lookup_order: "Look up a single order by order number (format ORD-###### or a 12-digit
legacy ID). Use for questions about one purchase: status, items, totals,
shipment. Requires a verified customer ID from get_customer. Does NOT search
across a customer's order history."
Production logs show your agent calls search_kb when users ask about specific ticket numbers ("what's the status of TKT-88213?"), instead of get_ticket. Both descriptions are one line: "Searches the knowledge base" and "Gets ticket data". Both accept string identifiers. What is the most effective first step?
D2 过度工程违反 P2D:合并是站得住的架构选择,但作为「first step」过重(官方样题 Q2 的 D 选项原判)。当前问题是描述不足,先修描述。
ch11 · Q2 · 准则 P1
You rewrote both tool descriptions with input formats, examples, and explicit boundaries. Selection improved from 61% to 74% but plateaus there. The remaining failures cluster on billing-related phrasings, where the agent calls get_account even when the user clearly names an invoice. Your system prompt contains: "For any billing question, start by confirming the customer's account standing." What should you check?
正确 BTS 2.1 的第四条:system prompt 中对关键词敏感的指令可能覆盖写得很好的工具描述,制造非预期的工具关联。题干把证据摆得很齐——失败精确地聚集在 billing 措辞上,而 system prompt 里正有一条 billing 关键词触发的指令。guide 把「审查 system prompt 的关键词敏感指令」单列为一条 skill。
An incident-triage agent delegates every database inspection to a specialized db_agent through the coordinator. Instrumentation over 640 triage runs shows 22% of the inspections are single-row status reads, while 78% need multi-table joins, query-plan reasoning, and schema history; the delegation hop adds about 1.2 s to a triage flow that averages 45 s end to end. The triage agent's own set is already eight tools. A teammate proposes adding a ninth so the simple reads stop paying the hop. What should you do?
Your code-exploration agent has a fetch_url tool used to pull documentation pages. In testing, the agent occasionally uses it to hit internal admin endpoints discovered in config files. You want to keep the documentation capability. What is the appropriate change?
Your document-analysis subagent exposes one tool, analyze_document, described as "Analyzes a document and returns findings." Callers use it for three different purposes: pulling numeric data points, producing summaries, and checking whether a specific claim is supported by the source. Output shape varies unpredictably and downstream parsing is unreliable. What should you do?
After integrating three MCP servers, your single support agent now has 18 tools available. Tool selection accuracy has dropped noticeably, with the agent sometimes reaching for repository tools during billing conversations. All 18 tools are individually well described. What is the most effective structural change?
A research system has analyze_content (used by the web search agent on retrieved pages) and analyze_document (used by the document agent on uploaded PDFs). Both are described as "Analyzes content and extracts key information." Agents frequently call the wrong one, and the two produce differently shaped results. What is the appropriate fix?