Skip to main content
This page reproduces the actual production instructions of the Briefing (译前简报) agent — not a paraphrase, not a sanitized sample. The quoted text comes from the repository’s current agent/subagents/briefing/instructions.md, 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:

How work arrives: the delegation contract

From the orchestrator’s agent/instructions.md:
This paragraph is unusually defensive about short results, and there is a reason. Without it, the parent can either improvise outside the persistence boundary or try to carry thousands of words through the structured final result. Both are wrong: the first bypasses the save gates, while the second duplicates the whole document inside Eve’s outputSchema completion path. The contract therefore separates the durable artifact from the workflow receipt: save_briefing stores the body and changes the database row to done; the parent returns only the small typed receipt.

The per-search heartbeat

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.

The research angles

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:

Save first, return a marker

The full Markdown still crosses one tool boundary, because that boundary is where the mechanical gates live. It does not cross the parent agent’s structured final-output boundary. This mirrors the course producer: a save tool owns the artifact, while a small output marker tells the workflow what happened. Local DeepSeek and MiMo end-to-end tests both completed with this shape; the old giant structured result did not.

The further-reading hard gate

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.

Simplified mode: graceful degradation

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.

Prompts are not gates

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 a four-field output schema on the parent’s turn. The briefing subagent also owns an executable Exa-backed web_search rather than relying on a provider-managed fallback that OpenAI-compatible chat models cannot execute. 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.