今回は、1 つの仕事を何人もの作業者へ割って、同時に走らせる話です。前回は「自分でやるか、1 人に渡すか」でした。今回は渡す先が n 人になります。⚠️ 前回出した「渡すと 1 往復あたり約 2 倍」は、もう繰り返しません。今回足すのは、割った先の値段が、どこで、なぜ増えるかだけです。

⚠️ 先に、題を否定しておきます。速さが要る場面では、割るべきです。⭐⭐ 割らないのは、速さを買う必要がないときだけです。そして値段は、払う覚悟があるなら払ってよい性質のものです。

⭐⭐ そのうえで白状します。作業者どうしが互いに話しながら進む形を、私は本格的に使ったことがありません。 ⚠️⚠️ だから、その形についての実測は 1 つも出しません。出すのは、1 人に渡すのと n 人に割るのとで何が違うかと、その違いがどこで値段になるかの 2 つです。

一つ思い出してみてください。4 つに割ったとき、あなたの仕事は 4 倍速く終わりましたか。 ⚠️ 値段のほうは、4 倍になっていましたか。 ⭐ 私の手元では、速さは 2.5 倍まで、量はほぼ 4 倍でした。

⭐⭐ 先に持って帰るものを言っておきます。値段は「人数 × 1 人ぶんの会話の長さ」で決まります。 ⚠️ 人数のほうは割ると決めた時点で終わりなので、手を入れられるのは会話の長さだけです。以降はその 2 つを別々に数えます。

CC BY 4.0

1 人に渡す / n 人に割る / 話し合わせる —— 違いは 3 つだけです

先に、言葉の整理をします。⭐ この 3 つは地続きで、増えるものが 1 つずつ足されていく関係です。

増えるもの誰が待つか
1 人に渡す会話が 1 本増えるこちらが 1 人を待つ
n 人に割る会話が n 本増える。⭐ 合流点ができるこちらがいちばん遅い 1 人を待つ
話し合わせる上に加えて、互いの発言が互いの会話に入る⚠️ 互いに待ち合う

⚠️⚠️ ここで大事なのは、どれも「会話が増える」ことです。 ⭐ 機能に値札が付いているわけではありません。値段は、増えた会話の中身が読み直される量として出ます。 以降はそれを数えます。

4 人に割ると、読ませる量はほぼ 4 倍になります

前回と同じ記録を、まとまりの側から数え直しました。⚠️ 新しく実験は回していません。 ここでいう「まとまり」は、同じ 1 回の発言で、いっぺんに起動した作業者のかたまりのことです。46 セッションぶんで 164 のまとまり / 342 人ありました。

⚠️⚠️ ここは数え方を 2 通り出さないと嘘になります。 同じ入力でも、初めて読ませる部分と、前の往復から使い回せる部分があり、後者は安く課金されます。⭐ 安いだけで、ゼロではありません。

いっぺんに出した人数まとまりの数初めて読ませた量1 人だけのとき比使い回しまで足した量1 人だけのとき比
1 人9032,4661.00 倍282,4861.00 倍
2 人1660,9981.88 倍675,0632.39 倍
3 人1378,8702.43 倍1,075,7373.81 倍
4 人4493,8602.89 倍1,072,7713.80 倍

⚠️⚠️⚠️ 左の列だけを見て「4 人に割っても 2.89 倍で済む」と読むのは間違いです。 ⭐⭐⭐ 右の列は 3.80 倍 —— ほぼ人数どおりでした。

⭐⭐ 減っているのは量ではなく、その量に付く値段のほうです。 割った人数ぶんの入力は、ちゃんと人数ぶん発生しています。 安く済んでいる部分がどこから来ているのかは、次の節で出します。

⚠️ 表を見て引っかかるところが 1 つあるはずです。3 人(3.81 倍)と 4 人(3.80 倍)がほぼ同じです。⭐ 人数が 1 人増えても、量が増えていません。 これは次の次の節で分かります —— 値段を決めているのは人数だけではないからです。

⚠️ もう 1 つ、この表だけでは決まらないことがあります。まとまりが大きいときほど、1 人に渡した仕事が軽かっただけかもしれません。⭐ 何人で割るかを決めていたのは私だからです。⚠️ 仕事の重さと関係のない数は、次の節にあります。

頭を温めるのは、いつも最初の 1 人だけでした

同じ記録から、今度は使い回せた量のほうを見ます。⭐ こちらは何を頼んだかと無関係なので、上の表の弱いところを埋められます。

1 手目に使い回せた量(中央値)使い回しゼロだった割合
1 人だけ出したとき(90 人)16,42129%
いっぺんに出して、最初に動き出した 1 人(74 人)3,18350%
そのあとに続いた人(178 人)24,5426%

⭐⭐⭐ 8 倍の差です。 どの作業者にも、最初に同じ説明書きが渡ります。その説明書きを読み込ませているのは、実際に最初に動き出した 1 人だけで、あとの人はそこに乗っていました。

⭐⭐ これが、さっきの表で「初めて読ませた量」だけが人数を下回っていた理由です。 ⚠️ 量が減ったのではありません。同じ量が、2 人目以降は安いほうの数え方に移っただけです。

flowchart TD
  A["いっぺんに 4 人へ割る"] --> B["最初に動いた 1 人<br/>⚠️ 説明書きを読み込ませる<br/>使い回せた量 3,183<br/>半分はゼロから"]
  A --> C["あとに続いた 3 人<br/>⭐ その部分に乗れる<br/>使い回せた量 24,542<br/>ゼロは 6%"]
  B --> D["初めて読ませた量は<br/>2.89 倍で済む"]
  C --> D
  D --> E["⚠️⚠️ ただし使い回しまで足すと 3.80 倍<br/>減ったのは量ではなく単価"]

⚠️⚠️ 順番の取り方に落とし穴があります。 いっぺんに出した相手には発注の順序がありません(同じ 1 回の発言だからです)。⭐ 記録のファイル名順で並べると、この差は消えます —— 実際にそうすると 24,538 と 24,540 になって、差が無いという結論が出ます。 ⚠️ 並べるのは「実際に動き出した順」です。

掛け算のもう片方 —— 1 人ぶんの会話の長さ

⭐⭐⭐ ここが今回いちばん大事な節です。 人数の側はさっき見ました。今度は右側——同じ 342 人を、1 人ぶんの会話が何往復あったかで並べ直します。⚠️ 表に並ぶのは 339 人です(1 往復で終わった 3 人は、1 往復あたりが出せないので外しました)。

1 人ぶんの往復人数読み直された履歴の合計(中央値)1 往復あたり(中央値)
2〜3 往復1764,23821,577
4〜6 往復118173,63832,740
7〜12 往復110295,11035,550
⚠️⚠️ 13 往復以上941,538,16554,243

⭐⭐⭐ 2〜3 往復と 13 往復以上で、24 倍です。 ⚠️⚠️ 往復の数は 5 倍ほどしか違いません。

⭐ 理由は右の列にあります。1 往復あたりの重さまで、一緒に増えています(21,577 → 54,243)。会話が伸びると、そこまでの全部が毎回読み直されるので、往復が増えるほど 1 往復が重くなるのです。⚠️ だから合計は足し算ではなく、掛け算で効きます。

⚠️⚠️ さっきの表で 3 人と 4 人がほぼ同じだった理由は、これです。人数を 1 人増やしても、その 1 人が短く終われば量は増えません。 逆に、人数を増やさなくても、1 人が長く喋れば増えます。

⭐⭐⭐ 手を入れられるのは、こちら側だけです。 人数は割ると決めた時点で終わりですが、何往復で終わる形にして渡すかは、渡す前に決められます。

中央値 8 往復。そこが払っている場所です

手元の 342 人は、1 人あたり中央値 8 往復でした。⚠️ 最も長い 1 人は 107 往復です。

用途ごとに並べると、はっきりします。

用途人数往復(中央値)読み直しの合計(中央値)
翻訳(1 人 = 1 言語ぶん全部)5554,840,746
用途を書かずに渡した調べもの64201,142,747
実験(材料を先に作って渡す)1396206,526

⚠️⚠️ 意外なほうから書きます。私はこれを外しました。 ⭐ 私は「手順書と受け入れ検査まで用意した仕事がいちばん安いはずだ」と思っていました。翻訳がそれです。渡す台帳も、差し込みの道具も、合否を出す検査も、全部こちら側に用意してあります。

⭐⭐⭐ それがいちばん高くつきました。 理由は 1 つで、1 人に 1 言語ぶんを丸ごと任せたので、55 往復かかったからです。

⚠️ 逆にいちばん安いのは、実験のために出した作業者でした。材料はこちらが機械で作り、渡された側は 1 回やって返すだけにしてあります。⭐ 6 往復です。

⭐⭐ 準備の丁寧さでは決まりませんでした。決めていたのは、渡した仕事が何往復で終わる形かです。

割ると速くなるのは本当です。ただし止まるのは、いちばん遅い人です

⚠️ 速さの側も出します。ここを出さないと片側だけの話になります。

いっぺんに出した人数まとまりが終わるまで同じ人数を 1 人ずつ順にやったら縮んだ倍率
2 人129.9 秒197.9 秒1.52 倍
3 人99.1 秒258.4 秒2.61 倍
4 人146.6 秒372.4 秒2.54 倍

⭐⭐ 4 人に割っても、縮むのは 2.54 倍です。⚠️ 3 人に割ったとき(2.61 倍)より悪くなっています。

理由はまとまりの中のばらつきに出ます。

いっぺんに出した人数いちばん速い人まん中の人いちばん遅い人遅い ÷ まん中
2 人82.9 秒98.9 秒129.9 秒1.31 倍
3 人78.5 秒85.4 秒99.1 秒1.16 倍
4 人78.5 秒88.4 秒146.6 秒1.66 倍

⚠️⚠️ 4 人に割ったとき、まん中の人は 88.4 秒で終わっています。それでも、まとまりが終わるのは 146.6 秒です。 ⭐⭐ こちらが待っているのは、まん中の人ではなく、いちばん遅い人だからです。⭐ 人数を増やすほど、外れくじを引く回数が増えます。

待たせると、使い回せる部分が消えます

⭐⭐⭐ ここまで「使い回せる部分があるから安い」と書いてきました。⚠️⚠️ その部分には期限があります。

作業者へ「続き」を送った 68 回を、送るまでにその人を待たせた時間で分けました。

待たせた時間回数再開した 1 手の「初めて読ませた量」同・使い回せた量
5 分未満6034639,058
⚠️⚠️ 5 分〜1 時間815,10424,879

⚠️⚠️⚠️ 44 倍です。 ⭐ 待たせている間に使い回しの期限が切れ、再開した 1 手が、そこまでの会話をまるごと作り直しています。

⚠️ 母数は 8 回しかありません。数そのものは読まず、向きだけを見てください。

⭐⭐⭐ ここが、話し合わせる形でいちばん効くところです。 作業者どうしを会話させると、片方が相手の返事を待つ間、必ず止まります。 止まっている間に期限が切れ、再開のたびに会話ぜんぶを作り直すことになります。⚠️ そして前の節のとおり、会話が長いほど作り直す量は大きくなります。

⚠️⚠️ ただし、これは仕組みからの推論です。 ⭐ 手元にあるのはこちらから作業者へ送った割り込みだけで、作業者どうしの待ち合いは 1 度も測っていません。

会話させないなら、それは「チーム」である必要がありません

⭐⭐ ここまでを裏返すと、判断がはっきりします。

その形を選ぶ理由は、互いに会話させたいときだけです。⚠️ 会話させないなら、増えているのは会話の本数だけなので、ただ n 人へ同時に渡すのと同じです。⭐ 同じことなら、待ち合いが起きない渡し方のほうを選びます。

やりたいこと選ぶ形
同じ種類の仕事を、まとめて速く片づけたいn 人へ同時に渡すだけ。⚠️ 会話させる必要はありません
⚠️ 片方の結果を見ないと、もう片方が決められない⭐⭐ 割らずに 1 本でやります。 会話させて解くと、待ち合いのぶんが両方に積まれます
⚠️⚠️ どうしても互いに相談させたい⭐ 速さのために払う形です。⚠️ そのとき増えるのは、往復(1 人ぶんの会話が伸びる)と、待ち合いのたびの作り直しの 2 つです

原理: 値段は「人数 × 1 人ぶんの会話の長さ」です

⭐⭐ ここまでの数は、1 つの掛け算にまとまります。

⭐⭐⭐ 割ることの値段は、人数 × 1 人ぶんの会話の長さ。人数は割ると決めた瞬間に決まり、会話の長さは渡し方で決まる。そして終わる時刻を決めているのは、いちばん遅い 1 人だけである。

⚠️⚠️ この回に出た 2 つの数は、この式の左と右です。人数の側は割った時点でほぼ人数どおり(4 人で 3.80 倍)。⭐⭐ 会話の長さの側は渡し方しだいで 24 倍動きます。動かせるのは右だけです。

flowchart TD
  A["n 人に割る"] --> B["会話が n 本に増える"]
  B --> C{"1 本が<br/>何往復で終わるか"}
  C -- "短い(数往復)" --> D["⭐ 増えるのは本数だけ<br/>2〜3 往復で 64,238"]
  C -- "長い(十数往復)" --> E["⚠️⚠️ 本数 × 長さで効く<br/>13 往復以上で 1,538,165"]
  A --> F["合流点ができる"]
  F --> G["⚠️ 終わるのは<br/>いちばん遅い 1 人が終わったとき"]

速さが要るなら、払ってよい値段です。 ⚠️⚠️ ただし、速さが要る場面には、これを丁寧に確かめている時間がありません。だから実際には、どこが無駄になっているかを知らないまま払うことになります。⭐ せめて、どこで増えるのかだけは先に知っておく——この節はそのために書きました。

値段を増やさずに並列でやる形

⭐⭐ 前の回で書いた打ち手が、そのまま効きます。⚠️ 新しい話ではありません。同じものをもう一度当てるだけです。

  1. ⭐⭐⭐ 渡す前に、材料をこちらで作っておく(第 3 回の「型を明文にして渡す」と同じ形)。⚠️ 探すところから任せると、探すぶんの往復が全部その人の会話に積まれます
  2. ⭐⭐ 1 人に渡すのは、1 回で返せる大きさまで(前回の「本体が持っていないものを集める仕事だけ渡す」と同じ線)。⚠️⚠️ 1 言語ぶん全部、ではなく、1 ファイルぶんです
  3. 合否の判定はこちらでやる。⚠️ 判定まで任せると、判定のやり直しがその人の会話に積まれます
  4. ⚠️ 重さをそろえてから割る。⭐ 1 つだけ重いものが混ざっていると、残りが終わっても待つことになります

⭐⭐ これをやると、上の表の「実験のために出した作業者」の側(6 往復 / 206,526)に寄ります。 ⚠️ 同じ人数でも、渡し方だけで 23 倍違いました。

検証手順: 掛け算の左と右を、別々に数える

前提

  • 作業者をいっぺんに複数起動できる環境があり、その記録(読み込ませた量・使い回した量・往復・時刻)が残っていること。⚠️⚠️ 残っていないなら、この手順は使えません
  • ⚠️ 「まとまり」は、同じ 1 回の発言でいっぺんに出したかどうかで束ねます。 発注の時刻で束ねてはいけません(並列に出したものが記録上ばらけて、全部 1 人扱いになります)
  • ⚠️ 1 まとまりでは決まりません。同じ人数のまとまりを、複数回ぶんまとめて見ます

所要時間: 30 分(記録が手元にある場合)

手順

  1. 記録から、まとまりを人数ごとに分けます
  2. ⚠️⚠️ 人数ごとに、2 通りで中央値を出します —— 初めて読ませた量だけと、使い回した量まで足したもの。⭐ 1 人のときを 1.00 として、それぞれ何倍かを出します
  3. 2 で出た 2 つの倍率と、人数そのものを比べます。⚠️⚠️ 片方だけを見て「人数を下回った」と読まないこと
  4. まとまりの中で、最初に動き出した 1 人と、あとに続いた人に分けて、1 手目に使い回せた量を出します。⚠️⚠️ 並べる順は「実際に動き出した順」です(発注順・ファイル名順では差が消えます)
  5. ⭐⭐ 人数をいったん忘れて、作業者を「1 人ぶんの往復」で階級分けします(2〜3 / 4〜6 / 7〜12 / 13 以上)。階級ごとに、読み直された履歴の合計と、それを往復で割った値を出します
  6. 各まとまりについて、いちばん遅い人の所要時間 ÷ まん中の人の所要時間を出します
  7. 人数ごとに、まとまりが終わるまでの時間と、同じ人数を 1 人ずつ順にやった場合の合計を並べます

合格条件(すべて満たすこと)

  • ⭐⭐ 手順 3 で、2 つの倍率が離れている(同じなら、使い回した量を数えられていません)
  • 手順 4 で、最初に動いた 1 人のほうが、使い回せた量が少ない(同じなら、並べる順を間違えています)
  • ⭐⭐ 手順 5 で、往復が多い階級ほど「1 往復あたり」も大きい(同じなら、履歴の再送を数えられていません)
  • 手順 6 の比が 1.0 より大きいまとまりが 1 つ以上ある。⚠️ 全部 1.0 なら、割った先の重さが完全にそろっているので、この回の話は要りません

合格しなかったとき

  • 2 つの倍率が同じになる —— ⚠️ 使い回した量を別に数えていません。初めて読ませた量と、使い回した量は、記録の別の欄にあります
  • 最初の 1 人とあとの人で差が出ない —— ⚠️⚠️ 発注の順で並べています。 いっぺんに出した相手に発注の順序はありません。最初の返事が返ってきた時刻で並べ直してください
  • 往復が増えても「1 往復あたり」が変わらない —— ⚠️ 使い回せた量ではなく、新しく読み込ませた量だけを見ています。読み直された履歴のほうを数えてください
  • いちばん遅い人が、まとまりの終わりと一致しない —— ⚠️ 終わりを本体側に結果が返った時刻で採っています。作業者の最後の発言で採り直してください

後始末

  • 集計に使った中間ファイルを削除します。⚠️ 記録そのものは消さないでください
  • ⚠️ 結果は日付つきで残します。記録は増え続けるので、同じ道具を明日走らせると数が動きます

注意: この数字が言えないこと

⚠️⚠️ いちばん大きい弱点を先に書きます。作業者どうしを話し合わせる形について、私は何も測っていません。 ⭐ 本格的に使ったことがないからです。この回に書いたのは「n 人に割る」までで、その先は一般論だけです。

⚠️⚠️ これは統制された実験でもありません。 同じ仕事を「1 人でやった場合」と「4 人で割った場合」で並べて測ったのではなく、実際に割った 164 まとまりを後から数え直しただけです。

⚠️ 何人で割るかを決めていたのは私です。 ⭐ だから「1 人あたりが安くなる」は、大きく割ったときほど 1 人に軽い仕事を渡していただけかもしれません。この向きの偏りは外せませんでした。

⭐⭐ 偏りの影響を受けない数が 2 つあります。

  1. 最初に動いた 1 人と、あとに続いた人で、使い回せた量が 8 倍違う —— ⭐ これは何を頼んだかと無関係です。説明書きは全員に同じものが渡ります
  2. いちばん遅い人が、まん中の人の 1.66 倍かかる —— ⭐⭐ これはまとまりのの比なので、まとまりどうしの重さがそろっていなくても比較になります

⚠️⚠️ 往復の表にも、外せない偏りが 1 つあります。難しい仕事だから往復が増えたのか、往復が増える渡し方をしたから増えたのか、この数字だけでは決まりません。⚠️ 私が言えるのは「往復が増えると掛け算で効く」までで、「渡し方を変えれば必ず減る」ではありません。

⚠️ 逆に、「3.80 倍」と「2.54 倍」は、そのままでは持ち出せません。 ⭐ 使えるのは、自分の手元で同じ数え方をしたときの、自分の数です。

⚠️ 前回を 1 か所直しておきます。前回の初稿では、私はこの割り方を「同時に出した 1 体目(164 人)」と書きました。⚠️⚠️ 前回の表は、この回を書いた日に 3 段へ直しました —— いま第 4 回を開くと、そこにあるのは直したあとの表です。その 164 人には、1 人しか出していないまとまりの 90 人が混ざっていました。 ⭐ 混ざりを外して割り直すと、差はむしろ 8 倍に広がります。 前回の結論(あとに続いた人は最初の人に乗れる)は変わらず、強くなる向きでした。

⚠️ もう 1 つ。5 人で割ったまとまりは、記録に 1 つしかありませんでした。 ⭐ 数は出ていますが、1 件なので読みません。 この回の表に 5 人の行が無いのは、そのためです。

CC BY 4.0 はここまで

割らなくなったもの

  • 「とりあえず 4 つに割る」のをやめました。 ⚠️⚠️ 割った時点で、読ませる量はほぼ人数どおり(3.80 倍)に決まります。 速さのほうは、いちばん遅い 1 人が決めます
  • ⭐⭐⭐ 1 人に「まるごと 1 つ」を渡すのをやめました。 ⚠️⚠️ 1 言語ぶん全部を任せると 55 往復かかり、読み直しは 480 万を超えました。同じ仕事を、1 回で返せる大きさに切って渡します
  • ⭐⭐ 重さがそろっていないものを割るのをやめました。 ⚠️⚠️ 1 つだけ重いものが混ざっていると、残りの 3 人が終わっても待つことになります
  • ⚠️ 「手順書と検査を用意したから安いはずだ」と考えるのをやめました。 ⭐ 用意の丁寧さでは決まりません。決めているのは往復の数です
  • 割るのをやめていない仕事もあります —— 重さがそろっていて、互いを見なくてよくて、1 回で返せる調べものです。⚠️ そこでは量 3.80 倍・速さ 2.54 倍です。⭐ 釣り合わせているのは、使い回せる部分が安いことのほうです

人を増やせば速くなる、という感じは、たいてい正しく見えます。⚠️ 3 人が先に終わって、待っている時間が見えないからです。 ⭐⭐ そして値段のほうは、割ると決めた時点で人数ぶん確定していて、そこから先はいちばん長く喋った 1 人が決めていました。


次回は「途中でレビューさせない技術」。私は、作業の途中で別の作業者に見直させるのをやめました。渡した先の 8 割以上は別のモデルで、こちらがすでに守れていたものを知らないからです。