I'm still tracking down what makes some agents find a Nikola Tesla research finding and why others do not. Today, that's led me into investigating Claude CLI's forking harness.
A few notes from me. Forking looks pretty spectacular! The agent kicks off a subagent that automatically has a copy of the parent's context. The subagent doesn't add to the parent's context until it's done. So, it seems to make things cheaper, at least for my passenger manifest research.
The agent that used forking made the Tesla association. The other two agents with the same inputs and the same model did not use forking and did not find the Tesla assocation. This is important. It seems that agents that don't fork lack the persistence to look for more than one "really good" finding. They make that one good finding, and then kind of take any results for the rest of the passengs as good enough. Each forked subagent is looking for its own "really good" finding and is therefore working harder at it. It seems like this should also increase my token cost because, more hard work per agent. That remains to be seen.
Codex and Claude Grad Student Notes
I'm using OpenAI Codex to pull and sort the forensics for me. I'm using Claude Fable-5 to pull information on the Claude CLI forking API.
Codex
Polecat Forked Subagent Forensics: Lab Book 2026_07_13
Summary: Interesting process result today. An AI agnet not miss the Lucia Hobson / Lytle Hull uncle connection because the raw evidence was unavailable. It missed it because the evidence was split across two subagents. One subagent got the Hobsons and found the Tesla connection. Another subagent got Lytle Hull and found the Astor / The Room connection. Both did good work! But the agent that fanned out the subagents conglomerated the subagent afterward instead of doing a proper cross-passenger synthesis pass. This puts us a step closer to getting the best results.
The mall task split worked in another fashion. The Hobson subagent, agent-a855ec32728138338.jsonl, had only passenger identities1-8 to worry about. That gave it enough room to follow Lucia Hobson properly. It found Lucia's father, Richmond Pearson Hobson, and then the Hobson source coughed up Nikola Tesla as a groomsman / best-man figure at Hobson's 1905 wedding. That is the actual catch these variance studies were started to find. Some agents found the Hobson/Tesla connection while others did not.
Meanwhile, the Lytle Hull subagent, agent-a5dbd91269fe4e878.jsonl, had rows 16-21. It got Lytle Hull and went after the Astor orbit. It found the useful Lytle / Helen Huntington / Vincent Astor / The Room neighborhood. Also good! This is just what a small research slice is supposed to do: take a passenger and chase the little threads far enough that something interesting pops out.
But the uncle connection lived between those two slices.
Lucia Hobson -> daughter of Grizelda Houston Hull Hobson Lytle Hull -> brother of Grizelda Houston Hull Hobson Therefore: Lytle Hull -> Lucia Hobson's uncle
The parent agent had the ingredients, but not in the same hand. The Hobson subagent had Grizelda. The Lytle subagent had Lytle. Neither one had both records in working context. Two other agents, on the other hand, were looking at the whole passenger page in one context, so they could make the page-internal family jump. They did not, however, find Tesla.
So the tradeoff looks like this:
Small slices = better excavation Whole page = better cross-passenger pattern matching
That feels like the useful rule. Do not stop splitting the work. Splitting found Tesla. But do not let the final agent merely paste together the subagent reports. The workflow needs a deliberate recombination step.
The instruction I want for Rust next time is something like:
After all subagents return, do a second-pass synthesis across all passenger findings. Look specifically for relationships between passengers on the same page: shared surnames, maiden names, spouses, siblings, parents, in-laws, addresses, clubs, employers, institutions, source families, and repeated social circles. Do not just concatenate subagent reports. Build a cross-passenger relationship table and call out any links that no individual subagent could see from its own assigned rows.See a future lab book entry for indicators of how to get the agent to fan research tasks to subagents.
Even better, make it a role split:
- Excavators: small row batches, deep research, cite sources.
- Integrator: receives all excavator outputs plus the original passenger list, and only looks for cross-row connections.
- Skeptic/checker: optional, tests the top claims and asks what was missed because of the batch boundaries.
For manifest work, that seems like the sweet spot. Use subagents for depth, but reserve a final whole-page pass for family joins, address joins, institutional joins, and social-network joins. The final pass is not a summary. The final pass is where the cross-passenger magic is supposed to happen.
Bottom line: Rust's failure is a good diagnostic. It did not fail because the agents were bad researchers. It failed because the workflow had no required stitch-back phase. The Tesla hit proves the decomposition had value. The missed Lytle/Lucia uncle link proves the decomposition needs an explicit integration pass afterward.
References
- Rust top-level transcript:
/home/hcarter/.claude/projects/-home-hcarter-gt-bg-trav-polecats-rust-bg-trav/28797a95-fc9a-450c-a3e8-bec3d7af2cd0.jsonl - Rust Hobson / Honeyman subagent transcript:
/home/hcarter/.claude/projects/-home-hcarter-gt-bg-trav-polecats-rust-bg-trav/28797a95-fc9a-450c-a3e8-bec3d7af2cd0/subagents/agent-a855ec32728138338.jsonl - Rust Lytle Hull / Hunnewell subagent transcript:
/home/hcarter/.claude/projects/-home-hcarter-gt-bg-trav-polecats-rust-bg-trav/28797a95-fc9a-450c-a3e8-bec3d7af2cd0/subagents/agent-a5dbd91269fe4e878.jsonl - Chrome transcript, whole-page comparison run:
/home/hcarter/.claude/projects/-home-hcarter-gt-bg-trav-polecats-chrome-bg-trav/e773962a-8bd3-4bf8-9883-8f8ee683323d.jsonl - Nitro transcript, whole-page comparison run:
/home/hcarter/.claude/projects/-home-hcarter-gt-bg-trav-polecats-nitro-bg-trav/5bd9c9ac-c4c3-480a-9585-b992862875e5.jsonl
Comments
Post a Comment
Please leave your comments on this topic: