0Pricing
AI Agents · 课时

常用工具集(网页、计算器、RAG)

入门工具箱:搜索网页、进行数学计算、查询知识库——覆盖 80% 的演示场景。

常用工具集(网页、计算器、RAG) 是 CoddyKit 上的免费 AI Agents 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 AI Agents 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 AI Agents 课程共包含 4 节课。

本课时的部分内容尚未翻译,以英文显示。

入门工具箱

三个工具可以覆盖 80% 的代理演示:

  1. web_search — 搜索公开网络
  2. calculator — 计算数学表达式
  3. retrieve — 搜索内部知识库(RAG)

工具 1:网络搜索

使用 Tavily、Serper 或 Brave Search API:

import requests

def web_search(query: str, k: int = 5):
    r = requests.post('https://api.tavily.com/search',
        json={'api_key': TAVILY_KEY, 'query': query, 'max_results': k})
    results = r.json()['results']
    return [
        {'title': r['title'], 'url': r['url'], 'snippet': r['content'][:300]}
        for r in results
    ]

Web Search Tool Schema

schema_search = {'type': 'function', 'function': {
    'name': 'web_search',
    'description': 'Search the public web. Use for current events or facts after the knowledge cutoff.',
    'parameters': {'type': 'object', 'properties': {
        'query': {'type': 'string', 'description': 'What to search for'},
        'k': {'type': 'integer', 'default': 5}
    }, 'required': ['query']}
}}
import json
print(json.dumps(schema_search, indent=2))

工具 2:计算器

模型无法可靠地在脑中进行算术运算。计算器工具可以修正大多数数值错误:

import math

ALLOWED = {k: getattr(math, k) for k in ['sqrt','log','exp','sin','cos','tan','pi','e']}

def calculator(expression: str) -> str:
    try:
        return str(eval(expression, {'__builtins__': {}}, ALLOWED))
    except Exception as e:
        return f'Error: {e}'

print(calculator('sqrt(16) + 2'))

Calculator Tool Schema

schema_calc = {'type': 'function', 'function': {
    'name': 'calculator',
    'description': 'Evaluate a math expression like 2 + 3 * sqrt(16). Use for any arithmetic.',
    'parameters': {'type': 'object', 'properties': {
        'expression': {'type': 'string'}
    }, 'required': ['expression']}
}}
import json
print(json.dumps(schema_calc, indent=2))

Tool 3: RAG / Knowledge Retrieval

from langchain_openai import OpenAIEmbeddings
from langchain_community.vectorstores import Chroma

store = Chroma(persist_directory='./db', embedding_function=OpenAIEmbeddings())

def retrieve(query: str, k: int = 4):
    docs = store.similarity_search(query, k=k)
    return [{'text': d.page_content, 'source': d.metadata.get('source')} for d in docs]

Retrieve Tool Schema

schema_retrieve = {'type': 'function', 'function': {
    'name': 'retrieve',
    'description': 'Search the internal knowledge base for company-specific information (policies, docs, history).',
    'parameters': {'type': 'object', 'properties': {
        'query': {'type': 'string'},
        'k': {'type': 'integer', 'default': 4}
    }, 'required': ['query']}
}}
import json
print(json.dumps(schema_retrieve, indent=2))

工具 4:代码解释器(附加)

对于数据任务,请为代理提供 Python 沙箱:

def run_python(code: str) -> str:
    # Use a sandboxed environment (E2B, Firecracker, gVisor)
    return sandbox.run(code).stdout

工具 5:HTTP 获取(附加)

用于获取特定网址的内容(在 web_search 返回有价值的链接之后):

def fetch_url(url: str) -> str:
    r = requests.get(url, timeout=10)
    return BeautifulSoup(r.text, 'html.parser').get_text()[:5000]

工具描述技巧

  • 说明何时使用工具,而不只是说明工具的功能
  • 提及典型的输入和输出
  • 注明限制(“仅适用于英文文本”,“5 秒超时”)

避免工具重叠

用途重叠的两个工具会让模型感到困惑。如果 search_web 和 retrieve 都表示“搜索”,请在描述中明确何时使用哪一个。

评估工具使用

用 50 个问题构建一个小型测试集:每个问题都有一个“正确”的调用工具。运行您的代理,测量它选择正确工具的频率。这是非常有价值的指标。

隐藏工具

有些工具很有用,但并非总是需要——只在相关时显示它们。例如,只有当用户已通过身份验证并询问退款时,才显示 refund_order。

改进选择的最佳方法

您的代理经常选错工具。最简单的修复方法是什么?

回顾

入门工具箱包括:web_search、calculator、retrieve。构建它、评估它,然后不断改进工具描述。这可以覆盖大多数早期代理使用场景。

常见问题解答

「常用工具集(网页、计算器、RAG)」课时是免费的吗?

是的 — 「常用工具集(网页、计算器、RAG)」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 AI Agents 课程的其余内容,请升级到 CoddyKit PRO。 AI Agents 课程共包含 4 节课。

「常用工具集(网页、计算器、RAG)」这节课中我会学到什么?

入门工具箱:搜索网页、进行数学计算、查询知识库——覆盖 80% 的演示场景。 你通过在浏览器中直接运行的动手代码来练习 AI Agents,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 AI Agents 需要有经验吗?

无需任何先前经验。CoddyKit 上的 AI Agents 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。

「常用工具集(网页、计算器、RAG)」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 AI Agents 课中编写并运行代码吗?

能。每节 AI Agents 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. ReAct:推理 + 行动模式
  2. 从零实现 ReAct
  3. 常用工具集(网页、计算器、RAG)
  4. 检测并恢复工具错误
← 返回 AI Agents