a2aproject / a2aproject/a2a-samples

A2A Client Timeout Error in Multi-Agent System

オープン
#346 コメント 5 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Jupyter Notebook
スター
1.8k
フォーク
751
PR マージ指標
30日以内にマージされた PR はありません

説明

### What happened?

The multi-agent Airbnb planner application encounters a timeout error when the host agent attempts to communicate with remote agents (Airbnb and Weather agents). The error occurs in the `get_response_from_agent` function and results in an `A2AClientTimeoutError`.

**Expected behavior:** The host agent should successfully communicate with remote agents and receive responses within the timeout period.

**Actual behavior:** The client request times out, causing the entire agent interaction to fail.

## How to reproduce

1. Set up the multi-agent system following the README instructions
2. Start all three agents (airbnb_agent, weather_agent, host_agent)
3. Send a request through the host agent that requires communication with remote agents
4. The timeout error occurs during agent-to-agent communication

## Environment

- **Python Version:** 3.13
- **A2A SDK Version:** (from requirements)
- **Operating System:** macOS
- **Project:** airbnb_planner_multiagent sample

## Root Cause Analysis

The error originates from:
1. `httpcore.ReadTimeout` in the HTTP transport layer
2. Propagates through `httpx.ReadTimeout`
3. Finally caught and re-raised as `A2AClientTimeoutError` in the A2A client

The timeout occurs during the `send_message` operation between the host agent and remote agents via JSON-RPC transport.

### Relevant log output

```shell
Error in get_response_from_agent (Type: ): Timeout Error: Client Request timed out
Traceback (most recent call last):
File "/Users/user/a2a/a2a-samples/samples/python/.venv/lib/python3.13/site-packages/httpx/_transports/default.py", line 101, in map_httpcore_exceptions
yield
File "/Users/user/a2a/a2a-samples/samples/python/.venv/lib/python3.13/site-packages/httpx/_transports/default.py", line 394, in handle_async_request
resp = await self._pool.handle_async_request(req)
[... full stack trace continues ...]
File "/Users/user/a2a/a2a-samples/samples/python/.venv/lib/python3.13/site-packages/a2a/client/transports/jsonrpc.py", line 190, in _send_request
raise A2AClientTimeoutError('Client Request timed out') from e
a2a.client.errors.A2AClientTimeoutError: Timeout Error: Client Request timed out
```

### Code of Conduct

- [x] I agree to follow this project's Code of Conduct

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

この問題は、`get_response_from_agent` 関数と JSON-RPC トランスポート層(`a2a/client/transports/jsonrpc.py`、190 行目)にあります。まず、サンプルプロジェクト `airbnb_planner_multiagent` を調べて、エージェントのセットアップと通信フローを理解してください。A2A クライアントのタイムアウト設定と、ホストとリモートエージェント間のネットワーク状態を確認してください。'Done' とは、ホストエージェントがタイムアウトせずに Airbnb エージェントおよび Weather エージェントと通信できることを意味します。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
python
領域
api, backend
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
45/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。