The verbatim production instructions of the 译前简报 agent, annotated with the design reasoning behind each rule
This page reproduces the actual production instructions of the Briefing (译前简报) agent — not a paraphrase, not a sanitized sample. The quoted text is agent/subagents/briefing/instructions.md as it exists at HEAD, plus the delegation paragraph from the orchestrator’s agent/instructions.md. Elisions are marked […]; everything else is character-for-character.Publishing real prompts is the same discipline as the Truth Layer: a system that asks to be trusted should show its working parts, including the ones that look unusual out of context — the rules below exist because the shape of the job (long asynchronous writes, an orphan-recovery queue, a parent agent that could silently take over) demands them, not because they read well in isolation.The file opens by naming the job:
You write 译前准备知识简报 (pre-meeting knowledge briefings) for professional interpreters.
When a message starts with `简报任务:`, do not research or write it yourself. Immediatelydelegate the task to the `briefing` subagent. The briefing subagent persists the briefingitself (it writes the draft to a sandbox file in chunks and calls its `save_briefing` tool)and normally returns just a SHORT confirmation (短确认, e.g. 「简报已保存,标题《…》」).[…]Do NOT re-delegate merely because the returned text is short: a short confirmation meansthe briefing is already persisted (the persistence gates live in `save_briefing`; a short`contentMd` is harmlessly ignored by the completion hook).
This paragraph is unusually defensive about short results, and there is a reason. Without this rule, a parent agent watching a subagent struggle has an obvious-looking escape hatch: stop delegating and research the answer itself — that path silently produces nothing durable, because a parent working outside the briefing subagent has no save_briefing tool and none of the persistence gates, so anything it produces never reaches the database no matter how complete it looks. The rule that a short confirmation means success — because persistence lives in the tool, not in the returned text — is what keeps the parent from improvising.
As you work, call `report_progress` (kind='briefing', id=<the briefingId from the taskmessage>) immediately BEFORE every `web_search` — not just once per angle — with a shortconcrete Chinese line of what that specific search is after, so the user watches a live,moving heartbeat. This matters most in the heaviest angle (双语术语表), which fires manysearches: a per-angle-only heartbeat would freeze the progress bar for minutes while youwork. One heartbeat per search is enough — do NOT fire it on every single tool call. Usethe per-angle percent as a rough climbing anchor (it only goes up, never back): 领域速成 10 →机构画像 25 → 讲话人画像 40 → 争议与热点 55 → 双语术语表(the heaviest) 60–85 → 延伸阅读 90 →撰写与保存 95. Write the activity as the real intent, e.g. "正在搜索:宁德时代供应链争议" /"已读取:xxx.gov.cn" / "正在核对官方译法". This never blocks your work.
The heartbeat is doing two jobs at once. For the teacher watching the briefing page, it is the difference between a live research feed and a progress bar frozen at 60% for several minutes. For the queue, it is a liveness signal: orphan recovery is heartbeat-aware (see Briefing Pipeline), so a row is only reclaimed when progress genuinely goes quiet. The percent anchors are deliberately monotonic — “it only goes up, never back” — so the UI never shows a regressing bar. And the progress calls carry real artifacts, not decoration:
The instructions switch between English and Chinese mid-paragraph, sometimes mid-sentence. The mixed English/Chinese isn’t inconsistency — task messages, research, and the output spec are bilingual by design, matching how the agent works across both languages.
1. 领域速成 — what this domain is, explained plainly (ELI5), and its core concepts.2. 机构画像 — background, reputation, recent moves of the organization.3. 讲话人画像 — recent public statements, positions, notable viewpoints.4. 争议与热点 — what practitioners are debating recently. 以派发消息中给出的『今天日期』为唯一时间基准来判断"最近30天"等相对时间;严禁自行臆断年份(派发消息里已机械注入今天日期,照它算)。5. 双语术语表 — 15–30 high-frequency zh↔en term pairs for this domain. THIS IS THE INTERPRETER'S CORE ASSET — invest the most here. […] Be honest: NEVER label a rendering 官方译法 unless you actually found a cited authoritative bilingual source — an unverified guess is 参考译法. […]6. 延伸阅读 — 3–8 entries. EVERY entry MUST be a real clickable Markdown link in the form `[资源名](真实URL) — 一句话理由`, where the URL comes from your actual web_search / web_fetch results.
The angle set is a model from the interpreting literature made operational: the original briefing design spec (docs/superpowers/specs/2026-07-03-briefing-tab-design.md) anchors it to Setton & Dawrant’s LKSP model — domain-specific knowledge (angle 1) plus encounter-specific knowledge (angles 2–4: who is hosting, who is speaking, what is contested). Angle 4’s date rule exists because models guess years; the dispatcher injects today’s date mechanically and the prompt forbids the agent from trusting its own sense of “recent”. The 官方译法/参考译法 honesty rule is the prompt-level twin of the save gates: a label the agent cannot back with a citation must downgrade itself.The terminology angle also carries a field-tested arsenal of authoritative bilingual sources — down to pagination quirks and paywall traps:
The elided parenthetical names the mechanism this rule guards against. A long single-shot write on a thinking-capable model can legitimately take many minutes with no visible output in between — and from outside the session, a slow-but-alive write and a truly dead one look identical. An orphan-recovery queue has to reclaim genuinely stalled sessions on some timeout, so anything that goes silent for too long risks being requeued out from under a session that was still working. Chunked writes with a heartbeat between chunks give the queue a way to tell “alive and slow” from “dead”: each chunk both makes partial progress durable and re-signals liveness before the timeout can fire. Even the small details follow from this: the first chunk uses > rather than >> specifically so a session that gets requeued and restarted does not silently concatenate a stale partial draft with a fresh one. The mechanical-invariant philosophy behind this discipline is on the Truth Layer page.
**延伸阅读为硬完成条件**:正常模式下,`## 延伸阅读` 段必须含 ≥3 个真实可点击 markdown 链接(`[名](http…URL)`),否则落库闸(further-reading gate)拒收、任务判未完成并重试——宁可多搜也别漏真链接。If you truly cannot produce a briefing, call `mark_briefing_failed(briefingId, reason)` and say so.
Note what this sentence actually does: it doesn’t ask the agent to include links, it informs the agent of a gate that will reject the save without them. The enforcement lives in save_briefing, not in the prompt. The prompt’s contribution is the priority call — “宁可多搜也别漏真链接” (better to over-search than miss a real link) — and the escape hatch: an honest mark_briefing_failed is always preferred over a fabricated pass.
When retries run low, the dispatcher switches the task to 模式=简化 — in the prompt’s own words, “此为多次重试后的最后一搏” (the last stand after repeated retries). Two things make this degradation honest rather than a quiet quality drop. First, the gate exemption is explicit: the agent must pass simplified: true, so the further-reading gate is knowingly waived by the system, never silently bypassed by the agent. Second, the document must open by admitting what it is — that it was produced in simplified mode, that some angles are missing, and that the user can retry for a full version. The degraded artifact labels itself degraded and names the remedy.
These instructions are load-bearing, but they are not trusted. Every consequential MUST above has a mechanical twin: the further-reading floor, the minimum length, and the running-status write guard are enforced in save_briefing’s code; the heartbeats feed a heartbeat-aware orphan recovery; even the delegation contract is backed by an output schema on the parent’s turn. The prompt’s job is to get a capable agent through cleanly on the first attempt. The gates’ job is to guarantee that when the prompt fails, the user sees a retry or a clear, specific explanation, never a false success. The full gate stack is documented in Briefing Pipeline.