3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OpenAI Codex CLI のクイックスタートを試してみた

Last updated at Posted at 2025-04-17

はじめに

新モデルとともに発表された、以下の Codex CLI を試してみた話です。

GitHub のリポジトリは以下です。

●openai/codex: Lightweight coding agent that runs in your terminal
 https://github.com/openai/codex

image.png

実際に試してみる

クイックスタートを試す: 軽いお試し

公式のクイックスタートを試します。

image.png

ローカルインストールで試す

公式手順ではグローバルインストールをするところですが、ローカルインストールで試します。

npm install @openai/codex

次に、環境変数で OpenAI の APIキーを設定します。「OPENAI_API_KEY」という名前で設定します。

あとは実行コマンドです。ローカルインストールしたので codex だけでは実行ができないので、以下の内容にして実行します。

npx codex

(他に似たコマンドで、 npm exec codexnpm x codex というコマンドもありますが、これらだと一部のオプション付きのコマンド実行で、想定通りでない動作をすることがありそうでした)

とりあえず、適当なプロンプトを送ってみます。

以下のような返答が返ってきました。

image.png

クイックスタートの「Full Auto mode」を試す

さらに、以下の部分に書いてある「Full Auto mode」を試してみます。

image.png

以下で実行してみます。

npm x codex --approval-mode full-auto "create the fanciest todo-list app"

以下は、コマンド実行直後の画面です。

image.png

実行中の様子(続き)

当初のプロンプトの内容と違う方向になってますが、お試しとして適当なプロンプトを入れて続けてみました。
(以下は、主な内容を抜粋したものです)

image.png

image.png

image.png

image.png

image.png

image.png

生成されたコード

コードを書いてもらった部分で、最終的に作成された内容は以下の通りです。

#!/usr/bin/env node

const yargs = require('yargs');
const { hideBin } = require('yargs/helpers');

yargs(hideBin(process.argv))
  .scriptName('calc')
  .usage('$0 <cmd> [args]')
  .command(
    'add <numbers..>',
    'Add numbers',
    (yargs) => {
      yargs.positional('numbers', {
        type: 'number',
        description: 'Numbers to add',
      });
    },
    (argv) => {
      const result = argv.numbers.reduce((sum, n) => sum + n, 0);
      console.log(result);
    }
  )
  .command(
    'subtract <a> <b>',
    'Subtract b from a',
    (yargs) => {
      yargs
        .positional('a', { type: 'number', description: 'Minuend' })
        .positional('b', { type: 'number', description: 'Subtrahend' });
    },
    (argv) => {
      const result = argv.a - argv.b;
      console.log(result);
    }
  )
  .command(
    'multiply <numbers..>',
    'Multiply numbers',
    (yargs) => {
      yargs.positional('numbers', {
        type: 'number',
        description: 'Numbers to multiply',
      });
    },
    (argv) => {
      const result = argv.numbers.reduce((prod, n) => prod * n, 1);
      console.log(result);
    }
  )
  .command(
    'divide <a> <b>',
    'Divide a by b',
    (yargs) => {
      yargs
        .positional('a', { type: 'number', description: 'Dividend' })
        .positional('b', { type: 'number', description: 'Divisor' });
    },
    (argv) => {
      if (argv.b === 0) {
        console.error('Error: Division by zero');
        process.exit(1);
      }
      const result = argv.a / argv.b;
      console.log(result);
    }
  )
  .demandCommand(1, 'You need to specify a command')
  .help()
  .alias('h', 'help')
  .alias('v', 'version')
  .argv;

どうやら、以下を使ったコードが作成されたようです。

●yargs - npm
 https://www.npmjs.com/package/yargs

生成されたツールを試してみる

最後に、生成されたツールを試してみます。

以下のように、計算やヘルプ・バージョンの表示のコマンドを試してみて、それぞれの実行結果を得られました。

image.png

API利用履歴を確認してみる

OpenAI のダッシュボードで、API利用履歴を確認してみます。

以下のように、今回のお試しで使ったトークン数が表示されているのを確認しました。

image.png

おわりに

とりあえず、OpenAI Codex CLI のクイックスタートを試してみました。

今回は簡単なやりとりと、ちょっとしたコードの作成を依頼しました。別途、Codex CLI の仕様(※ 例えば以下の内容など)を確認して他に試すことを考えてみたり、もしくは別のタスクを依頼してみたりなどできたらと思います。

image.png

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?