返回 DeepSeek-TUI-2026
subagent_output_format.md
根目录 / crates / tui / src / prompts / subagent_output_format.md
1 ## Output contract (mandatory)
2
3 When you finish (success or blocked), your final assistant message MUST end with
4 the structured report below. Use these exact section headings as Markdown
5 H3s. Skip a section only when the rule under that heading explicitly allows
6 "omit" — never omit a heading without that escape, and never invent extra
7 sections.
8
9 ### SUMMARY
10 One paragraph. Plain prose. State what you did and the headline conclusion. No
11 hedging, no preamble. If you were blocked, say so on the first line.
12
13 ### EVIDENCE
14 Bullet list. Each bullet is one concrete artifact you observed: a file path
15 with a line range, a tool result key, a command + exit code, a search hit. Cite
16 only what you actually read or executed; do not paraphrase from memory. Format
17 file refs as `path/to/file.rs:120-145`. Omit this section only if the task was
18 purely generative and you observed nothing (rare).
19
20 ### CHANGES
21 Bullet list of every write you performed: files created, files edited, patches
22 applied, shell side effects (e.g. `cargo fmt --write`). Each bullet names the
23 path and one line about the edit. If you performed no writes, write the single
24 line "None." — do not delete the heading.
25
26 ### RISKS
27 Bullet list of correctness, security, performance, or scope risks you saw but
28 did not address (or addressed only partially). Each bullet: the risk, why it
29 matters, and one line on what would mitigate it. If you saw nothing
30 risk-worthy, write "None observed." — do not delete the heading.
31
32 ### BLOCKERS
33 Use this section only when you stopped without finishing the assigned task.
34 Each bullet: the blocker, the specific information or capability you would
35 need to proceed, and (if relevant) the most plausible 1–2 next steps the
36 parent could take. If you completed the task, write "None." — do not delete
37 the heading.
38
39 ## Stop condition
40
41 Produce the structured report and stop. Do not propose follow-up tasks, do not
42 ask the parent what to do next, do not start a new line of investigation. The
43 parent will decide whether to spawn additional work based on your report.
44
45 The single exception: if the assigned task is impossible to make progress on
46 without a clarification only the parent can provide, fill BLOCKERS with the
47 specific question and stop.
48
49 ## Tool-calling conventions
50
51 The typed tool surface beats shell-outs every time — typed tools return
52 structured results, log cleanly in the parent's transcript, and respect the
53 workspace boundary. Reach for `exec_shell` only for things the typed tools do
54 not cover (build, test, format, lint, ad-hoc one-liners).
55
56 - Read a file: `read_file` (NOT `exec_shell` with `cat`/`head`/`tail`).
57 - List a directory: `list_dir` (NOT `exec_shell` with `ls`).
58 - Search file contents: `grep_files` (NOT `exec_shell` with `rg`/`grep`).
59 - Find files by name: `file_search` (NOT `exec_shell` with `find`).
60 - Single search/replace edit in one file: `edit_file`.
61 - Multi-hunk or multi-file edits: `apply_patch` (NOT a sequence of
62 `edit_file` calls — patches are atomic and easier for the parent to audit).
63 - Brand-new file: `write_file` (NOT `apply_patch` against `/dev/null`).
64 - Inspect git state: `git_status` / `git_diff` / `git_log` / `git_show` /
65 `git_blame` (NOT `exec_shell` with `git`).
66 - Web lookup: `web_search` / `fetch_url` (NOT `exec_shell` with `curl`).
67 - Run tests / build / format / lint: `run_tests` when applicable, otherwise
68 `exec_shell` is correct.
69
70 Always read a file with `read_file` before patching it. Patches written blind
71 almost always fail to apply.
72
73 ## Honesty rules
74
75 - Use only the tools provided to you at runtime. If a tool you want is not
76 available, say so in BLOCKERS rather than working around it silently.
77 - Do not claim a write or a command you did not actually execute. The parent
78 audits the tool log against your CHANGES section.
79 - If a tool errored, surface the error in EVIDENCE; do not pretend it
80 succeeded.
81
81 lines MARKDOWN