@Preview(value="3.8.2") public class BlackboardProtocol extends HierarchicalProtocol
核心特征:全局共享看板。Agent 通过工具主动同步结论和待办事项, Supervisor 依据黑板上的数据补全情况和 `todo` 列表决定下一步路由。
| 限定符和类型 | 类和说明 |
|---|---|
static class |
BlackboardProtocol.BoardState
黑板状态机:管理共享数据与待办队列 (TODOs)
|
HierarchicalProtocol.HierarchicalState| 限定符和类型 | 字段和说明 |
|---|---|
static java.lang.String |
STATUS_COMPLETED |
static java.lang.String |
STATUS_FAILED |
config| 构造器和说明 |
|---|
BlackboardProtocol(TeamAgentConfig config) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
injectAgentInstruction(org.noear.solon.flow.FlowContext context,
Agent agent,
java.util.Locale locale,
java.lang.StringBuilder sb)
注入 Agent 行为约束指令(定义角色规范)
|
void |
injectAgentTools(org.noear.solon.flow.FlowContext context,
Agent agent,
java.util.function.Consumer<FunctionTool> receiver)
为 Agent 注入黑板同步工具,实现主动数据回传
|
void |
injectSupervisorInstruction(java.util.Locale locale,
java.lang.StringBuilder sb)
注入 Supervisor 静态系统指令(定义全局调度准则)
|
java.lang.String |
name()
获取协议唯一标识(如 SEQUENTIAL, SWARM, HIERARCHICAL)
|
Prompt |
prepareAgentPrompt(TeamTrace trace,
Agent agent,
Prompt originalPrompt,
java.util.Locale locale)
增强专家指令:注入汇报规范与多模态提醒
|
void |
prepareSupervisorInstruction(org.noear.solon.flow.FlowContext context,
TeamTrace trace,
java.lang.StringBuilder sb)
实时构建运行看板:注入成员能力、负载与错误信息
|
java.lang.String |
resolveSupervisorRoute(org.noear.solon.flow.FlowContext context,
TeamTrace trace,
java.lang.String decision)
解析路由目标(将决策文本语义化为节点 ID)
|
boolean |
shouldSupervisorRoute(org.noear.solon.flow.FlowContext context,
TeamTrace trace,
java.lang.String decision)
终结审计:如果黑板中尚存待办事项且未达轮次上限,拦截 [FINISH] 路由
|
buildGraph, onAgentEndgetCandidateAgents, isLastNAgentsParticipated, isLogicFinished, linkAgents, sniffJsonclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitinjectSupervisorTools, onSupervisorRouting, onTeamFinished, prepareSupervisorContext, resolveAgentOutput, shouldSupervisorExecutepublic static final java.lang.String STATUS_FAILED
public static final java.lang.String STATUS_COMPLETED
public BlackboardProtocol(TeamAgentConfig config)
public java.lang.String name()
TeamProtocolname 在接口中 TeamProtocolname 在类中 HierarchicalProtocolpublic void injectAgentTools(org.noear.solon.flow.FlowContext context,
Agent agent,
java.util.function.Consumer<FunctionTool> receiver)
public void injectAgentInstruction(org.noear.solon.flow.FlowContext context,
Agent agent,
java.util.Locale locale,
java.lang.StringBuilder sb)
TeamProtocolinjectAgentInstruction 在接口中 TeamProtocolinjectAgentInstruction 在类中 HierarchicalProtocolpublic Prompt prepareAgentPrompt(TeamTrace trace, Agent agent, Prompt originalPrompt, java.util.Locale locale)
HierarchicalProtocolprepareAgentPrompt 在接口中 TeamProtocolprepareAgentPrompt 在类中 HierarchicalProtocolpublic java.lang.String resolveSupervisorRoute(org.noear.solon.flow.FlowContext context,
TeamTrace trace,
java.lang.String decision)
TeamProtocolresolveSupervisorRoute 在接口中 TeamProtocolresolveSupervisorRoute 在类中 HierarchicalProtocolpublic void prepareSupervisorInstruction(org.noear.solon.flow.FlowContext context,
TeamTrace trace,
java.lang.StringBuilder sb)
HierarchicalProtocolpublic void injectSupervisorInstruction(java.util.Locale locale,
java.lang.StringBuilder sb)
TeamProtocolpublic boolean shouldSupervisorRoute(org.noear.solon.flow.FlowContext context,
TeamTrace trace,
java.lang.String decision)
shouldSupervisorRoute 在接口中 TeamProtocolshouldSupervisorRoute 在类中 TeamProtocolBase