定义:专员(内部称为 Bot)是一个命名的、持久的 AI 配置,它记住重复工作该怎么做。不同于通用聊天会话每次都重新解释上下文,专员存储了自己的方法、所需技能和行为约束。你通过对话创建一个专员——「我需要一个按这个方法论工作的调研助手」——然后按名称给它派活。
通用对话的问题
通用对话是一次性问题的正确界面,却是持续工作的错误界面。如果你让 AI 每周五总结你的项目进展,每次都要重新解释格式、来源和受众——或者寄望于它能从上下文中记住。专员通过把「怎么做」和「做什么」分离来解决这个问题:专员知道怎么做这项工作,你只需告诉它这次做什么。
五部分 Bot 定义
专员存储五样东西:身份(名称和描述)、行为约束(应该做什么和不该做什么)、所需技能和工具、方法(如何执行工作)以及默认工作区绑定。这个定义通过对话创建——你不需要写配置文件。Bot Studio 会话将这五部分编译成一个 Harness,注入到每次 Runtime 会话中。
Harness 编译
Harness 是一个纯 TypeScript 函数——不调用模型、不解析文本。每次 Runtime 运行开始时,编译器读取已发布的 Bot 定义,产出一个上下文包,包含专员的方法、约束、所需工具和工作区访问权限。运行随即表现得如同专员的知识是系统提示词的一部分。这是确定性的:同一个定义总是产出同一个 Harness。
技能依赖检查
专员在发送消息之前,会检查所需技能是否已安装并启用。如果缺少技能,系统提供一键安装而不是静默失败。这防止了常见的失败模式——专员配置了使用某个能力,但该能力实际上不可用。
Work Item 生命周期
分配给专员的每项工作会创建一个 Work Item。Work Item 跟踪五种状态:进行中、等待用户、等待外部、已完成和已停止。完成不由模型说「搞定」来判定——它需要证据:成功的工具结果、就绪的制品、审批完成或外部副作用确认。这防止了过早声称完成。
为什么专员不是独立的 Agent 类型
这是一个刻意的设计选择:专员复用 Main Runtime,而不是单独的 Agent 引擎。这意味着它们能访问与其他会话相同的工具、文件系统、审批模型和对话界面。权衡是专员不是完全隔离的——它们共享相同的运行时能力。好处是简洁:不需要单独的 Agent 基础设施、单独的工具注册表或单独的审批路径。
局限性
- 专员是用户级别的定义,不是工作区级别的。在分配 Work Item 之前,它们不绑定到特定项目。
- Bot 定义没有版本历史。每次发布时快照被覆盖。旧的运行保留其冻结的修订版本。
- Harness 编译器有意设计得简单——它不调用模型也不发现工具。复杂的路由逻辑必须写在方法描述中,而非编译器中。
- 创建一个好的专员需要清晰地传达方法和约束。模糊的指令产出模糊的专员。
FAQ
可以通过对话创建专员吗?
可以。在 Bot Studio 会话中描述工作内容、方法和约束,系统从对话中编译出定义。
专员能用和普通聊天一样的工具吗?
可以。专员使用相同的工具注册表和审批模型,不需要单独的工具配置。
如果缺少必需的技能怎么办?
系统会在发送前检测到缺失的技能,并提供一键安装。消息和附件会被保留。
创建后可以修改专员吗?
可以。打开 Bot Studio 会话,描述变更并重新发布。进行中的运行保持其冻结的修订版本;新运行使用更新后的定义。
