HN 日本語サマリー

← 一覧へ戻る
プログラミング

Harness Engineering 101: LLMは脳、ハーネスは身体

Harness Engineering 101: The LLM is the brain, the harness is the body (github.com)

37 pointsby isuruwijesiri17 コメント

要約

この記事は、AIエージェントをゼロから構築するための「Harness Engineering」という概念を解説しています。LLM(大規模言語モデル)を「脳」と見なし、そのLLMとの対話や状態管理を行うプログラムを「ハーネス」(身体)と定義します。このシリーズでは、単純なPythonコードで約300行のトイエージェントを段階的に開発しながら、AIエージェント構築における基本的なパターンと課題を16章にわたって掘り下げていきます。

全文翻訳

Harness Engineering 101

LLMは脳。ハーネスは体。

バージョン 1.1、2026年10月。

AI利用に関する開示:私は、WSO2 MI Copilot、WSO2 BI Copilot、およびOne Codeを構築して学んだことから、各章を自分で作成しました。Claude CodeとOne Codeを使用して、各章が回答(Mintoピラミッド)から始まるように並べ替え、英語を洗練させ、図を生成し、チャートを描画するコードを記述しました。

最初の原則からAIエージェントを構築することに関するブログシリーズで、書籍としても出版されています。

📖 オンラインで読む: https://isuruwijesiri.com/harness-engineering-101/

LLM APIはステートレスです。各ターン、会話全体をJSON配列として送信し、テキストを受け取ります。「ハーネス」とは、その配列を構築、維持、保護するプログラムです。この分野で「エージェント」と呼ばれるものはすべて、その単一のループに対する一連のパッチであり、各パッチは具体的な問題が発生したために存在します。このシリーズは、その単一のアイデアを16章にわたって展開し、その過程でプレーンなPythonで約300行のトイエージェントを成長させます。

私はOne Codeでも同じアイデアを使用しています。これはpi上に構築されたオープンソースのコーディングエージェントです。

レンダリングされた書籍は、上記のリンクからオンラインで読むのが最適です。GitHubでソースを読みたい場合は、以下の順序で章を追ってください。完全な紹介は、書籍のランディングページにあります。

読む順序

各章は同じ構造を持っています:障害、最小限のパッチ、パッチのコスト。

Part I — ワイヤー(何も魔法ではない)
#章修正される障害
1それは単なるJSON配列です「このものとどうやって話せばいいの?」
2脳: 次のトークンブラックボックス「なぜそのように振る舞うの?」
3ツール: 関数にマッピングされたJSON脳は世界に触れることができない
4エージェントループ1回のツール呼び出しでは不十分
5キャッシング: なぜ順序が重要なのか配列を再送信すると高価になる
Part II — 長時間実行(プレッシャー下の配列)
#章修正される障害
6コンテキストは予算であり、バッグではないウィンドウがいっぱいになる
7サブエージェント: コンテキストをフォークする1つの配列ではすべての作業を保持できない
8実行ループのステアリングタスクの途中で脳が漂う
9バックグラウンドワークと時間ループは同期的。世界はそうではない
Part III — エコシステム(すでに理解しているものを命名する)
#章修正される障害
10すべてのフレームワークは第1章のラッパーである抽象化の不安
11ボディの拡張: MCP、スキル、遅延ロード、フック機能が配列に収まらない
12配列のデバッグ見えないプロンプトは修正できない
Part IV — 信頼、ドメイン、データ
#章修正される障害
13反射とガードレールループが愚かなことをする
14ケーススタディ: コーディングエージェントボディはどれくらい特化する必要があるか?
15RAGはもともとハーネスパターンだった1つのアイデアに対する千の名前
エピローグ
付録 — 高度なトピック

スタンドアロンのピース。必要に応じて読んでください。

リポジトリレイアウト

パス内容
src/*.md章と付録(書籍ソース)
src/SUMMARY.md書籍の目次
src/harness/実行可能なトイハーネス、ステージごとに1つのファイル
src/diagrams/図ジェネレーターとその生成されたPNG
book.tomlmdBook設定
scripts/sync-to-blog.sh書籍をビルドし、ブログにマウントして提供する

書籍のローカルビルド

cargo install mdbook mdbook-mermaid   # または: brew install mdbook (+ mdbook-mermaid バイナリ)
mdbook serve --open                    # http://localhost:3000 でライブリロードプレビュー
mdbook build                           # 静的サイトを ./book にビルド

mdbook-mermaid はインラインのmermaid図をレンダリングします。これがないと、それらのブロックは生のコードとして表示されます。

定量的図の再生成

cd src/diagrams && python3 gen_all.py   # Python 3.10+, matplotlib

ライセンス

このリポジトリはデュアルライセンスです:

  • 散文(すべての章と付録、src/下の.mdファイル)は、Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0)の下でライセンスされています。クレジットを表示すれば共有できますが、商業的に使用したり、改訂版を公開したりすることはできません。全文はLICENSEにあります。
  • コード(src/harness/およびsrc/diagrams/下の.pyファイル、およびそれらから書籍の章に複製されたコードスニペット)は、MITライセンスの下でライセンスされています。クレジットを表示して、自由に利用してください。

© 2026 Isuru Wijesiri。