Распространённые наборы инструментов (веб, калькулятор, RAG)
Базовый набор инструментов: поиск в интернете, математические вычисления и запросы к базе знаний — он подходит для 80% демонстраций.
«Распространённые наборы инструментов (веб, калькулятор, RAG)» — бесплатный урок AI Agents на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AI Agents, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AI Agents содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
Начальный набор инструментов
Три инструмента охватывают 80% демонстраций агентов:
- web_search — поиск в открытом интернете
- calculator — вычисление математических выражений
- retrieve — поиск во внутренней базе знаний (RAG)
Инструмент 1: поиск в интернете
Используйте API Tavily, Serper или Brave Search:
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 (дополнительно)
Для получения данных по определённым URL (после того как web_search вернёт перспективную ссылку):
def fetch_url(url: str) -> str:
r = requests.get(url, timeout=10)
return BeautifulSoup(r.text, 'html.parser').get_text()[:5000]Советы по описанию инструментов
- Указывайте WHEN использовать инструмент, а не только описывайте его назначение
- Приводите типичные входные и выходные данные
- Отмечайте ограничения («работает только с текстом на английском», «тайм-аут — 5 секунд»)
Избегайте пересечения инструментов
Два инструмента с похожими назначениями сбивают модель с толку. Если search_web и retrieve оба выполняют «поиск», уточните в описаниях, когда использовать каждый из них.
Оценка использования инструментов
Создайте небольшой набор тестов из 50 вопросов: для каждого определите «правильный» инструмент. Запустите агента и измерьте, как часто он выбирает нужный инструмент. Это чрезвычайно информативная метрика.
Скрытые инструменты
Некоторые инструменты полезны не всегда — показывайте их только при необходимости. Например, refund_order — только когда пользователь прошёл аутентификацию и спрашивает о возврате средств.
Лучший способ улучшить выбор
Ваш агент слишком часто выбирает неправильный инструмент. Какое самое простое исправление?
Повторение
Начальный набор инструментов: web_search, calculator, retrieve. Создайте его, оцените и дорабатывайте описания. Этого достаточно для большинства первых сценариев использования агентов.
Часто задаваемые вопросы
Урок «Распространённые наборы инструментов (веб, калькулятор, RAG)» бесплатный?
Да — полный текст урока «Распространённые наборы инструментов (веб, калькулятор, RAG)» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AI Agents, подпишись на CoddyKit PRO. Курс AI Agents содержит 4 уроков всего.
Чему я научусь в уроке «Распространённые наборы инструментов (веб, калькулятор, RAG)»?
Базовый набор инструментов: поиск в интернете, математические вычисления и запросы к базе знаний — он подходит для 80% демонстраций. Ты практикуешь AI Agents с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать AI Agents?
Предыдущий опыт не требуется. AI Agents на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Распространённые наборы инструментов (веб, калькулятор, RAG)»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке AI Agents?
Да. Каждый урок AI Agents включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- ReAct: шаблон «рассуждение + действие»
- Реализация ReAct с нуля
- Распространённые наборы инструментов (веб, калькулятор, RAG)
- Обнаружение ошибок инструментов и восстановление