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

1.9 KiB
Raw Permalink Blame History

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

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 网络搜索工具:

from veadk.tools.builtin_tools.web_search import web_search

root_agent = Agent(
    name="...",
    description="...",
    instruction="...", # 智能体系统提示词
    tools=[web_search] # 挂载工具列表
)