novel-doomsday-resurgence/skills/veadk-skills/references/common/tools.md
唐天洛 cb9b16e5a8 初始提交:番茄小说创作工作区
包含:
- 核心配置文件(AGENTS.md, SOUL.md, USER.md等)
- 记忆系统(memory/文件夹)
- 技能库(skills/文件夹)
- 小说内容(novel/文件夹)
- .gitignore配置
2026-03-30 15:46:26 +08:00

54 lines
1.9 KiB
Markdown
Raw Permalink 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.

# Tools 定义方法
## 导入方法
- 网络搜索:`from veadk.tools.builtin_tools.web_search import web_search`
- 链接读取:`from veadk.tools.builtin_tools.link_reader import link_reader`
- 图像生成:`from veadk.tools.builtin_tools.image_generate import image_generate`
- 视频生成:`from veadk.tools.builtin_tools.video_generate import video_generate`
- 代码沙箱执行(用来执行 Python 代码):`from veadk.tools.builtin_tools.run_code import run_code`
## 自定义 Tool
你可以通过撰写一个 Python 函数来定义一个自定义 Tool你必须清晰地定义好 Docstring
```python
def add(a: int, b: int) -> int:
"""Add two integers together.
Args:
a (int): The first integer.
b (int): The second integer.
Returns:
int: The sum of a and b.
"""
return a + b
agent = Agent(tools=[add])
```
如果你使用自定义 Tool请遵循以下规范
推荐1返回 dict字段名稳定且语义清晰2对外部错误用“可解释的错误字符串”或 {"error": "...", "details": ...},避免直接抛异常导致整轮失败
不推荐1返回复杂对象实例模型侧不可读2返回超大文本建议先做裁剪/分页/只返回必要字段)
为了让模型更愿意正确用工具挂载与触发建议1instruction 里明确“什么时候必须用工具”2工具函数参数名要贴近业务语义例如 order_id、city3返回里提供模型可直接引用的字段例如 result、items、summary
## 代码规范
你可以通过如下方式将某个工具挂载到智能体上,例如 `web_search` 网络搜索工具:
```python
from veadk.tools.builtin_tools.web_search import web_search
root_agent = Agent(
name="...",
description="...",
instruction="...", # 智能体系统提示词
tools=[web_search] # 挂载工具列表
)
```