`ReActAgent` 的调用采用流式 API 设计，通过 `options(Consumer<ReActOptionsAmend>)` 可以对单次对话进行深度的行为控制。


### 1、调用时选项调整示例


```java
agent.prompt("帮我分析一下这个项目的代码质量")
     .session(mySession) 
     .options(o -> o.maxSteps(10)          // 增加推理步数
                    .planningMode(true)    // 开启规划模式
                    .temperature(0.7)      // 调整模型温度
                    .skillAdd(new CodingSkill())) // 临时挂载技能
     .call();
```

### 2、可用选项说明 (ReActOptionsAmend)

选项分为 ReActAgent 运行控制、模型参数控制、能力挂载（工具/技能） 以及 扩展配置 四大类。

#### A. 运行控制

这些选项直接影响 ReActAgent 循环的深度、容错和逻辑流转。



| 部分方法 | 说明 | 默认值 / 备注 |
| -------- | -------- | -------- |
| `maxSteps(int)`     | 设置单次任务最大推理步数     | 默认 8。防止 Agent 进入死循环。     |
| `retryConfig(int, long)`     | 设置重试次数及延迟（毫秒）     | 默认 3次 / 1000ms。     |
| `sessionWindowSize(int)`     | 设置会话回溯窗口大小     | 默认 8。控制短期记忆的深度。     |
| `outputSchema(String)`     | 约束输出格式 (JSON Schema)     | 强迫 Agent 输出符合特定结构的字符串。     |
| `planningMode(boolean)`     | 是否开启规划模式     | 开启后 Agent 会在 Action 前先生成 Plan。     |
| `planningInstruction(text/fn)`     | 自定义规划阶段的指令     | 支持静态字符串或 Lambda 动态生成。     |
| `feedbackMode(boolean)`     | 是否开启反馈模式     | 允许 Agent 主动调用 feedback 工具寻求人工介入。     |
| `feedbackDescription(fn)`     | 自定义反馈工具的描述     | 引导 Agent 什么时候该寻求反馈。     |




#### B. 模型基础参数 (ModelOptions)

底层大模型的通用配置。



| 部分方法 | 说明 | 默认值 / 备注 |
| -------- | -------- | -------- |
| `temperature(double)`     |  控制随机性（0.0-2.0）     |   `o.temperature(0.5)`    |
| `max_tokens(long)`     |  限制生成的总 Token 数     |  `o.max_tokens(2000)`     |
| `top_p(double)`     |   核采样控制    |   `o.top_p(0.9)`    |
| `response_format(map)`     |  强制响应格式     |   如 json_object    |
| `user(String)`     |  传递终端用户标识     |   用于服务商侧的安全审计    |


#### C. 能力挂载 (Tools & Skills)

用于动态为当前调用增加或减少“手脚”。




| 部分方法 | 说明 | 默认值 / 备注 |
| -------- | -------- | -------- |
| `toolAdd(Object)`     |    添加本地 Java 对象工具   |  自动扫描 `@ToolMapping` 注解方法。     |
| `toolAdd(FunctionTool)`     |  添加函数工具描述实例     |  手动构建的工具描述。     |
| `skillAdd(Skill)`     |   挂载 AI 技能单元    |   聚合了指令、工具和准入检查。    |



#### D. 扩展与拦截




| 部分方法 | 说明 | 默认值 / 备注 |
| -------- | -------- | -------- |
| `toolContextPut(key, val)`     |  注入工具执行上下文     |  会成为 FunctionTool 参数的一部分。     |
| `interceptorAdd(interceptor)`     |  添加 ReActInterceptor 拦截器     |   可在推理步骤前后插入自定义审计或修改逻辑。    |
| `optionSet(key, val)`     | 设置自定义扩展选项      |  用于透传给特定模型参数选项。     |















