How To
管理指令文件
如何编写和管理 AI Agent 的指令文件
什么是指令文件
指令文件是一个 Markdown 格式的文本文件,包含 AI Agent 的操作指引和规范。创建新任务时,Sink 会自动读取并注入指令文件内容,帮助 Agent 理解你的工作流程、项目规范和期望行为。
指令文件的常见用途包括:
- 定义代码风格和命名规范
- 说明项目架构和核心概念
- 指定特定工具或库的使用方式
- 列出禁用或限制的操作
- 提供项目特定的 AI Agent 工作流程
指令文件位置
Sink 支持两个层级的指令文件:
用户层指令文件
全局指令文件,适用于所有工作区。位置:
~/.sink/SINK.md
Workspace 层指令文件
针对特定工作区的指令文件,优先级更高。位置:
<workspace>/.sink/SINK.md
若同时存在两个文件,内容会按如下顺序合并:
- Workspace 层内容(最高优先级)
- 用户层内容(次之)
- Builtin 层内容(最低优先级;发行版预配置)
创建和编辑指令文件
通过文本编辑器编辑
使用你喜欢的文本编辑器直接编辑指令文件:
# 编辑用户层指令文件(全局)
nano ~/.sink/SINK.md
# 编辑 workspace 层指令文件(项目特定)
cd /path/to/workspace
nano .sink/SINK.md
保存后,新创建的任务会自动使用更新后的指令。
在 Web UI 中查看指令文件
在 Web UI 中查看合并后的指令文件:
- 打开 Web UI
- 在左侧菜单点击”Instructions”(指令)
- 可以查看:
- Effective 视图:合并后的最终指令(workspace + user)
- Workspace 视图:仅 workspace 层内容
- User 视图:仅 user 层内容
每一层的来源路径也会显示在 UI 中。
指令文件最佳实践
内容结构
建议将指令文件组织为清晰的章节:
# 项目指引
## 概述
项目名称、目标和核心概念说明。
## 代码规范
- 编程语言和版本要求
- 代码风格(缩进、命名约定等)
- 必须遵守的最佳实践
## 架构设计
- 项目目录结构
- 核心模块说明
- 依赖关系和数据流
## 工具和库
- 关键依赖包及其版本
- 相关工具的配置方式
- 推荐的插件或扩展
## 工作流程
- 如何创建新功能
- 如何运行测试
- 提交前的检查清单
## 限制和禁止事项
- 不允许修改的文件或目录
- 禁止使用的依赖或做法
- 安全相关的限制
长度控制
- 保持指令文件在 10,000 字符以内
- 过长的指令可能降低 Agent 的处理效率
- 优先提供最关键的信息,细节可通过代码注释补充
明确和具体
使用清晰的语言和具体的例子:
好的例子:
使用 TypeScript 进行开发。必须安装类型定义(@types/*)。
禁止使用 any 类型,除非有特殊说明。
不好的例子:
遵守最佳实践。做合理的事情。
更新频率
- 定期更新指令文件,保持与项目状态同步
- 添加新的规范或限制后立即更新
- 移除已过时的信息
故障排除
问题: 指令文件未被 Agent 加载
解决方案:
- 确认文件存在于正确位置:
~/.sink/SINK.md或<workspace>/.sink/SINK.md - 检查文件名是否完全正确:
SINK.md(区分大小写) - 确保文件是纯 Markdown 格式(无 YAML frontmatter)
- 新创建的任务会使用最新的指令;已存在的任务不会受影响
问题: 修改指令文件后,已创建的任务不更新
解决方案:
- 指令文件仅对新创建的任务生效
- 已创建的任务的指令是固定的,修改不会使其改变
- 如需应用新指令,请创建新任务
问题: 多个指令文件冲突或内容重复
解决方案:
- 检查是否同时定义了用户层和 workspace 层指令
- 使用 Web UI 的”Effective”选项卡查看最终合并结果
- 考虑将通用指令移至用户层,项目专用指令移至 workspace 层
后续步骤
配置完指令文件后,你可以:
- 管理 Profile — 定义 Agent 的人格和能力
- 快速开始 — 创建你的第一个任务并观察 Agent 的行为