### 1、name、role、profile、instruction 身份属性


name，role，profile 和 instruction 是极为关键的属性。

| 属性         | 默认值       | 描述          |
| -------- | -------- | -------- |
| name               | react_agent     | 身份标识（必须团队内唯一）     |
| role                  |       | 角色职责，表达：我是什么人？能干什么？     |
| profile             | / | 档案画像，加入团队协作时，告诉队友我的详细档案  |
| | | |
| instruction    |      | 核心指令，表达：我要注意什么？或做什么？。支持 `#{xxx}` 模板形式      |



示例：


```java
// 客户验证专员：身份真实性核查
ReActAgent customerValidator = ReActAgent.of(chatModel)
        .name("customer_validator")
        .role("身份验证与行为分析专家（负责验证用户身份的真实性与一致性）")
        .instruction("### 验证规则\n" +
                        "1. 检查实名认证状态。\n" +
                        "2. 对比收货地址与注册地址的偏移度。\n" +
                        "3. 如果是代收货人，需提高警惕级别。")
        .build();
```

### 2、、outputKey、outputSchema 输出控制属性



| 属性         | 默认值       | 描述          |
| -------- | -------- | -------- |
| outputKey               | /     |  输出答案的同时，也输出到 FlowContext（方便后续流程节点获取）     |
| outputSchema               | /     |  结构化输出。要求根据 JsonSchema 描述，输出 json 数据。(支持 string 或者 type 配置)    |

outputKey （一般在团队协作时用）示例：


```java
ReActAgent translator = ReActAgent.of(chatModel)
        .name("translator")
        .outputKey("translate_result")
        .role("翻译官")
        .instruction("直接输出译文，不要任何前缀解释。")
        .build();

ReActAgent polisher = ReActAgent.of(chatModel)
        .name("polisher")
        // 核心：框架自动解析 #{translate_result} 并替换为 Session 中的值
        .role("润色专家")
        .instruction("请对这段译文进行优化：#{translate_result}")) //一般没有必要用模板（团队协作时，会自动传递）
        .outputKey("final_result")
        .build();
        
TeamAgent team = TeamAgent.of(chatModel)
                .name("template_team")
                .addAgent(translator, polisher)
                .protocol(TeamProtocols.SEQUENTIAL)
                .build();
```

outputSchema 示例：

```java
ReActAgent extractor = ReActAgent.of(chatModel)
                .role("你是一个高精度信息提取专家")
                .instruction("从文本中提取关键实体，严格遵守 JSON Schema 规范。")
                .outputSchema(Personnel.class) //或 "{\"entity_name\": \"string\", \"birth_year\": \"integer\", \"title\": \"string\"}")
                .build();

Personnel personnel = extractor.prompt("伊隆·马斯克，1971年出生，现任特斯拉CEO。")
        .call()
        .toBean(Personnel.class);

System.out.println("人名: " + personnel.entity_name);
```


