Skip to content

補足情報サイトに ch02 環境変数名と ch06 maxSteps の差異記事を追加 #33

Description

@laiso

書籍の補足情報サイト (workspace/docs/index.html) に、2 つの補足記事を追加してください。1 つ目は Google 系 API キーの環境変数名(GEMINI/GOOGLE)の混在、2 つ目は maxSteps の値が章間で異なる件です。

修正対象ファイル

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

タスク 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 を追加してください。

<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 の値が章間で異なる点
  • \`\`\`

    注意事項

    • 修正対象は `workspace/docs/index.html` のみ です。バックアップファイル(`*.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 にまとめて反映してください。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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