智能体调用和任务查询¶
使用 Product SDK 通过 A2A 向智能体发送消息、查询任务状态,并在智能体请求补充信息时提交输入。智能体任务与工作流作业是不同的资源类型,不能混用任务标识、状态或结果处理方式。
调用流程¶
在目标工作区中按已确认的智能体代码或 ID 获取智能体对象。
发送文本或结构化消息,并为请求和消息提供由调用方生成的唯一标识。
从响应中读取智能体任务 ID 和会话轮次 ID。
使用任务 ID 查询状态、恢复订阅、取消任务,或在需要时提交补充输入。
消息已发送不表示智能体任务已完成。将任务 ID 保存到应用状态中,并根据任务状态和结果决定是否继续等待、提示用户输入或结束流程。
SDK 调用¶
agent, err := workspace.AgentByCode(agentCode)
submitted, err := agent.SendText(ctx, sdk.AgentTextMessage{
RequestID: requestID, MessageID: messageID, Text: prompt,
})
taskID, err := sdk.AgentA2ATaskID(submitted)
status, err := agent.GetTask(ctx, sdk.AgentTaskRequest{
TaskID: taskID, RequestID: statusRequestID,
})
agent = workspace.agent_by_code(agent_code)
submitted = agent.send_text(
sdk.AgentTextMessage(
request_id=request_id, message_id=message_id, text=prompt
)
)
task_id = sdk.agent_a2a_task_id(submitted)
status = agent.get_task(
sdk.AgentTaskRequest(task_id=task_id, request_id=status_request_id)
)
标识与输入¶
请求 ID 和消息 ID 用于调用方的关联和去重;任务 ID 与轮次 ID 应从智能体返回结果中取得。不要使用工作流作业 ID、工作项 ID 或自造的占位值代替这些标识。
智能体消息和补充输入可能包含业务数据。调用方应负责选择可发送的内容,并避免将令牌、连接信息或其他敏感值写入消息、日志或错误输出。
下一步¶
最后更新于