ITSUKI.
技術936 文字3 分

Day 01|ソースから動かすと、コードに意味が生まれる

#Codex#ソースコードリーディング#図解

この章しょうの答こたえ

まず動作どうさを観察かんさつし、その動うごきを生うむコードを探さがす。

巨大きょだいなリポジトリを先頭せんとうから読よむと、部品ぶひんの名前なまえばかりが増ふえてしまいます。最初さいしょに自分じぶんでビルドした Codex を起動きどうし、「入力にゅうりょくしたら何なにが起おきるか」を観察かんさつしましょう。実行じっこうファイルとユーザー状態じょうたい、モデルを動うごかすサービスの違ちがいも、ここで整理せいりします。

01|図でつかむ

図01|ソースから動かすと、コードに意味が生まれる

取得しゅとく → ビルド → 起動きどう → 観察かんさつ。観察かんさつした言葉ことばが、次つぎに検索けんさくするキーワードになる。

02|3つのポイントで理解する

1. ビルドは、ソースを実行できる形に変えること

Rust の crate はコンパイルの単位たんい、package は Cargo.toml で管理かんりする単位たんい、workspace は複数ふくすうの package をまとめる単位たんいです。codex-rs は workspace なので、最初さいしょは CLI の package と binary を指定していして作つくります。全ぜん crate の役割やくわりを暗記あんきする必要ひつようはありません。

2. 自作した実行ファイルを、パスで指定する

単たんに codex と入力にゅうりょくすると、PATH 上うえのインストール済すみ版はんが動うごく可能性かのうせいがあります。通常つうじょうの出力先しゅつりょくさきなら codex-rs で ./target/debug/codex を実行じっこうします。CARGO_TARGET_DIR などで出力先しゅつりょくさきを変かえている場合ばあいは、実際じっさいの生成せいせい先さきを確認かくにんします。

3. プログラム・状態・サービスを分ける

ビルドしてできるのはクライアントです。同おなじユーザー設定せっていを使つかえば、以前いぜんの認証にんしょう状態じょうたいを参照さんしょうすることがあります。モデル自体じたいをローカルで作つくったわけではなく、同おなじアカウントなら利用りよう枠わくも別べつにはなりません。初回しょかいビルドの時間じかんは依存関係いぞんかんけいや環境かんきょうで変かわります。

03|ソースで確かめる

新あたらしく取得しゅとくする場合ばあいの例れいです。Rust などの前提ぜんていはリポジトリのビルド手順てじゅんで確認かくにんしてください。既すでに取得しゅとく済すみなら clone は不要ふようです。

git clone https://github.com/openai/codex.git
cd codex/codex-rs
cargo build -p codex-cli --bin codex
./target/debug/codex
# 認証状態を確認する場合
./target/debug/codex login status

読よむ入口いりぐち: codex-rs/cli/src/main.rs 。リンク先さきは照合しょうごうに使つかった固定こてい commit のファイルです。手元てもとの版はんと異ことなる場合ばあいは、上うえの検索語けんさくごから探さがし直なおします。

小さく試す

ビルド後のちに「現在げんざいのディレクトリと git status を確認かくにんしてください」と依頼いらいし、実行じっこうしたコマンドと返かえってきた結果けっかを見比みくらべます。次つぎに同おなじ語ごを rg で検索けんさくしてください。

04|30秒で復習

  • 動作どうさ → 検索けんさく → ソースの順じゅんに読よむ。
  • workspace・package・crate を区別くべつする。
  • 実行じっこうファイルと認証にんしょう・履歴りれきは別べつのもの。

全ぜん30章しょうの目次もくじへ