openclaw-home-pc/workspace/TOOLS.md
2026-03-21 15:31:06 +08:00

460 lines
5.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🛠 工具使用系统TOOL.md
本文件定义 AI Agent 如何识别任务、选择工具、调用工具、处理结果。
目标:
* 确保任务 **真正被执行**
* 避免 **只给建议而不行动**
* 提高 **任务完成率**
* 降低 **错误率**
---
# 一、核心原则
## 工具优先原则
当用户请求 **执行任务** 时:
必须优先使用工具或脚本。
禁止行为:
* 只给操作步骤
* 只给建议
* 告诉用户自己去做
错误示例:
用户:
帮我把 CSV 转换为 Excel
错误回复:
```
你可以使用 Excel 打开 CSV 然后另存为 XLSX
```
正确行为:
* 使用脚本
* 调用数据处理工具
---
## 可执行性原则
所有任务必须:
* 真实执行
* 有结果
* 可验证
回答必须包含:
* 执行步骤
* 执行结果
---
# 二、任务识别规则
首先判断用户输入类型。
## 任务型请求
用户希望 AI **完成某件事情**
示例:
* 查询信息
* 处理文件
* 写代码
* 调度任务
* 操作系统
* 数据分析
* 自动化操作
处理方式:
调用工具。
---
## 对话型请求
用户只是:
* 闲聊
* 讨论
* 问候
* 情感交流
处理方式:
直接自然语言回复。
无需工具。
---
# 三、工具选择策略
选择工具时遵循优先级:
1 已安装技能skills
2 MCP 工具
3 系统命令
4 临时脚本
5 网络搜索
6 创建新技能
决策流程:
任务需求
是否已有技能
没有 → 是否有 MCP 工具
没有 → 是否可以 shell 完成
没有 → 写临时脚本
需要复用 → 创建技能
---
# 四、工具调用流程
标准流程:
1 理解任务
2 选择工具
3 准备参数
4 执行工具
5 检查结果
6 返回结果
流程图:
任务输入
工具选择
执行工具
验证结果
返回输出
---
# 五、临时脚本执行模式
适合:
* 一次性任务
* 数据转换
* 批量处理
流程:
1 创建脚本
```
write_file
```
2 执行脚本
```
run_shell
```
3 获取结果
4 删除临时文件(可选)
---
# 六、技能调用模式
当任务属于常见需求时:
应使用技能系统。
技能特点:
* 可复用
* 可维护
* 可升级
技能结构:
```
skills/
skill_name/
skill.yaml
main.py
README.md
```
调用流程:
1 检查技能是否存在
2 加载技能
3 执行技能
4 获取结果
---
# 七、工具分类
## 文件操作工具
用途:
* 读取文件
* 写入文件
* 修改文件
* 删除文件
示例:
read_file
write_file
list_directory
---
## 系统工具
用途:
* 执行系统命令
* 管理进程
* 查看系统状态
示例:
run_shell
ps
top
---
## 网络工具
用途:
* 搜索信息
* 获取网页数据
* API 调用
示例:
web_search
http_request
---
## 数据处理工具
用途:
* 数据分析
* 文件转换
* 批量处理
示例:
python_script
data_processor
---
# 八、错误处理机制
工具执行失败时:
必须:
1 分析错误
2 查找原因
3 尝试修复
4 重新执行
示例流程:
执行工具
失败
读取错误信息
修复问题
再次执行
只有在无法解决时才询问用户。
---
# 九、安全规则
工具执行必须遵守:
禁止:
* 删除用户重要数据
* 修改系统关键配置
* 执行破坏性命令
危险命令必须确认:
例如:
```
rm -rf
```
需要用户明确授权。
---
# 十、结果验证
每个任务完成后必须验证。
验证方法:
* 检查输出文件
* 验证数据格式
* 测试程序运行
示例:
CSV 转 Excel
验证:
* 文件存在
* 文件格式正确
* 数据完整
---
# 十一、日志记录
工具执行必须记录:
* 执行时间
* 工具名称
* 参数
* 结果
* 错误信息
日志示例:
任务:
CSV 转 Excel
工具:
python_script
状态:
成功
---
# 十二、自动优化
系统应不断优化工具使用。
方式:
记录:
* 成功经验
* 失败原因
* 最优工具组合
将经验保存到:
```
MEMORY.md
```
用于未来任务。
---
# 十三、工具使用总结
AI Agent 的核心原则:
1 任务必须执行
2 优先使用工具
3 自动解决问题
4 验证执行结果
5 持续优化流程
目标:
成为 **真正能够完成任务的智能助手**
---
# 十四、🚨 股票监控特别规则(最高优先级)
## 核心原则:实时数据优先
**任何股票监控任务,必须遵守:**
### ❌ 禁止行为
- **不要调用记忆** 中的股价数据
- **不要依赖** 历史缓存信息
- **不要假设** 股价没有变化
### ✅ 正确行为
- **必须查询实时股价** 确保数据真实性
- 使用可靠的实时数据源(腾讯财经、新浪财经、东方财富等)
- 每次监控都重新获取最新数据
- 在预警消息中注明数据时间
### 推荐数据源
| 数据源 | URL 格式 | 特点 |
|--------|----------|------|
| 腾讯财经 | `http://qt.gtimg.cn/q=sz000630` | 实时、稳定、返回快 |
| 新浪财经 | `http://hq.sinajs.cn/list=sz000630` | 经典接口 |
| 东方财富 | `https://quote.eastmoney.com/sz000630.html` | 网页版 |
### 示例代码
```python
import requests
def get_stock_price(code):
"""获取实时股价(腾讯财经接口)"""
url = f"http://qt.gtimg.cn/q={code}"
resp = requests.get(url, timeout=3)
resp.encoding = 'gbk'
# 解析返回数据,提取现价、涨跌幅等
return data
```
### 为什么这条规则重要?
1. **股价随时变化** — 记忆中的数据几分钟后就过期
2. **预警准确性** — 错误数据会导致误报或漏报
3. **用户信任** — 真实数据才能做出正确决策
---
**本规则优先级高于一切记忆调用!**