[{"data":1,"prerenderedAt":265},["ShallowReactive",2],{"content-\u002Fcontents\u002Frecursive-agent-harnesses":3,"surroundPost-\u002Fcontents\u002Frecursive-agent-harnesses":256},{"id":4,"title":5,"body":6,"createdAt":239,"description":240,"draft":241,"extension":242,"meta":243,"navigation":244,"path":245,"seo":246,"stem":247,"tags":248,"thumbnail":254,"updatedAt":239,"__hash__":255},"contents\u002Fcontents\u002Frecursive-agent-harnesses.md","Recursive Agent Harnesses",{"type":7,"value":8,"toc":215},"minimark",[9,13,17,20,23,26,29,32,35,38,41,44,47,50,53,56,59,62,65,68,71,74,77,80,83,86,89,92,95,98,101,104,107,123,126,140,144,149,152,156,159,163,166,170,173,177,180,184,187,191,194,198,201,205,208,212],[10,11,12],"h2",{"id":12},"この論文の何がいいか",[14,15,16],"p",{},"この論文は、サブエージェントを『便利な並列実行』ではなく、harness architecture の再帰として扱う。これは Codex、Claude Code、scheduled-ops、article-page-publisher のような実運用にかなり近い。",[14,18,19],{},"個人 AI assistant の運用では、単にモデルに長い文脈を渡すだけではなく、wiki、raw、画像、公開 repo、scheduler、skill、外部検索をまたいで作業する。RAH の見方を使うと、仕事を model call に分けるのか、full harness を持った subagent に分けるのかを判断しやすくなる。",[14,21,22],{},"また、RAH は『モデル能力の差』ではなく『同じ model backbone で harness を変えた差』を測ろうとしている。これは、agent 改善を prompt や model choice だけに寄せず、実行環境・道具・状態・集約の設計として扱うための足場になる。",[10,24,25],{"id":25},"どんな論文か",[14,27,28],{},"この論文の問いは、長大な文書や大量の独立エントリを処理する時、再帰する単位を何にすべきかである。従来の recursive language models は model call を再帰させるが、そこにはファイル操作、コード実行、外部ツール、計画、実行環境がない。",[14,30,31],{},"一方で coding agent は full harness を持つが、何千ものエントリを一つの context で扱おうとすると、個別エントリごとの LLM reasoning を諦め、正規表現や単純なスクリプト処理へ寄りやすい。つまり、モデル再帰は道具が弱く、単一 harness は分解が弱い。",[14,33,34],{},"Recursive Agent Harness (RAH) は、この間をつなぐ。親エージェントが作業量を見て、少数なら JSON tool-call、多数なら自分で実行スクリプトを書き、そのスクリプトから多数の subagent harness を並列生成する。各子は独立 workspace、read\u002Fwrite\u002Fgrep\u002Fexecute\u002Fweb search、計画、さらに孫エージェント生成能力を持つ。",[14,36,37],{},"評価は Oolong-Synthetic の 199 samples、1K から 4M tokens の 13 context-length buckets で行われる。GPT-5 backbone を固定した比較で、Codex-style coding-agent baseline 71.75% に対し、RAH は 81.36% に到達する。同じ設計を Claude Sonnet 4.5 に載せると 89.77% まで伸びる。",[14,39,40],{},"読む価値は、単に subagent を増やせばよいという話ではない点にある。どの粒度を recursive unit にするか、どこで tool-call ではなく executable orchestration にするか、どう隔離し、どう集約し、どこで depth \u002F cost \u002F latency を制御するかを考えるための論文だ。",[14,42,43],{},"Recursive Agent Harnesses は、Recursive Agent Harness (RAH) と harness recursion を命名し、long-context reasoning で評価する論文である。",[14,45,46],{},"RAH の中心は、再帰単位を model call ではなく full agent harness にすること。full harness とは、filesystem tools、code execution、planning、subagent spawning を持つ実行単位を指す。",[14,48,49],{},"論文は、Oolong-Synthetic という長文集約 benchmark を使い、coding agent、recursive language model、RAH を比較する。狙いは、新しい primitive を発明することではなく、既に現れつつある code-first subagent spawning pattern に名前を与え、制御された比較で測ることにある。",[10,51,52],{"id":52},"課題と貢献",[14,54,55],{},"第一の貢献は、Recursive Agent Harness と harness recursion の定義である。model call ではなく full harness を recursive unit にする、という設計軸を明示する。",[14,57,58],{},"第二の貢献は、同じ GPT-5 backbone を使って Codex-style coding-agent baseline と比較し、差を model ではなく harness architecture に帰属させようとした点である。",[14,60,61],{},"第三の貢献は、Oolong-Synthetic の answer type と context length ごとの結果を出し、どこで効き、どこで弱いかを見せた点である。",[14,63,64],{},"第四の貢献は、Anthropic の dynamic workflows のような production pattern と研究上の recursive language models をつなぎ、harness recursion を実務と研究の共通語にした点である。",[10,66,67],{"id":67},"手法のしくみ",[14,69,70],{},"入力は、長大な文書と、そこに散らばる多数の独立エントリから答えを集約するタスクである。親エージェントはまず文書と作業量を見て、どの粒度で分解するかを決める。",[14,72,73],{},"少数の subtasks なら、親は Task tool を JSON structured call として直接呼ぶ。これは 1 から 5 entries 程度の軽い仕事向けで、script generation overhead を避ける。",[14,75,76],{},"多数の entries なら、親は executable script を書く。script 内で Task(description, prompt) を多数作り、asyncio.gather のような並列実行で subagent harness 群を起動する。",[14,78,79],{},"各 subagent は、独立 workspace、read_file、write_file、ls、glob、grep、execute、web search、planning step を持つ。兄弟 subagents とは context や memory を共有せず、結果を structured JSON record として出す。",[14,81,82],{},"必要なら subagent 自身も同じ spawning capability を使って孫エージェントを作れる。recursion depth は configurable limit で制限され、論文では default 3 とされる。",[14,84,85],{},"親は shared output file や aggregated stdout から結果を集め、最終回答へ整形する。これにより、個別エントリごとの reasoning と tool access を保ちながら、長大 corpus を分解できる。",[10,87,88],{"id":88},"検証結果",[14,90,91],{},"Oolong-Synthetic 199 samples、13 context-length buckets、1K から 4M tokens で評価される。",[14,93,94],{},"GPT-5 backbone 固定で、Codex-style coding-agent baseline は 71.75%、RAH は 81.36%。同じ model backbone なので、差は harness architecture によるものとして読める。",[14,96,97],{},"Claude Sonnet 4.5 を backbone にすると、同じ RAH design で 89.77% に到達する。論文は、harness recursion が model quality と競合するのではなく、組み合わさって伸びる可能性を示す。",[14,99,100],{},"answer type ごとには、USER、COMPARISON、LABEL が 86% 超で強い。一方、NUMERIC は 69.33%、DATE は n=5 で 60.00% と不安定で、数値カウントや小サンプルの影響が出る。",[14,102,103],{},"context length ごとの結果では、Sonnet 4.5 は 524K tokens まで 86% 超、4M tokens でも 76.7%。ただし bucket ごとの sample 数は 14 から 16 なので、精密な順位ではなく傾向として読むべき。",[10,105,106],{"id":106},"課題と議論",[108,109,110,114,117,120],"ul",{},[111,112,113],"li",{},"RAH は、subagent を増やす万能薬ではない。親が spawning script を書かず直接答えてしまうと、単一 coding agent に戻ってしまう。",[111,115,116],{},"コストは subagent 数に依存する。論文は prompt caching が効く可能性に触れるが、GPT-5 configuration の exact token \u002F latency profile は未計測である。",[111,118,119],{},"評価は Oolong-Synthetic に限られる。Oolong-Real や、証拠が曖昧で per-entry extraction が単純でない領域にそのまま一般化できるかは未確認である。",[111,121,122],{},"code-execution spawning と JSON tool-call spawning、recursion depth、entries per subagent などの設計要素の ablation はまだない。どの部品がどれだけ効いたかは、今後の検証が必要である。",[10,124,125],{"id":125},"次に読むなら",[108,127,128,131,134,137],{},[111,129,130],{},"今読むなら、§3 の Code-Execution Spawning と Subagent Architecture を先に読む。ここが実務設計に一番近い。",[111,132,133],{},"次に、§4.7 の Choosing a Recursion Strategy を読む。coding agent、model recursion、dynamic workflows、harness recursion の使い分けが短くまとまっている。",[111,135,136],{},"関連して読むなら、Code as Agent Harness、What makes a harness a harness、SkillJuror、HyperTool を並べると、harness、skill、tool granularity、subagent recursion がつながる。",[111,138,139],{},"実装へ引くなら、日次 job や article-page-publisher のような作業を、model call でよい部分、JSON tool-call でよい部分、full subagent harness に分けるべき部分へ分類するのが第一歩になる。",[10,141,143],{"id":142},"読後qa","読後Q&A",[145,146,148],"h3",{"id":147},"この論文の中心問いは","この論文の中心問いは？",[14,150,151],{},"長大な corpus を分解して推論する時、再帰単位は bare model call でよいのか、それとも tools と workspace を持つ full agent harness にすべきか、という問い。",[145,153,155],{"id":154},"recursive-agent-harness-とは何","Recursive Agent Harness とは何？",[14,157,158],{},"親エージェントが、ファイル操作・コード実行・計画・サブエージェント生成を持つ full harness を子として起動し、その子も必要に応じて同じ能力を再帰できる設計。",[145,160,162],{"id":161},"普通の-multi-agent-と何が違う","普通の multi-agent と何が違う？",[14,164,165],{},"会話する複数 agent というより、full harness を recursive unit にして、実行スクリプトから多数の独立 subagent harness を並列起動し、結果を構造化して集約する点が中心。",[145,167,169],{"id":168},"なぜ-json-tool-call-だけでは足りない","なぜ JSON tool-call だけでは足りない？",[14,171,172],{},"API の per-turn tool-call limit があり、大量の独立エントリを処理するには足りない。RAH は親が executable script を書くことで、subagent spawning の規模を作業量に合わせる。",[145,174,176],{"id":175},"評価では何が改善した","評価では何が改善した？",[14,178,179],{},"Oolong-Synthetic 199 samples で、GPT-5 backbone 固定の Codex-style coding-agent baseline 71.75% に対し、RAH は 81.36% になった。Claude Sonnet 4.5 では 89.77%。",[145,181,183],{"id":182},"改善はモデル差ではないと言える","改善はモデル差ではないと言える？",[14,185,186],{},"少なくとも GPT-5 backbone 固定の比較では、Codex baseline と RAH が同じ backbone を使っているため、差は harness architecture によるものとして設計されている。",[145,188,190],{"id":189},"どこが弱い","どこが弱い？",[14,192,193],{},"NUMERIC answer type は 69.33% と低めで、カウント誤差がスコアに響く。DATE は n=5 で小さすぎる。親が spawning script を書かず直接答える失敗もある。",[145,195,197],{"id":196},"実運用に引くなら何が大事","実運用に引くなら何が大事？",[14,199,200],{},"サブエージェントを増やすこと自体ではなく、どの仕事を full harness に分解するか、どこで script orchestration にするか、結果をどう隔離・集約・検証するか。",[145,202,204],{"id":203},"この論文の限界は","この論文の限界は？",[14,206,207],{},"評価は Oolong-Synthetic 限定で、Oolong-Real や曖昧な証拠が多い領域への一般化は未確認。コストと latency の詳細計測、設計要素の ablation も残っている。",[145,209,211],{"id":210},"次に読むなら何","次に読むなら何？",[14,213,214],{},"HyperTool、SkillJuror、What makes a harness a harness、Code as Agent Harness を並べると、tool granularity、skill organization、harness boundary、harness recursion がつながる。",{"title":216,"searchDepth":217,"depth":217,"links":218},"",2,[219,220,221,222,223,224,225,226],{"id":12,"depth":217,"text":12},{"id":25,"depth":217,"text":25},{"id":52,"depth":217,"text":52},{"id":67,"depth":217,"text":67},{"id":88,"depth":217,"text":88},{"id":106,"depth":217,"text":106},{"id":125,"depth":217,"text":125},{"id":142,"depth":217,"text":143,"children":227},[228,230,231,232,233,234,235,236,237,238],{"id":147,"depth":229,"text":148},3,{"id":154,"depth":229,"text":155},{"id":161,"depth":229,"text":162},{"id":168,"depth":229,"text":169},{"id":175,"depth":229,"text":176},{"id":182,"depth":229,"text":183},{"id":189,"depth":229,"text":190},{"id":196,"depth":229,"text":197},{"id":203,"depth":229,"text":204},{"id":210,"depth":229,"text":211},"2026-06-13","Recursive Agent Harnesses は、長大コーパスを扱う agent の再帰単位を、裸の model call ではなく、ファイル操作・コード実行・計画・サブエージェント生成を持つ full harness にする論文。サブエージェント活用を設計論として捉えるための語彙がある。",false,"md",{},true,"\u002Fcontents\u002Frecursive-agent-harnesses",{"title":5,"description":240},"contents\u002Frecursive-agent-harnesses",[249,250,251,252,253],"論文まとめ","Agent Harness","Subagents","Long-Context Reasoning","Oolong","\u002Farticle-pages\u002Fdocs\u002Fassets\u002Fgraphic-recordings\u002Frecursive-agent-harnesses.png","u2l6y16KUjJGxDGsDmSkJ9Eo-KZ1leCXmnnVhG6F-Nk",[257,261],{"title":258,"path":259,"stem":260,"children":-1},"PyTorchの勾配更新方法の解説","\u002Fcontents\u002Fpytorch-more-adv","contents\u002Fpytorch-more-adv",{"title":262,"path":263,"stem":264,"children":-1},"【学び】「思考の整理学」を読んだ感想","\u002Fcontents\u002Fshikou-no-seirigaku","contents\u002Fshikou-no-seirigaku",1782055097108]