这是一篇由原始材料转换而来的阅读页,保留了源文件的主要结构,并补充了可追溯的来源说明与链接。
Define what the system is trying to improve, under which constraints, and according to which tradeoffs.
Pattern: Objective
Purpose
Define what the system is trying to improve, under which constraints, and according to which tradeoffs.
Why it matters
If the objective is vague, agents optimize proxies. If the objective is unstable, results are incomparable. If constraints are implicit, optimization becomes unsafe or misleading.
Required fields
A usable objective definition should include:
-
Primary metric - the main quantity being optimized - state whether higher or lower is better
-
Secondary constraints - memory, latency, code complexity, cost, stability, safety
-
Non-goals - what the agent must not optimize for
-
Acceptable tradeoffs - what may be sacrificed, and within what range
Example shape
## Objective
Primary metric:
- minimize `val_bpb`
Secondary constraints:
- avoid large VRAM increases
- prefer simpler code when gains are small
- maintain run stability
Non-goals:
- do not optimize for prettier logs
- do not optimize by changing evaluation rules
Good properties
A good objective is: - measurable - comparable across runs - difficult to game accidentally - aligned with the real task outcome
Anti-patterns
- “make it better”
- multiple conflicting primary objectives
- hidden human preferences not written anywhere
- no statement of acceptable tradeoffs
Rule of thumb
If a third party cannot decide whether a run improved the system by reading the objective, the objective is not defined well enough.
来源与参考
源文件: autoresearch/patterns/objective.md
来源目录: /srv/project/harness-engineering