|
|
---
|
|
|
title: Anthropic Claude 系列 Tools Calling 评测
|
|
|
description: >-
|
|
|
使用 LobeChat 测试 Anthropic Claude 系列模型(Claude 3.5 sonnet / Claude 3 Opus /
|
|
|
Claude 3 haiku) 的工具调用(Function Calling)能力,并展现评测结果
|
|
|
tags:
|
|
|
- Tools Calling
|
|
|
- Benchmark
|
|
|
- Function Calling 评测
|
|
|
- 工具调用
|
|
|
- 插件
|
|
|
---
|
|
|
|
|
|
# Anthropic Claude Series Tools Calling
|
|
|
|
|
|
Overview of Anthropic Claude Series model Tools Calling capabilities:
|
|
|
|
|
|
| Model | Support Tools Calling | Stream | Parallel | Simple Instruction Score | Complex Instruction |
|
|
|
| ----------------- | --------------------- | ------ | -------- | ------------------------ | ------------------- |
|
|
|
| Claude 3.5 Sonnet | ✅ | ✅ | ✅ | 🌟🌟🌟 | 🌟🌟 |
|
|
|
| Claude 3 Opus | ✅ | ✅ | ❌ | 🌟 | ⛔️ |
|
|
|
| Claude 3 Sonnet | ✅ | ✅ | ❌ | 🌟🌟 | ⛔️ |
|
|
|
| Claude 3 Haiku | ✅ | ✅ | ❌ | 🌟🌟 | ⛔️ |
|
|
|
|
|
|
## Claude 3.5 Sonnet
|
|
|
|
|
|
### Simple Instruction Call: Weather Query
|
|
|
|
|
|
Test Instruction: Instruction ①
|
|
|
|
|
|
<Video src="https://github.com/lobehub/lobe-chat/assets/28616219/42a6980c-ea2a-44fd-b61f-a7989827f5a5" />
|
|
|
|
|
|
<Image alt="Claude 3.5 Sonnet Tools Calling for Simple Instruction" src="https://github.com/lobehub/lobe-chat/assets/28616219/71146b75-2c73-48c3-9688-1d8814d2a791" />
|
|
|
|
|
|
<details>
|
|
|
<summary>Tools Calling Raw Output:</summary>
|
|
|
|
|
|
```yml
|
|
|
```
|
|
|
</details>
|
|
|
|
|
|
### Complex Instruction Call: Literary Map
|
|
|
|
|
|
Test Instruction: Instruction ②
|
|
|
|
|
|
<Video src="https://github.com/lobehub/lobe-chat/assets/28616219/a9a40899-d5f3-4ef2-aa08-922751b05ca6" />
|
|
|
|
|
|
From the above video:
|
|
|
|
|
|
1. Sonnet 3.5 supports Stream Tools Calling and Parallel Tools Calling;
|
|
|
2. In Stream Tools Calling, it is observed that creating long sentences will cause a delay (as seen in the Tools Calling raw output `[chunk 40]` and `[chunk 41]` with a delay of 6s). Therefore, there will be a relatively long waiting time at the beginning stage of Tools Calling.
|
|
|
|
|
|
<Image alt="Claude 3.5 Sonnet Tools Calling for Complex Instruction" src="https://github.com/lobehub/lobe-chat/assets/28616219/23e2d7e5-a6f3-4f4c-9c6a-5651f35a5910" />
|
|
|
|
|
|
<details>
|
|
|
<summary>Tools Calling Raw Output:</summary>
|
|
|
|
|
|
```yml
|
|
|
```
|
|
|
</details>
|
|
|
|
|
|
## Claude 3 Opus
|
|
|
|
|
|
### Simple Instruction Call: Weather Query
|
|
|
|
|
|
Test Instruction: Instruction ①
|
|
|
|
|
|
<Video src="https://github.com/lobehub/lobe-chat/assets/28616219/0e120fa2-8410-4552-a947-5ab7a91d994d" />
|
|
|
|
|
|
From the above video:
|
|
|
|
|
|
1. Claude 3 Opus outputs a `<thinking>` tag at the beginning of Tools Calling, which is not very helpful for users and consumes more tokens;
|
|
|
2. Opus triggers Tools Calling twice, indicating that it does not support Parallel Tools Calling;
|
|
|
3. The raw output of Tools Calling shows that Opus also supports Stream Tools Calling.
|
|
|
|
|
|
<Image alt="Claude 3 Opus Tools Calling for Simple Instruction" src="https://github.com/lobehub/lobe-chat/assets/28616219/fa2f89bc-b9d5-43e3-a15e-1e79174d002c" />
|
|
|
|
|
|
<details>
|
|
|
<summary>Tools Calling Raw Output:</summary>
|
|
|
</details>
|
|
|
|
|
|
### Complex Instruction Call: Literary Map
|
|
|
|
|
|
Test Instruction: Instruction ②
|
|
|
|
|
|
<Video src="https://github.com/lobehub/lobe-chat/assets/28616219/b2dc8cd9-2582-43fe-9121-29c20a1cdc7b" />
|
|
|
|
|
|
From the above video:
|
|
|
|
|
|
1. Combining with simple tasks, Opus will always output a `<thinking>` tag, which significantly impacts the user experience;
|
|
|
2. Opus outputs the prompts field as a string instead of an array, causing an error and preventing the plugin from being called correctly.
|
|
|
|
|
|
<Image alt="Claude 3 Opus Tools Calling for Complex Instruction" src="https://github.com/lobehub/lobe-chat/assets/28616219/1eee785d-932f-4320-845e-eed0bee4b1ae" />
|
|
|
|
|
|
<details>
|
|
|
<summary>Tools Calling Raw Output:</summary>
|
|
|
</details>
|
|
|
|
|
|
## Claude 3 Sonnet
|
|
|
|
|
|
### Simple Instruction Call: Weather Query
|
|
|
|
|
|
Test Instruction: Instruction ①
|
|
|
|
|
|
<Video src="https://github.com/lobehub/lobe-chat/assets/28616219/600becd5-7f12-4a9a-86c7-e5cca0db6b1b" />
|
|
|
|
|
|
From the above video, it can be seen that Claude 3 Sonnet triggers Tools Calling twice, indicating that it does not support Parallel Tools Calling.
|
|
|
|
|
|
<Image alt="Claude 3 Sonnet Tools Calling for Simple Instruction" src="https://github.com/lobehub/lobe-chat/assets/28616219/e82f5c69-7607-488f-8c10-0482fb380c6c" />
|
|
|
|
|
|
<details>
|
|
|
<summary>Tools Calling Raw Output:</summary>
|
|
|
</details>
|
|
|
|
|
|
### Complex Instruction Call: Literary Map
|
|
|
|
|
|
Test Instruction: Instruction ②
|
|
|
|
|
|
<Video src="https://github.com/lobehub/lobe-chat/assets/28616219/c150aa5f-36bc-40f2-a779-9c4fdcf2cd4c" />
|
|
|
|
|
|
From the above video, it can be seen that Sonnet 3 fails in the complex instruction call. The error is due to prompts being expected as an array but generated as a string.
|
|
|
|
|
|
<Image alt="Claude 3.5 Sonnet Tools Calling for Complex Instruction" src="https://github.com/lobehub/lobe-chat/assets/28616219/b7d84e26-920d-4a82-8798-1b1060ebb341" />
|
|
|
|
|
|
<details>
|
|
|
<summary>Tools Calling Raw Output:</summary>
|
|
|
</details>
|
|
|
|
|
|
## Claude 3 Haiku
|
|
|
|
|
|
<Video src="https://github.com/lobehub/lobe-chat/assets/28616219/02b3e872-735a-4928-8245-a90786acea8b" />
|
|
|
|
|
|
From the above video:
|
|
|
|
|
|
1. Claude 3 Haiku triggers Tools Calling twice, indicating that it also does not support Parallel Tools Calling;
|
|
|
2. Haiku does not provide a good response and directly calls the tool;
|
|
|
|
|
|
<Image alt="Claude 3 Haiku Tools Calling for Simple Instruction" src="https://github.com/lobehub/lobe-chat/assets/28616219/9081b586-cf43-440f-8ef8-1de5d8658694" />
|
|
|
|
|
|
### Complex Instruction Call: Literary Map
|
|
|
|
|
|
Test Instruction: Instruction ②
|
|
|
|
|
|
<Video src="https://github.com/lobehub/lobe-chat/assets/28616219/d1e3f804-0b89-4b90-9d78-69aee0db1c4d" />
|
|
|
|
|
|
From the above video, it can be seen that Haiku 3 also fails in the complex instruction call. The error is the same as prompts generating a string instead of an array.
|
|
|
|
|
|
<Image alt="Claude 3 Haiku Tools Calling for Complex Instruction" src="https://github.com/lobehub/lobe-chat/assets/28616219/cde80220-4615-43bb-934f-35fe0de88754" />
|
|
|
|
|
|
<details>
|
|
|
<summary>Tools Calling Raw Output:</summary>
|
|
|
</details>
|