Files

23 lines
1.5 KiB
Markdown

# Harness 组件:从一次请求逐步认识
这里不按照 Java 包逐个介绍组件,而是沿着一次诊断请求,分四步回答四个问题。
```mermaid
flowchart LR
Q["一个诊断请求来了"] --> C1["01 运行控制<br/>怎样保证这次执行受控"]
C1 --> C2["02 Agent 接入与收敛<br/>怎样让 Agent 工作但不空转"]
C2 --> C3["03 Tool 事实边界<br/>怎样安全地取得事实"]
C3 --> C4["04 验证与发布<br/>怎样决定结果能否交给用户"]
```
| 顺序 | 先回答的问题 | 涉及的职责域 |
|---|---|---|
| [01 运行控制](01-运行控制-让一次请求有边界.md) | 谁创建 Run,谁限制资源,谁记录它如何结束? | Application、Core、Retry、Audit |
| [02 Agent 接入与收敛](02-Agent接入与收敛-让推理可以工作也可以停止.md) | 怎样使用框架 ReAct,同时阻止重复查询和无增益空转? | Agent、Progress |
| [03 Tool 事实边界](03-Tool事实边界-让模型看到必要信息而系统保留真相.md) | Tool 原始结果由谁保存,模型究竟能看到什么? | Tool |
| [04 验证与发布](04-验证与发布-让未经证明的结论无法越过出口.md) | 引用真实是否等于结论成立,最终由谁决定发布? | Guard、Release、Contract |
建议一次只读一篇。每篇读到“先记住这些”就可以停下;类名只在最后用于定位代码。
需要查全部生产类型时,再使用[组件全景参考手册](../Harness组件全景-职责-设计原因与边界.md)。