✦ TEAM BRIEF · 内部必读

描述目标,而不是描述结果

Agent 时代的提示工程核心原则 —— 从 Anthropic / OpenAI 的官方实践中找到的支撑

这份文档回应团队最近的讨论:为什么"回答要简洁清晰"不是一个好的提示,而"考虑人类的阅读疲劳,有节奏和结构化推进你的回复"才是。答案是 —— 这不是我们的发明,是 Anthropic、OpenAI 这些做 agent 的团队反复印证的设计原则。本文件用这些团队的官方文档、博客、工具说明做证据,证明这条原则在 Agent 时代是工业级共识。

一、原则本身(来自 Tim 的提炼)

Tim 在讨论里给出的对比:

差的提示 · 描述结果
「回答要简洁清晰」
好的提示 · 描述目标
「考虑人类的阅读疲劳,有节奏和结构化推进你的回复,可以减轻阅读疲劳」

差的提示给出的是结果态——一个形容词、一个状态描述;好提示给出的是目标 + 原理 + 路径提示——你想达成什么、为什么达成、如何达成。

Tim 的总结:「需要学会把结果翻译成目标的能力。」 这句话本身比原则更重要——它是这条原则的元能力。没有它,你只能照搬别人给的目标;有了它,你能持续地把"要 X"翻译成"为什么 X / 如何 X / 什么算 X 达成了"。

团队设计消息时调优的不是"短",而是"降低阅读疲劳和认知负担"。"短"是当前上下文的最优解,不是目标本身。
—— Instinct 团队设计访谈中的实践

二、模型团队的官方实践印证

这条原则不是我们的偏好——是 Anthropic、OpenAI 在官方文档、agent 设计指南、提示工程规范里反复出现的共识。下面用他们自己的原话来证。

Anthropic OpenAI

1. Anthropic:Agent 的官方定义

来自 Trustworthy Agents in Practice 的核心定义:

"An agent is an AI model that directs its own processes and tool use when accomplishing a task—that is, deciding for itself how to achieve what users want, rather than following a fixed script."

关键词:"what users want" vs "fixed script"。前者是描述目标,后者是描述结果/路径。Anthropic 把"目标驱动 / 路径固定"作为 Agent 与非 Agent 的根本分界线。

来源:Anthropic · Trustworthy Agents in Practice

2. Anthropic:Claude Code Subagent 的设计原则

Claude Code 官方文档对 subagent 的 prompt 设计给出明确指南:

"Goal Delegation, Not Step Delegation. State the goal and let the subagent choose its own path. Don't prescribe tools or steps unless the answer is at a known location."

官方给的对比例子(这跟 Tim 的对比是完全同构的):

差 · Step Delegation
"Run grep for DATABASE_URL, then read each file..."
描述路径、步骤
好 · Goal Delegation
"Find every place that reads DATABASE_URL. For each, report the file path, surrounding function, and whether it's used at startup or per-request."
描述目标 + 期望输出

官方还强调 Subagent 的 description 字段必须写成 "when to use",不能写成 "what it is":

差 · 描述是什么
"Reviews code"
好 · 描述何时用
"Reviews code changes for security issues. Use proactively before commits touching auth, payments, or user data."

来源:Anthropic · Subagents in Claude Code

3. Anthropic:Claude 4 的 System Prompt 最佳实践

Claude 4 时代的官方 prompt 工程指南原话:

  • "Tell Claude exactly what to do, rather than what not to do." —— 直接说要做什么,不说不要做什么。
  • "Use clear, imperative language ('Use this tool when...' rather than 'Don't use that tool when...')." —— 同样的规则:正向描述。
  • "Explain why certain behaviors matter (Claude responds better when it understands reasoning)." —— 必须解释why。
  • "Include information about the user's goals." —— 把用户目标写进 system prompt。
  • "Put the most important instructions at the beginning and end." —— 最重要信息前置(呼应 Instinct 团队的做法)。

来源:Anthropic · Prompt Engineering Overview

4. OpenAI:A Practical Guide to Building Agents

OpenAI 在 2024 年发布的官方 agent 构建指南,把 Instructions(指令)作为 Agent 的三大基石之一(Model / Tools / Instructions),并明确建议:

  • "Clear goals" —— 定义明确的任务输入和输出。
  • "Task decomposition" —— 拆解工作流,但拆的是任务,不是步骤(区别于传统 SOP 思路)。
  • "Leverage existing SOPs" —— 把现有流程文档转成 Instructions,而不是照搬成步骤。
  • "Edge case handling" —— 设计回退路径时,给的是目标判断标准,不是触发条件清单。

工具定义也是同一逻辑——name 是 action-oriented,description 解释何时调用:

# 工具描述的官方范式 name: search_knowledge_base description: Searches internal documentation. Use when the user asks about company policies.

来源:OpenAI · A Practical Guide to Building Agents(PDF)

5. OpenAI:Prompt Engineering 核心原则

OpenAI 官方 prompt engineering guide 的第一条建议:

"Be specific about what you want — describe the desired outcome in detail rather than just listing what you don't want."

这一条直接对应 Tim 的对比:「不要做 X」 →「要做 Y,因为 Z」。

来源:OpenAI · Prompt Engineering Guide

三、所有证据收敛到同一个结构

把上面的证据放在一起看,所有模型团队都在用同一套底层设计语言:

维度 描述目标 描述结果
Goal "what users want" 形容词、状态描述
Subagent Goal delegation Step delegation
Tool description when to use what it is
Instructions do / use when don't / avoid
Reasoning explain why no rationale

五家团队、五种语言,落到的是同一张表。这就是为什么这条原则值得团队同学内化——不是品味之争,是工程共识。

四、给团队的可操作建议

提示工程师

  • 每个 system prompt 显式包含 goal / why / when 三段,不只是 instruction。
  • 默认"做 X,因为 Y"句式——OpenAI / Anthropic 都明确建议正向描述。
  • 把所有"不要做 X"全部重写成"要做 Y,因为 Z"。

Agent / Subagent 设计师

  • Subagent prompt 写目标 + 期望输出,不写工具和步骤(Claude Code 官方明确建议)。
  • Subagent 的 description 字段写"何时调用",不写"是什么"。
  • Tool description 写"解决什么问题 + 何时使用",不写"做什么操作"。

产品 / 需求方

  • 需求里区分"用户目标"和"实现细节"两栏。用户故事用目标表述("达成 X,以便 Y"),具体路径另列。
  • 避免"形容词式需求"——"简洁"、"漂亮"、"流畅"不是目标,是结果。追问它服务于什么。

引用清单

  1. Anthropic · Trustworthy Agents in Practice
  2. Anthropic · Subagents in Claude Code
  3. Anthropic · Prompt Engineering Overview
  4. Anthropic · Building Effective Agents
  5. Anthropic · Claude Cowork (Goal-oriented framing)
  6. OpenAI · A Practical Guide to Building Agents
  7. OpenAI · Prompt Engineering Guide
  8. Anthropic Console · Define Your Agent