agent - 身份、指令与输出属性
2026年2月2日 下午5:57:14
1、name、role、profile、instruction 身份属性
name,role,profile 和 instruction 是极为关键的属性。
| 属性 | 默认值 | 描述 |
|---|---|---|
| name | react_agent | 身份标识(必须团队内唯一) |
| role | 角色职责,表达:我是什么人?能干什么? | |
| profile | / | 档案画像,加入团队协作时,告诉队友我的详细档案 |
| instruction | 核心指令,表达:我要注意什么?或做什么?。支持 #{xxx} 模板形式 |
示例:
// 客户验证专员:身份真实性核查
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 (一般在团队协作时用)示例:
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 示例:
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);