Agent Studio
Agent 是 Deskmate 的核心抽象。本文帮助你从“会聊天”升级到“维护多个专用工作单元”:理解 Agent 由什么组成、如何创建一个稳定的 Agent,以及哪些做法应当避免。
Agent 是什么
在 Deskmate 中,Agent 是一个可维护的 AI 工作单元。它不只是一次聊天的提示词,而是由模型、系统提示、知识材料、工具、Skills、子 Agent 和计划任务组成的长期配置。
一个 Agent 应该服务一个稳定任务域。
几个典型例子:
- Project Maintainer:长期理解一个代码项目。
- Research Assistant:收集、比较和归档资料。
- Release Helper:整理 changelog、风险和验证清单。
- Automation Runner:按计划执行重复任务。
Agent 适合解决什么问题
Agent 适合:
- 有稳定上下文的任务。
- 需要固定输出格式的任务。
- 需要长期参考资料的任务。
- 需要专门工具组合的任务。
- 会重复执行的任务。
Agent 不适合:
- 一次性随口提问。
- 任务目标经常完全变化。
- 未经审查的高风险自动化。
如果只是临时问一个问题,直接开一个普通会话即可,不必为它建立长期配置。
Agent 的组成
一个 Agent 由下面这些部分组成。理解它们各自的职责,是写出稳定 Agent 的前提。
System Prompt
定义 Agent 的角色、边界、语气、工作流程和输出格式。它是 Agent 行为最重要的来源。
Model
决定能力和成本。不同模型对工具调用、图片、reasoning 的支持不同,选型时优先确认它是否支持你需要的工具调用。
Thinking Level
用于控制部分模型的 reasoning 强度。保持默认通常足够;需要更深入推理时再调整。
Knowledge
Agent 的长期参考资料。适合放项目规范、背景文档、工作流程,不适合放未脱敏密钥。
MCP Servers
按 Agent 启用外部工具和数据源。最小化启用,降低误用风险。
Skills
可复用能力包,用于扩展 Agent 的专门知识或操作流程。
Sub Agents
复杂任务可拆给子 Agent 并行处理。每个子 Agent 应有明确边界。
Schedules
把稳定工作流配置为 cron 或一次性任务,让 Agent 在固定节奏下重复执行。
创建 Agent 的步骤
- 命名:清楚表达任务域。
- 写一句目标:这个 Agent 为谁解决什么问题。
- 选择模型:优先选支持工具调用的模型。
- 写 system prompt:包含角色、流程、约束、输出格式。
- 添加必要 knowledge。
- 只启用必要 MCP / Skills。
- 用只读任务试跑。
- 根据输出调整 prompt。
- 如果稳定,再配置 schedule。
先让 Agent 在只读、低风险的任务上跑稳定,再逐步赋予它修改文件或自动执行的权限。
System prompt 写法
推荐的 system prompt 结构如下:
你是 [角色]。
目标:
- ...
工作方式:
- 先确认任务目标和约束。
- 涉及文件时先读取再判断。
- 涉及修改时先说明计划。
- 输出结论、依据、风险和下一步。
禁止:
- 不要假设未读取过的文件内容。
- 不要执行破坏性操作,除非用户明确确认。
输出格式:
- 结论
- 依据
- 风险
- 下一步
好 prompt 的特点:
- 明确任务域。
- 明确工具使用纪律。
- 明确输出格式。
- 明确风险边界。
差 prompt 的特点:
- “你是万能助手”。
- 只强调语气,不说明流程。
- 没有工具和安全边界。
- 输出格式随意。
Knowledge 使用建议
适合放进 Knowledge:
- 项目 README。
- 架构说明。
- 代码规范。
- 业务背景。
- 常用命令。
- 用户长期偏好。
不适合放进 Knowledge:
- API key / token。
- 未脱敏客户数据。
- 和任务无关的大量资料。
- 已过期但未标记的文档。
Knowledge 越明确,Agent 越稳定。不要把整个世界塞给一个 Agent。
Skills / MCP / Sub agents
Skills
用于给 Agent 增加可复用能力,适合承载稳定流程和专门知识。
MCP
用于连接外部服务。按 Agent 最小化启用,避免工具列表过大导致 Agent 误选工具。
Sub agents
用于复杂任务并行。适合拆解调查、验证、资料收集等子任务,不适合每个小问题都 spawn 一个子 Agent。
Agent 模板
下面三个模板覆盖了最常见的使用场景,可作为创建新 Agent 的起点。
Project Maintainer
目标:长期维护一个代码项目。
System prompt 重点:
- 先读项目约定。
- 修改前说明计划。
- 运行针对性验证。
- 输出风险和回归建议。
Research Assistant
目标:收集和整理资料。
System prompt 重点:
- 标明来源。
- 区分事实和推断。
- 给出摘要和原始链接。
- 不编造引用。
Automation Runner
目标:重复执行固定流程。
System prompt 重点:
- 范围必须明确。
- 失败时输出原因和下一步。
- 不做额外扩展。
- 适合配置 schedule。
反模式
避免下面这些常见错误:
- 一个 Agent 做所有事情。
- 给 Agent 启用所有 MCP server。
- 把敏感密钥写进 knowledge。
- 不验证就让 Agent 自动修改重要文件。
- 把 schedule 配成高频、无界的网络调用。
- 只写“回答要专业”,不写工作流程。
FAQ
我应该创建几个 Agent?
按任务域创建。开发、研究、自动化、写作可以分别创建,不要为了分类而过度拆分。
Agent 和 Session 有什么区别?
Agent 是长期配置;Session 是一次对话或任务记录。
可以复制 Agent 吗?
你可以参考上面的 Agent 模板,按相同结构快速创建一个新的 Agent。
Agent 会记住所有聊天吗?
Agent 拥有自己的配置和 knowledge;会话历史属于具体 session,长期记忆能力以应用内功能为准。请不要假设 Agent 会自动记住每一次对话。