Skip to content

補足情報サイトに ch02 環境変数名と ch06 maxSteps の差異記事を追加 (再投入) #35

@laiso

Description

@laiso

書籍の補足情報サイト (workspace/docs/index.html) に、2 つの補足記事を追加してください。

注: Issue #33 / PR #34 は editFile の解釈ミスで構造破壊が起きてクローズしました。今回は LLM_MODEL を gpt-5.5 に上げて再投入しています。下記の 編集時の禁止事項 を必ず守ってください。

修正対象ファイル

  • workspace/docs/index.html のみ(バックアップファイル *.backup は作成しないでください)

タスク 1: 第 2 章セクションを新規追加

第 3 章セクション(id="ch03-3-llm-api-error" を含む <section class=\"chapter-group\">)の 直前 に、第 2 章セクションを新規追加してください。

<section class=\"chapter-group\">
  <h2>第 2 章</h2>

  <article id=\"ch02-7-env-key-name\">
    <header>
      <span class=\"chapter-label\">2.7 節</span>
      <h3>Google 系 API キーの環境変数名</h3>
      <a class=\"anchor\" href=\"#ch02-7-env-key-name\">#</a>
    </header>
    <dl>
      <dt>本書の記載</dt>
      <dd>
        <p>本書 2.7 節「API キーの設定」の <code>.env</code> 記載例では、Google の API キーを次のように記載しています。</p>
        <pre><code>OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
GOOGLE_API_KEY=AI...</code></pre>
        <p>同様に第 6 章の <code>createModelFromEnv</code> のコード例でも <code>process.env.GOOGLE_API_KEY</code> が使われています。一方、第 3 章のプロバイダー実装と表では <code>GEMINI_API_KEY</code> が登場しており、本書内で表記が混在しています。</p>
      </dd>
      <dt>症状</dt>
      <dd>
        <p>配布リポジトリの <code>.env.example</code><code>GEMINI_API_KEY</code> を採用しています。</p>
        <pre><code>OPENAI_API_KEY=sk-proj-...
GEMINI_API_KEY=AI...
ANTHROPIC_API_KEY=sk-ant-...</code></pre>
        <p>このため、配布リポジトリ実体に合わせて <code>.env</code> を作成する場合と、本書 2.7 節の例どおりに作成した場合で、環境変数名が異なる状態になります。</p>
      </dd>
      <dt>対処</dt>
      <dd>
        <p>配布リポジトリの <code>src/providers/google.ts</code><code>GEMINI_API_KEY</code> を優先しつつ <code>GOOGLE_API_KEY</code> もフォールバックとして参照する実装になっているため、どちらの環境変数名を設定しても動作します。配布リポジトリと一致させたい場合は <code>GEMINI_API_KEY</code> を使用してください。</p>
        <pre><code>const apiKey =
    config.apiKey ?? process.env.GEMINI_API_KEY ?? process.env.GOOGLE_API_KEY;</code></pre>
      </dd>
    </dl>
  </article>
</section>

加えて、`<aside class="toc">` 内、第 3 章ナビゲーション(`

第 3 章

` ブロック)の 直前 に第 2 章ナビゲーションを追加してください。

```html

第 2 章

\`\`\`

タスク 2: 第 6 章セクションに maxSteps の article を追加

既存の第 6 章セクション内、`<article id="ch06-4-create-model-from-env">` の閉じタグ `` の 直後 (ただし `` の 手前)に、新しい article を追加してください。第 6 章セクションの `` 閉じタグは絶対に削除しないでください。

<article id=\"ch06-7-max-steps-tuning\">
  <header>
    <span class=\"chapter-label\">6.7 節</span>
    <h3><code>maxSteps</code> の値が章間で異なる点</h3>
    <a class=\"anchor\" href=\"#ch06-7-max-steps-tuning\">#</a>
  </header>
  <dl>
    <dt>本書の記載</dt>
    <dd>
      <p>本書 6.7 節「<code>maxSteps</code> のチューニング」では、<code>maxSteps: 15</code> を推奨値として紹介しています。</p>
      <pre><code>const agent = new Agent({
    // ...
    maxSteps: 15,
});</code></pre>
      <p>一方、第 7 章 7.2 節「自動承認モード(--yolo)の実装」で <code>cli.ts</code> を書き直す際には <code>maxSteps: 20</code> に変更されています。</p>
      <pre><code>const agent = new Agent({
    // ...
    maxSteps: 20,
});</code></pre>
    </dd>
    <dt>症状</dt>
    <dd>
      <p>本書を 6 章までで止めて使うぶんには <code>maxSteps: 15</code> で問題ありませんが、第 7 章で組む Issue 駆動ワークフロー(コード修正→ブランチ作成→コミット→プッシュ→PR 作成→Issue へのコメント)は実行ステップ数が多く、<code>maxSteps: 15</code> のままだと完走前にステップ上限に達して打ち切られることがあります。配布リポジトリの <code>bin/cli.ts</code><code>maxSteps: 20</code> を採用しています。</p>
    </dd>
    <dt>対処</dt>
    <dd>
      <p>第 7 章に進む際は、本書 7.2 節のとおり <code>maxSteps: 20</code> に引き上げてください。本書 7.2 節のコード例自体に <code>maxSteps: 20</code> が含まれているため、章順に写経している読者は自然と引き上げられますが、第 6 章のコードを部分的に再利用する場合は明示的に変更が必要です。</p>
      <p>なお、より複雑なタスクで <code>maxSteps</code> に到達して打ち切られる場合は、20 をさらに大きな値(25〜30 など)に上げる前に、システムプロンプトの見直しやタスクの分割を先に検討してください。</p>
    </dd>
  </dl>
</article>

加えて、`<aside class="toc">` 内、第 6 章ナビゲーション(`

第 6 章

` ブロック)の `
    ` 内、既存の `<a href="#ch06-4-create-model-from-env">` の 直後 に次のリンクを追加してください。

    ```html

  • 6.7 節 maxSteps の値が章間で異なる点
  • \`\`\`

    編集時の禁止事項(重要・前回の失敗を踏まえた指示)

    editFile を使う際は、必ず以下を守ってください。

    1. oldText は最小限の範囲だけにしてください。具体的には、変更対象の直前直後の数行(コンテキスト識別に必要な分)だけにとどめ、既存の <section> </section> <article> </article> などの保持されるべきタグを oldText に含めないでください
    2. oldText に含めたものは newText でも必ず元のまま含めてください。例えば oldText</section> を含めたら newText でも </section> を残してください。
    3. 第 3 章セクション(id="ch03-3-llm-api-error")、第 4 章セクション(id="ch04-6-tools-demo-filename")、第 6 章セクション内の既存 `<article id="ch06-4-create-model-from-env">`、第 7 章セクション、第 8 章セクションはいずれも一切削除・変更しないでください。新規 article を「挿入」するだけです。
    4. 編集後に execCommandgrep -c '<section class=\"chapter-group\">' workspace/docs/index.htmlgrep -c '</section>' workspace/docs/index.html を実行し、編集前と比べて section の開閉数が意図どおりの増分になっていることを確認してから commit してください。今回の編集後の期待値: 第 2 章セクション 1 個追加、第 6 章は section 数増減なし、合計 +1 個。
    5. バックアップファイル(*.backup 等)を作成しないでください。万が一作成した場合も git add しないでください。

    その他注意事項

    • 既存記事 (ch03, ch04, ch06, ch07, ch08 系) の HTML 構造・class 名 (`chapter-group`, `chapter-label`, `anchor` など) と一致させてください。
    • `
      ` 内の `<` / `>` / `&` は HTML エスケープしてください (`<`, `>`, `&`)。
    • 仮節番号「2.7 節」「6.7 節」を使用していますが、書籍本文の実際の節番号と異なる場合は調整してください。
    • 既存記事の文体(です・ます調、`` 包み、`
      本書の記載
      ...
      ` 構造)を踏襲してください。
    • 2 つのタスク(第 2 章セクション新規追加、第 6 章への article 追加)の両方を 1 つの PR にまとめて反映してください。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions