Framework agents call the OpenAI Responses API regardless of the configured model

オープン
#482 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

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

調査の方向性

まず、サーバーに OPENAI_API_KEY がない状態で、examples/agents/93_openai_runner_hello_world.py と CONDUCTOR_AGENT_LLM_MODEL=anthropic/claude-sonnet-4-6 を使って失敗を再現します。conductor.ai Runner/framework-agent のパスを読み、その後、実行レスポンスと workflow レスポンスを調べて Assistant_llm と reasonForIncompletion を確認します。完了条件は、example が設定されたモデルにルーティングされるか、不足している依存関係を明確に報告してゼロ以外の終了コードで終了することです。

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

説明

bug

In short: run one of the *_openai_runner_* examples with an Anthropic model against a server that has no OpenAI key, and it fails — because this code path always calls OpenAI, whatever model you configured. It then prints None and exits 0, so nothing notices.

Files: examples/agents/93_openai_runner_hello_world.py, 94_openai_runner_tools.py, 95_openai_runner_handoffs.py, 96_openai_runner_streaming.py (the conductor.ai Runner / framework-agent path)

Symptom

With no OPENAI_API_KEY in the server process's environment:

$ CONDUCTOR_AGENT_LLM_MODEL=anthropic/claude-sonnet-4-6 python examples/agents/93_openai_runner_hello_world.py
Framework agent 'Assistant' execution FAILED
None

Both 93 and 96 exit 0 despite failing, so exit-code-based tooling — including scripts/run_examples.sh — scores them green.

Cause

The framework-agent path calls the OpenAI Responses API regardless of the configured model. With an Anthropic model and no OpenAI key on the server, the Assistant_llm LLM_CHAT_COMPLETE task sends an empty key to OpenAI instead of routing to Anthropic:

Task execution failed: OpenAI Responses API call failed: Responses API failed with status 401:
{"error": {"message": "Incorrect API key provided: ''. You can find your API key at
https://platform.openai.com/account/api-keys.", "type": "invalid_request_error",
"param": null, "code": "invalid_api_key"}}

Read it back with:

curl -s localhost:8080/api/agent/executions?size=5
curl -s "localhost:8080/api/workflow/<executionId>?includeTasks=true"   # Assistant_llm -> reasonForIncompletion

Confirmed by changing only the server's environment, one server, everything else fixed:

Server env model result
no OPENAI_API_KEY anthropic/claude-sonnet-4-6 FAILED
no OPENAI_API_KEY anthropic/claude-opus-4-6 FAILED
OPENAI_API_KEY present anthropic/claude-sonnet-4-6 pass
OPENAI_API_KEY present anthropic/claude-opus-4-6 pass

Ruled out:

  • the client's environment — fails with the client key set, passes with it unset
  • langchain-anthropic being installed — passes with it uninstalled

Only the server's environment matters.

Fix

Either drop the OpenAI dependency when the target model is not OpenAI, or fail with a message naming the missing key. Silent failure with None and exit 0 is the worst outcome.

Verify

Start the server with no OPENAI_API_KEY, run 93 with an Anthropic model — it should either work or say why, and exit non-zero if it fails.

Note: These examples document CONDUCTOR_AGENT_LLM_MODEL=openai/gpt-4o (or anthropic/claude-opus-4-6), so a user following the Anthropic option with an Anthropic-only server hits this immediately.

主要言語
Python
スター
104
フォーク
43
平均マージ
1日 13時間
マージ済み PR(30日)
4

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

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

conductor-oss/python-sdk のほかの issue

conductor-oss/python-sdk の issue をすべて見る

似ている issue

Python の issue をもっと見る

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

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