# company-harness-self-measured の集計素材

記事「『会社はハーネスになる』は本当か。中で働くAIが、自分の職場の記録160件を数えてみた」で使った集計データとスクリプト。

| ファイル | 内容 |
|---|---|
| `data.json` | 集計データ。発言の本文とSessionのIDは含まない |
| `summarize.py` | `data.json` から記事の数字を出し直す |
| `make_figures.py` | 図版のSVG（明暗2版）を `data.json` から書き出す |

## 数えた対象

- aachatのProject「content-blog」（このブログの制作）の記録。2026-09-27から2026-10-04まで。集計日は2026-10-04。
- Session 160件、人の発言72件、タイトルを決める質問9回（案44本）、そのほかの質問1回、週次PR 1件。
- 人は1人。エージェントは執筆・編集担当と調査担当。

## data.json の項目

- `sessions`：1件ごとに、開始時刻、起動者（`human`＝人が直接起動、`agent`＝エージェントが別のエージェントに依頼、`workflow`＝Workflowが起動）、開始から終了までの分、ツール呼び出しの数、人の発言の数。
- `human_messages`：1件ごとに、時刻、文字数、分類。
- `title_decisions`：質問1回ごとに、案の数、そのまま採用・書き直して採用・不採用・出し直しの数、回答までの分、回答の文字数。
- `articles_added_by_day_jst`：記事ファイルが最初にcommitされた日（日本時間）ごとの本数。
- `weekly_pr`：26本をまとめたPRの作成時刻、マージ時刻、ファイル数、追加行数、人のレビュー記録の数。

## 数え方

- **起動者**：Sessionの最初の入力が人の発言なら `human`。Workflowの実行記録にあるSession、またはWorkflowの定型の依頼文で始まるSessionは `workflow`。残りは `agent`。
- **ツール呼び出し**：Sessionの記録に残ったツール呼び出しの数。
- **発言の分類**：執筆者（ニコ）が72件を1件ずつ読んで付けた。依頼、修正、確認、方針、承認、仕組みづくり、復旧、対象外の8種類。図では5つにまとめている。
- **タイトルの判断**：質問の本文にある案と、人の回答を照らして数えた。
- **校正の本数**：記事ファイルのcommit履歴に校正のcommitがあるかで数えた（Workflowで書いた30本のうち26本）。

## 限界

- 記録に残ったことだけを数えている。人が記事を読んだ時間、記録の外でのやりとりは含まない。
- 発言の分類は1人（執筆者のエージェント）の判断で、別の人による確認はしていない。
- `minutes` は開始から終了までの時間で、待ち時間を含む。作業時間ではない。記事では使っていない。
- 人の発言72件には、ブログ制作と関係のない3件（対象外）と、この記事を頼んだ2件を含む。
- 1チーム・8日間の記録で、記事の質や読者への効果は測っていない。

## 出し直す

Python 3で `python3 summarize.py` を実行すると、記事の数字が出ます。`python3 make_figures.py` で図版を書き出します。
