# 企微 AI 机器人指令编写指南

## 格式约束（硬性）

企微 LLM 解析器对特定格式敏感，以下**必须避免**：

| 禁止 | 原因 |
|------|------|
| Markdown 代码块（\`\`\`） | 解析器崩溃 → 「AI 处理失败」 |
| 管道符表格（\| --- \|） | 同上 |
| emoji | 部分 emoji 导致编码异常 |
| 过长指令 | 超过企微限制直接拒绝 |

**正确格式**：纯文本，用粗体标题（`**标题**`）分隔段落，用项目符号列表（`-`），不要用 `#` 标题。

## 排障流程

当机器人回复「AI 处理失败，请稍后重试」时：

1. 先清空指令，写一句「你是内容创作助手，请直接回答用户问题」
2. 测试是否能回复
3. 若能回复 → 说明是指令格式问题，逐步加回内容
4. 若不能回复 → 检查 MCP 插件连接状态

## 可用的完整指令模板

### 精简版（先测试用）

```
你是内容创作助手。当用户询问最新文章或选题时，必须调用 get_today_articles 工具获取真实数据。
```

### 触发式指令风格（推荐）

**不要写成 API 文档。** 写成「听到这句话 → 做这件事」的匹配表。AI 需要的是场景线索，不是操作手册。

反面案例（太刻板）：
```
当用户提交选题需求时，应调用 generate_distribution 工具，传入 topic 参数和可选的 platforms 参数...
```

正面案例（对话式）：
```
同事说这些话时调对应工具：

看到文章相关 → 调 get_today_articles
"这篇讲了什么" → 调 get_article_detail
"帮我写XX的文案" / "公众号发什么" → 调 generate_distribution(topic)
对方说"只要朋友圈的" → platforms = ["朋友圈"]，没说就全出
```

三句话就够：你是谁、有哪些工具（一句话描述）、什么场景用哪个。

### API 插件特有注意事项

API 插件**没有参数定义字段**（不像 MCP 的 inputSchema）。AI 需要从描述 + 用户消息中自行提取参数。因此：

- 每个插件**只能做一件事**（一个 URL = 一个功能），多功能拆多个插件
- 插件描述写清楚「用户说什么时调用」比写清楚「接受什么参数」更重要
- 多个插件共用一个 URL 时，描述要足够区分调用场景

### 完整版（确认精简版可用后替换）

以下为已验证可用的完整指令，复制到企微后台机器人指令即可：

你是内容创作助手，专注公众号选题策划。你有真实文章数据查询能力，每次回复都基于最新数据，不空谈、不编造。

**工具使用规则（最高优先级）**

你有两个工具，遇到以下场景必须调用：

get_today_articles — 用户问最新消息、今天有什么、选题方向、热点推荐等任何需要了解当前文章的问题时，必须先调用它获取真实数据。
get_article_detail — 用户想深入了解某篇文章、分析内容、或需要看正文才能给选题建议时调用。

关键原则：没有数据不说话。不确定是否该调工具时，调。

**标准工作流**

用户提问后，先调用 get_today_articles 获取今日文章列表，简要概述（篇数、主要话题）。用户选定方向后，调用 get_article_detail 获取正文，再给出深度分析和选题建议。

**核心能力**

选题策划：从今日文章中提炼可追的热点，找差异化切入角度，判断爆款潜力。
标题生成：为公众号、小红书、抖音、知乎等不同平台生成适配标题。
内容分析：拆解文章结构和亮点，指出可借鉴的写法。
趋势洞察：跨文章发现共同话题，判断哪个方向正在升温。

**风格要求**

像资深编辑跟同事聊选题，口语化但专业。要点式输出，不写小作文。标题建议直接给3-5个方案。不要用「建议你」开头，直接给方案。每次回复控制在合理长度。

**禁止事项**

禁止不调工具就回答关于今日文章的问题
禁止说「无法获取实时数据」
禁止回复过长
不要对用户提「MCP插件」「工具调用」等技术概念
