コンテンツにスキップ
lait
Esc
↑↓移動↵開く⌘Jプレビュー
このページの内容

会話セッションと対話モード(lait chat)

REPL と --session による会話の保存・再開。

lait chat(インタラクティブなマルチターン会話)

lait chat は会話履歴を保持したままターンを重ねられる REPL(対話モード)を起動します。 応答は既定でストリーミング表示されます。

lait chat --model "モデル ID"

引数もプロンプトも与えずに lait を実行した場合も、標準入力が端末(TTY)であれば同じ REPL が 起動します。標準入力がパイプで内容が空の場合は、スクリプトからの誤用を検知するためエラーになります。

REPL 内のメタコマンド:

コマンド 説明
/exit REPL を終了する(標準入力の終端(Ctrl-D)でも終了します)
/clear インメモリの会話履歴をクリアする(--session のファイルへの追記には影響しません)
/model <name> このターン以降に使うモデルを切り替える
/system <text> システムプロンプトを差し替える
/undo 直前のやり取り(ユーザーメッセージとモデルの応答)をインメモリの会話履歴から取り除く(--session のファイルには影響しません)
/retry 直前のユーザーメッセージを送り直す。成功していたターンは応答を置き換え、失敗していたターンはそのまま再試行します
/usage この REPL でこれまでに記録されたトークン使用量を表示する
/help メタコマンドの一覧を表示する

""" だけの行を入力すると複数行入力モードになり、次に """ だけの行を入力するまでの 内容を改行を保ったまま1つのメッセージとして送信します。複数行入力の中では、/ で始まる行も メタコマンドとしては扱わずメッセージの一部として送ります。

> """
... 次のコードをレビューしてください:
... fn main() {}
... """

/usage は、サーバーが報告した使用量だけを集計します。ストリーミング時は --show-usage を 付けない限りサーバーに使用量の報告を要求しないため、何も表示されないことがあります。

Ctrl-C は実行中の要求・ツール処理を中断し、接続などの後始末を行ってから REPL 全体を 終了します。終了コードは 130 です。入力待ちの間も Ctrl-C で終了できます。

ツールやセッションを使う場合の動作は次のとおりです。

  • --mcp/--subagent を指定してもストリーミング表示は続きます。モデルがツールを呼び出すと、 そのラウンドのテキスト(あれば)を表示してからツールを実行し、次のラウンドに進みます。
  • --session を指定すると、REPL の各ターンが同じセッションファイルに記録されます。/retry で 送り直したターンも、成功すれば新しいターンとして追記されます(元のターンは残ります)。
  • --show-usage を指定すると、ターンごとにそのセッション開始からの累積トークン使用量が表示されます。

--session(会話の保存と再開)

--session <NAME> を指定すると、単発の lait 呼び出しでも会話履歴を引き継げます。

lait --model "モデル ID" --session demo "1+1は?"
lait --model "モデル ID" --session demo "それに2を足すと?"

保存と読み込み

  • 保存先はプロジェクトローカルの .lait/sessions/<NAME>.jsonl です。1行につき1メッセージを 保存する JSON Lines 形式です。
  • リクエスト送信前に、保存済みの全ターンを読み込みます。履歴はシステムプロンプトの直後、 今回のプロンプトの直前に挿入されます。
  • リクエストが成功した場合だけ、今回のユーザーメッセージとモデルの応答を追記します。 失敗したターンは記録されません。

制限と注意

  • --stream と併用できます。ストリーミング中に表示された内容全体が、その回のモデル応答として 記録されます。
  • システムプロンプト(--system/--system-file/default.system)はセッションファイルに 保存されません。次回も必要な場合は、オプションまたは設定ファイルで指定してください。
  • セッション名に使えるのは英数字・_・- のみです。

lait sessions(セッションの一覧・確認・削除)

lait sessions list              # 保存されている全セッションとターン数を表示
lait sessions show demo         # demo セッションの全ターンを表示
lait sessions delete demo       # demo セッションを削除

このページは役に立ちましたか?