ブログ一覧に戻る
ガイド

docstringスキルでPyTorchの関数ドキュメントを規約に沿って書く方法

Skill Gallery Team2026年1月31日4 分で読める

PyTorchにコントリビュートする際、docstringの書き方に悩んだ経験はありませんか?Sphinx/reStructuredText形式、数式の記法、型の書き方など、PyTorch固有の規約は多岐にわたります。

この記事では、PyTorchリポジトリのdocstringスキルを使って、規約に準拠したdocstringを効率的に作成する方法を解説します。

このスキルは何をしてくれるのか

docstringスキルは、PyTorchの規約に従ったdocstringの作成をガイドするスキルです:

  • raw string(r""")の使用ルール
  • 関数シグネチャ、引数、戻り値の記述形式
  • Sphinxクロスリファレンス(:func::class::meth:)の使い方
  • LaTeX数式の記法(.. math:::math:
  • Examples::セクションの書き方

PyTorchコアにコントリビュートする開発者や、PyTorchの内部関数のドキュメントを整備する方に向いています。

インストール方法

前提条件

  • Claude Codeがインストール済みであること
  • PyTorchリポジトリのソースコードへのアクセス

インストールコマンド

claude mcp add github.com/pytorch/pytorch/tree/main/.claude/skills/docstring

使い方

基本的な使い方

docstringを作成・更新したい関数を指示します:

この関数のdocstringをPyTorchの規約に沿って書いて

docstringの構造

PyTorchのdocstringは以下の順序で構成されます:

  1. 関数シグネチャ - パラメータとreturn typeを含む
  2. 簡潔な説明 - 1行で機能を述べる
  3. 数式(該当する場合) - .. math::ディレクティブ
  4. Args: - 各パラメータの型と説明
  5. Returns: - 戻り値の説明
  6. Examples:: - コード例(>>>プロンプト形式)

記述例

r"""relu(input, inplace=False) -> Tensor

Applies the rectified linear unit function element-wise.
See :class:`~torch.nn.ReLU` for more details.

Args:
    input (Tensor): input tensor
    inplace (bool): operate in-place. Default: ``False``

Examples::

    >>> input = torch.randn(2)
    >>> torch.relu(input)
"""

知っておくべき注意点

raw stringを使う

LaTeX数式のバックスラッシュが正しく処理されるよう、すべてのdocstringでr"""(raw string)を使用してください。

ダブルバッククォートでコード表現

インラインコードには``True````None``のようにダブルバッククォートを使います。シングルバッククォートはSphinxのロール用です。

C-bound関数は_add_docstrを使用

C++で実装された関数のdocstringは、Pythonコード内で_add_docstrを使って追加します。

まとめ

docstringスキルを使うと、PyTorchの規約に準拠したdocstringを、Sphinxの記法やLaTeX数式を含めて正確に作成できます。PyTorchへのコントリビュート時のドキュメント作成に活用してください。

詳細な仕様やオプションは、スキル詳細ページをご確認ください。

関連リンク

docstring スキル詳細

docstringpytorchpythondocumentationsphinx

関連記事