Skip to content

工具快速开始

本页目标不是讲完整个工具系统,而是带你跑通第一轮 Tools 使用闭环。

适合什么时候读

  • 你已经知道为什么要接 Tools
  • 你想从一个最小示例开始
  • 你需要看到“注册 -> 规划 -> 执行 -> 注入结果”的实际链路

你会学到什么

  • 两种常见工具注册方式
  • 怎么让 Agent 真正使用工具
  • 怎么看工具日志和规划结果

一轮 Tool Loop 长什么样

这张图放在正文里,是为了说明:工具不是“模型直接调函数”,而是 Agent 代管了规划、执行和证据回填。

1. 注册工具

@agent.tool_func

python
from agently import Agently

agent = Agently.create_agent()

@agent.tool_func
def add(a: int, b: int) -> int:
    return a + b

register_tool

python
agent.register_tool(
    name="search_docs",
    desc="在内部文档中搜索关键词",
    kwargs={"query": (str, "检索词")},
    func=lambda query: [f"doc:{query}"],
)

2. 让 Agent 使用工具

python
agent.use_tools([add, "search_docs"])

response = agent.input("请用工具计算 12 + 34,并顺便搜索内部文档").get_response()
print(response.result.get_data())

3. 查看工具执行记录

python
full = response.result.full_result_data
tool_logs = full.get("extra", {}).get("tool_logs", [])
print(tool_logs)

通常你最需要关注这些字段:

  • tool_name
  • purpose
  • success
  • result
  • error

4. 只生成工具指令,不真正执行

python
commands = agent.generate_tool_command()
print(commands)

适合:

  • 审批后再执行
  • 接外部调度器
  • 自定义执行层

常见误区

  • 工具描述太模糊,却期待模型稳定判断。
  • 只看最终回答,不看 tool_logs
  • 还没跑通最小一轮,就过早改默认 handler 或调度方式。

下一步去哪

  • agently-agent-extensions