3. 定义 Agent 行为
到这一步你应该已经有一个能跑的 Agent(如果还没有,先看 指南 2)。这一章讲怎么真正”调教”它——让它有特定的角色、按你想要的方式做事、知道该用哪些工具、记住该记的事。
Workspace 顶部的 Agent 配置 按钮打开配置弹窗,左侧导航有 5 个区域:
| 区域 | 作用 |
|---|---|
| 模型 | 选大模型和小模型 |
| Prompt | 写系统 Prompt(最重要的一项) |
| Skills | 勾选要启用的 skill |
| 设置 | Agent 引擎的高级运行参数 + MCP 配置 |
| 资源 | Agent 容器的 CPU / 内存 / 存储 |
加上独立的 Memory tab——它在 Workspace 顶部 tab 栏,不在配置弹窗里。
下文按重要性挨个讲。
模型:Agent 的大脑
Section titled “模型:Agent 的大脑”模型 区域决定 Agent 用哪个大模型思考。要选的字段:
- Agent 类型 ——Claude Code 或 Codex。Claude Code 走 Anthropic 协议,Codex 走 OpenAI 协议。这一项决定你后面能选哪些供应商
- API 供应商 ——上一章准备好的那个
- 模型 ——具体的模型名(比如
claude-sonnet-4-20250514或gpt-5.4) - 小模型 ——供 Agent 内部做轻量操作用(文件搜索、代码索引等)。默认与主模型相同;想省钱可以单独换成更便宜更快的小模型
切换 Agent 类型会重启容器——所有运行中的 Session 会被中断。建议先停掉 Session 再切。
模型不是一选定终身。复杂任务用强模型,简单批量任务用快模型,同一个 Workspace 后期换模型也很方便,Prompt 和 Skills 都不用动。
Prompt:行为的核心
Section titled “Prompt:行为的核心”系统 Prompt 是 Agent 行为里最要紧的一件。同一个模型,Prompt 不同,Agent 表现可以判若两人。
Prompt 区域里有两种来源:
- 自己写 ——直接在编辑框里写
- 从资源库引用 ——选择一份团队或自己已经维护好的 Prompt。引用的方式下,资源库里更新 Prompt,所有引用方自动同步
第一次建议自己写,熟悉了再考虑放到资源库里复用。
一份可用 Prompt 的基本结构
Section titled “一份可用 Prompt 的基本结构”好的系统 Prompt 一般包含 4 个部分:
- 角色定义 ——你是谁、你的职责范围
- 做事步骤 ——遇到典型任务时怎么一步步处理
- 输出格式 ——回复用什么语言、什么结构、用不用 Markdown
- 约束 ——什么不能做、什么必须确认、什么必须优先
举个最小例子:
你是一个翻译助手,专注把中文文档翻译成英文。
做事步骤:1. 收到原文后,先识别文档类型(技术、营销、法律等)2. 如果是技术文档,专有名词不翻译,保留英文原词3. 给出翻译,逐段对照原文
回复语言:英文,保持原文的段落结构和 Markdown 格式。
约束:- 遇到无法理解的术语,先问用户确认- 不要自己编造原文里没有的内容这只是个起点。真实 Agent 的 Prompt 通常更长,包含具体的工具用法、典型任务的处理原则、特殊场景的兜底方案。
Prompt 编写原则
Section titled “Prompt 编写原则”先具体,再抽象。 写”你是一个 X 助手”远不如写”你的工作是把某类事件的失败原因讲清楚,并判断要不要自动重试”——后者一句话就把范围、目标、决策点都说清了。
给典型流程,不给穷举。 不要试图列出 Agent 可能遇到的所有情况。挑 2–3 个最典型的任务,描述完整步骤,让 Agent 类比泛化。
约束要写在 Prompt 里,不要等出问题才说。 “不要执行破坏性操作”、“修改前必须先 dry-run”、“遇到不确定的事要问用户”——这些应该在第一版就写进去,而不是等 Agent 翻车了才补。
用真实 Session 迭代。 写完第一版 Prompt 后跑几个真实任务,看 Agent 卡在哪儿、误解了什么,回头改。一份成熟的 Prompt 通常要迭代 5–10 轮才到位。
Skills:可复用的能力封装
Section titled “Skills:可复用的能力封装”Skills 是封装好的”做某类事情的方法”——一个目录,里面有一份描述文件加若干工具脚本。启用后,Agent 启动时自动加载,知道有这个能力可用。
打开 Agent 配置的 Skills 区域,会看到所有可用的 skill 列表。勾选要启用的,保存。Agent 重启后生效。
Skill 的启用时机
Section titled “Skill 的启用时机”- 这件事有相对固定的步骤 ——比如调用某个 API 的标准用法、按某种规范处理某类文件
- 这件事只在某些 Agent 里需要 ——比如翻译类 Agent 需要术语查询的 skill,但代码 review Agent 用不上,没必要默认加载
- 已经有人封装好了 ——直接勾选用,不用重新教 Agent
如果你需要的 skill 还不存在,可以自己创建一份上传到资源库。这部分属于”扩展”和”规模化”的话题,详见 指南 7:规模化运营。
MCP:外部工具接入
Section titled “MCP:外部工具接入”MCP 是另一种让 Agent 调用外部工具的方式——通过协议连接一个独立运行的服务,那个服务暴露的工具就成了 Agent 可调用的能力。
在 Agent 配置的 设置 区域里有一段 MCP 配置,可以填入 MCP 服务的连接信息(命令或 URL)。具体怎么部署和接入 MCP 服务,详见 指南 4:扩展 Workspace。
Memory:跨 Session 的记忆
Section titled “Memory:跨 Session 的记忆”默认每个 Session 是独立的——上一次对话学到的东西,下次不会自动记得。Memory 解决这个问题。
Neutree Agent Platform 用 记忆库(Memory Store) 来管理跨 Session 的记忆。它是一个独立的资源,可以挂给一个或多个 Workspace。完整设计见 记忆库概念页,这里只讲怎么用。
两个地方:
- 全局管理 → 记忆库——账号级入口。在这里看到你所有的记忆库,新建库、编辑条目、看版本历史
- Workspace 顶部 Memory tab——当前 Workspace 视图。看到本 Workspace 挂了哪些库,可以临时挂载或卸载
库与 Workspace 的解耦关系
Section titled “库与 Workspace 的解耦关系”新建 Workspace 时,系统自动创建一个同名记忆库并挂给它——所以默认情况下你看到的就是”一个 Workspace 一个库”。但关系是解耦的:
- 一个 Workspace 可以挂多个库——一个用户级库(语言偏好等通用记忆)+ 一个 Workspace 专属库就是常见组合
- 一个库可以挂给多个 Workspace——做跨 Workspace 协同时把同一份记忆共享出去
迁移说明:旧版”每个 Workspace 一份单一 Markdown”的记忆,已经被自动迁到对应同名库里作为第一条记录。
记录结构与四种类型
Section titled “记录结构与四种类型”每条记忆是库里的一条独立记录,必选一个类型:
| 类型 | 倾向 | 例子 |
|---|---|---|
| user | 用户全局的个性、偏好 | ”默认用中文回复”、“代码风格遵守 PEP 8” |
| feedback | 当前对话里得到的即时反馈 | ”回复时简洁一点”、“不要中英混杂” |
| project | 任务/项目级的稳定知识 | ”这个项目用 PostgreSQL,主表在 app_user 库下”、“上次 DROP TABLE 翻车过,之后删表都先确认” |
| reference | 外部资料的指针 | ”回答合规问题前先读 https://internal-wiki/compliance” |
每条记录都带版本,可追溯可回滚。
不适合放入记忆库的内容
Section titled “不适合放入记忆库的内容”- 会变的状态——今天的待办、当前的环境变量。这些应该写文件或动态查询
- 机密——API key、密码。请用 凭证
- 巨长的内容——完整的代码库说明、几十页的规范文档。索引会进入每次对话的 context,太长会浪费 token;正文长内容应该放到子文件,让 Agent 按需读
Agent 的读写方式
Section titled “Agent 的读写方式”对 Agent 来说,记忆库就是它容器里的一个目录——挂在 /mnt/memory/<store-name>/。它用普通的文件操作读写:cat、grep、head、bash pipe 都能用,不需要学专用 API。
每个库的根目录下有一份 MEMORY.md(大写)作为索引——Agent 自主维护,平台会把它内联进系统 prompt。所以 Agent 一启动就能看到当前挂了哪些库、各自大纲是什么;要看具体内容再按路径读子文件。
当 Agent 在对话中说”我把这件事记下来了,下次会注意”,它就在调这套文件操作。
推荐的初始整理
Section titled “推荐的初始整理”如果你的 Workspace 是从旧版迁过来的,第一条记忆通常是一整段陈年笔记。直接对 Agent 说:
“目前的记忆是从旧版本迁移上来的,按照最佳实践重新整理一下。”
Agent 会自己拆分、归类、维护 MEMORY.md 索引。整理完再用就顺很多。
剩下两项一般保持默认即可:
- 设置 ——Agent 引擎本身的高级参数(Claude Code 写入
.claude/settings.json,Codex 追加到~/.codex/config.toml),以及 MCP 配置。打开后右侧会显示当前 Agent 类型对应的字段说明 - 资源 ——Agent 容器的 CPU、内存、存储空间。默认配置覆盖大部分场景,只有当 Agent 需要处理大文件或运行重型工具时才需要往上调
最小迭代节奏
Section titled “最小迭代节奏”刚开始定义 Agent 行为时,建议这个顺序:
- 选好模型
- 写一个能让它做对一类典型任务的 Prompt
- 用真实 case 跑几次,看哪里需要补充——回头改 Prompt
- 重复 3。等 Prompt 基本稳定后,再考虑加 Skills 和 MCP
- 等这一个 Workspace 真的好用,把 Prompt 抽到资源库,让其他 Workspace 也能引用
避免一开始就堆 Skills 和 MCP。先把 Prompt 调对,比配 10 个 skill 都重要。
开启 Builder Mode
Section titled “开启 Builder Mode”Builder Mode 让你在对话里直接说”把 prompt 改清楚一点”、“加个每天 9 点的 schedule”,Agent 自己改、你点批准,不用回 UI 表单填字段。需要时把它打开。
入口:Workspace 设置 → MCP tab → Platform 卡片 → Builder 模式 下拉框。
三个选项:
| 选项 | 范围 | 能力 |
|---|---|---|
| 未启用 | 关闭 | Agent 不会拿到任何 builder 工具 |
| 本 workspace | 当前 Workspace 自己 | 改 system prompt 来源、启停 skills、新建/改/删 commands 和 schedules、改模型/provider/agent 类型、重命名、调可见性 |
| 账号范围 | 你账号下的跨 Workspace 资源 | 管理 Prompt 资源库(创建/编辑/删除) |
两个范围是互斥的——一次只能选一个。「账号范围」目前 v1 只放开了 Prompt 资源库,未来会扩展到其他账号级资源。
无论选哪个范围,开启后 Agent 都自动具备一组只读能力,用来作为提议的依据:
- 读你账号下可见的 Prompt 资源库、Skills、Providers
- 读当前 Workspace 的配置(prompt 来源、模型、启用的 skills 等)
- 读当前 Workspace 的 schedules 和 commands
- 拉历史 session 的完整对话用于回顾分析(按需下载 JSONL)
范围选项控制的是 能写什么,读这一层是共享的——这样 Agent 不论开哪一档都能”看清现状再提议”。
选好保存——下次发消息时,Agent 就能看到对应的工具。打开后你也不用记任何指令,直接用自然语言描述需要的改动就行:
“看看最近 5 个聊天,分析我的 system prompt 哪里让你卡住,提议改进。”
Agent 会把改动以卡片形式发到对话里,你看完点 批准 或 拒绝。具体能做什么、怎么用,回 Builder Mode 概念页 看完整说明。
- 想给 Agent 接更多外部能力(MCP 服务、自定义 tab、自定义命令)→ 指南 4:扩展 Workspace
- 想让 Agent 不止靠人工对话触发 → 指南 5:触发 Agent