書籍『作って学ぶAIエージェント』技術レビューのご案内(Member 向け)

現在執筆中の書籍『作って学ぶAIエージェント』について、
原稿テキスト段階での技術レビューを実施します。


目的

本レビューの目的は主に以下です。

  • 技術的に致命的な誤りの検出
  • 説明の前提不足や誤解を招く表現の指摘
  • 現行ツール・APIとの不整合の確認

あわせて、書籍の構成・内容に対する要望や改善提案も受け付けます。
(これは必須ではなく、可能な範囲で構いません)


やってもらいたいこと

  • 書籍の内容を読み、必要に応じてサンプルコードを実際に動かす
  • 動作しない箇所、分かりづらい点、前提が不足している点があれば報告する
  • 内容や構成について要望・違和感があれば共有する

レビューの深さや範囲は参加者に委ねます。

※ 技術レビューにあたって発生する API 利用料金等は、恐れ入りますが各自のご負担となります。
レビュー自体は原稿(Markdown/コード)を読む形でも十分に行っていただけます。


進め方

  • レビュー用に期間限定の Private GitHub Repository を用意しました
  • 対象は原稿テキスト(Markdown/コード含む)です
  • フィードバックは Google フォーム から送信してください
    • 記名・匿名どちらでも可

書籍の構成(目次)

# 作って学ぶAIエージェント:TypeScriptとLLMで切り拓くAI時代のエンジニアリング

## 概要

本書では、シンプルなAIエージェントをTypeScriptを用いて実装し、LLMがどのようにツールを使い、タスクを自律的に遂行するのかを理解していきます。ファイルの読み書きやコマンド実行といったツールの実装から始め、思考ループの構築、そしてGitHub Actionsと連携してプルリクエストを自動作成するエージェントを完成させます。

## 目次

### 第1部:AIエージェント開発の全体像を掴む

#### 第1章: AIエージェントが拓く新しい開発スタイル

- 1.1 AIエージェントの台頭と開発手法の変化
- 1.2 AIエージェントを学ぶ意義
- 1.3 本書のゴール──3つのコンポーネントで作るAIエージェント
- 1.4 本書の学習アプローチ
- 1.5 AIエージェントの構成要素──ツールと思考ループ
- 1.6 本書の学習ロードマップ

#### 第2章: 開発環境とLLM APIの基礎

- 2.1 TypeScriptを採用する理由
- 2.2 Bunを採用する理由
- 2.3 Dev Containerを採用する理由
- 2.4 LLM APIの基礎
- 2.5 開発環境のセットアップ
- 2.6 本書で使用するモデル
- 2.7 ハンズオン(d1):最初のAPIコール

### 第2部:エージェントの「身体」を作る

#### 第3章: LLM APIへの抽象化レイヤーを実装する

- 3.1 抽象化レイヤーの必要性
- 3.2 型定義──統一インタフェースの設計
- 3.3 プロバイダー層の実装
- 3.4 ハンズオン(d2):generateText関数の実装
- 3.5 ハンズオン(d3):マルチプロバイダー対応のテスト
- 3.6 プロバイダー間の差異吸収の整理

#### 第4章: エージェントの「手足」となるツールを実装する

- 4.1 ローカル環境でのコマンド実行の危険性
- 4.2 ツールが必要となる背景
- 4.3 ツールの基本構造
- 4.4 ハンズオン(d4):ファイルの読み書きツール(readFile、writeFile、editFile)の実装
- 4.5 ハンズオン(d5):コマンド実行ツール(execCommand)の実装
- 4.6 ツールの統合
- 4.7 補足:さらなる安全性強化へ──アプリケーションとOSによる二層の防御

#### 第5章: エージェントの「頭脳」となる思考ループを実装する

- 5.1 なぜ思考ループが必要なのか
- 5.2 最小のエージェント──1往復の会話
- 5.3 繰り返しを追加する──会話のループ
- 5.4 ハンズオン(d6):ツール実行を統合する
- 5.5 承認ポリシー──ツール実行前の確認機構
- 5.6 エラーハンドリング──executeToolの内部拡張
- 5.7 その他の安全性の考慮
- 5.8 Agentクラス(再利用可能な設計)
- 5.9 デバッグとテスト

### 第3部:AIエージェントを完成させ、実用化する

#### 第6章: コーディングエージェントを組み立てる

- 6.1 Nano Codeに明確な指示を与える
- 6.2 ハンズオン(d7):CLIで動くNano Codeの実装
- 6.3 実行例と出力
- 6.4 思考過程の可視化
- 6.5 ハンズオン(d8):コンテキスト管理の実装

#### 第7章: GitHub Actionsで開発ワークフローを自動化する

- 7.1 最小構成で動かす
- 7.2 Secretsと権限
- 7.3 Git操作ツール
- 7.4 GitHub CLIによるプルリクエスト作成
- 7.5 手動トリガーでの動作確認
- 7.6 Issueイベントへの接続
- 7.7 状況を認識して行動を変える──再実行への対応
- 7.8 完全なソースコード

### 第4部:より賢く、安全なエージェントへ

#### 第8章: エージェントの性能と安全性を高めるサンドボックス

- 8.1 なぜ多層防御が必要なのか
- 8.2 ハンズオン(d10):アプリケーション制御を実装する
- 8.3 ハンズオン(d11):プロセス隔離を実装する
- 8.4 攻撃が無力化されることを確認する

#### 第9章: AIエージェント開発のこれから

- 9.1 本書の振り返りと到達点
- 9.2 Nano Codeの拡張可能性
- 9.3 開発の前提が書き換わる
- 9.4 エンジニアの役割の変化
- 9.5 チームとプロセスの再設計
- 9.6 トレードオフとエンジニアの責任
- 9.7 技術変化への対応
- 9.8 実装から運用へ

### Appendix

#### Appendix A: LLM Streaming APIの実装と設計

#### Appendix B: Responses API対応

スケジュール

  • レビュー期間:現在 〜 1/7 頃(約1週間)
  • 年始に比較的時間が取れる方向けの想定です
    ※参加可能な範囲・タイミングで問題ありません

献本について

  • 金銭的な謝礼はありません
  • レビュー参加者には、完成後に献本をお渡しする予定です

参加方法

こちらをご確認ください
👉

  1. 書籍『作って学ぶAIエージェント』技術レビュー(参加受付)でGitHubアカウントを申請をいただき
  2. 確認後、https://github.com/lai-so/gihyo-build-ai-agent へこちらから招待します

技術的観点でのチェックにご協力いただける方は、無理のない範囲でご参加ください。

Subscribe to laiso

Sign up now to get access to the library of members-only issues.
Jamie Larson
Subscribe