🫣
OpenAI Agent SDKのdocstringsがおかしい
最近Agentを真に理解しようとOpenAI Agent SDKのコードを読んでいる。
はじめ気づかなかったのだが、機能突然docstringsがおかしいことに気がついた
通常のdocstringsとの比較
これが通常のdocstrings
class Agent:
"""
AI エージェントを表すクラス。
Parameters
----------
name : str
エージェント名
instructions : str | None
システムプロンプト
tools : list[Tool]
利用可能なツール
"""
def __init__(self,
name: str,
instructions: str | None = None,
tools: list["Tool"] | None = None):
self.name = name
self.instructions = instructions
self.tools = tools or []
こっちがOpneAI Agent SDK形式のdocstrings
class Agent:
"""AI エージェントを表すクラス。"""
name: str
"""エージェント名"""
instructions: str | None = None
"""システムプロンプト"""
tools: list["Tool"] = field(default_factory=list)
"""利用可能なツール"""
def __init__(self,
name: str,
instructions: str | None = None,
tools: list["Tool"] | None = None):
self.name = name
self.instructions = instructions
if tools is not None:
self.tools = tools
通常のdocstirngはクラス定義の直下に記述するが、
フィールド直下にコメントを残していたのだ。
こんなに違うのに意外と気づかないもんだった。
なぜフィールド直下にコメントするのかの推測
Clineの記事になるがエディターに登載されたAIはRAGとの相性が悪いようだった。
つまり、そのほかのコードの検索方法が必要で、それってなんなの?という話が自分の中に残っていた。
その残っていた疑問とこのdocstringsの記述が頭の中でつながり「!!!」っとなったのだった。
もうわかったと思うが、
これはAIが読みやすいようにこうしているのだと推測した。
OpenAIは本当にAIに仕事をさせている
先日「OpenAI Agent SDKもcodex使って開発してる」というのをXにポストした。
codexが発表された時に出た動画でも本当に開発メンバーの一員として扱っている様子を語っていた。
まとめ
これ以上は推測の域をでないので、なぜそれがAIエディターにとって効率的なのかを考えるのはやめた。
これからAIをフル活用して開発をするなら最新の技術を作っている一次情報をインプットし続けることが重要であることは変わらないのでそれだけは続けようと思う。
関連資料

「プロダクトの力で、豊かな暮らしをつくる」をミッションに、法人向けに生成AIのPoC、コンサルティング〜開発を支援する事業を展開しております。 エンジニア募集しています。カジュアル面談応募はこちらから: herp.careers/careers/companies/explaza
Discussion