AI Workflows

A 4-pane workflow for LLM research: source, references, scratchpad, output

When you're using an LLM to read papers, summarize sources, and write a synthesis, four file-manager panes beat 14 browser tabs. Here's how to wire it up.

Honam Kang4 min read

You're researching a topic with an LLM. You have 12 papers, 4 blog posts, a Slack thread, and a draft outline. After 90 minutes you have 27 browser tabs, three half-written notes, and you can't find the quote from paper 4 about cache invalidation. The bottleneck wasn't reading speed — it was navigation.

This is the four-pane setup we use, end to end.

The phases of an LLM research session

Most research sessions have four phases that feel sequential but actually loop:

  1. Intake — read the source, ask the LLM to extract claims
  2. Cross-check — compare against references (other papers, internal docs)
  3. Scratch synthesis — write the rough version, keep notes on what's missing
  4. Output — produce the final document or thread

You loop because phase 3 reveals gaps that send you back to phase 1. The bigger your "active set" (open files), the more you loop without paying re-loading cost.

Pane-by-pane setup

┌──────────────────────────┬──────────────────────────┐
│ ① INTAKE                 │ ② REFERENCES             │
│ pinned to:               │ pinned to:               │
│  ~/research/<topic>/     │  ~/research/_lib/        │
│   sources/               │   (your archive)         │
│                          │                          │
│ - paper-01-cache.pdf     │ - dynamo-paper.pdf       │
│ - paper-02-replica.pdf   │ - cap-theorem.md         │
│ - paper-03-...           │ - past-notes/            │
├──────────────────────────┼──────────────────────────┤
│ ③ SCRATCH                │ ④ OUTPUT                 │
│ pinned to:               │ pinned to:               │
│  ~/research/<topic>/     │  ~/research/<topic>/     │
│   scratch/               │   final/                 │
│                          │                          │
│ - claims-extracted.md    │ - synthesis.md           │
│ - questions-open.md      │ - bibliography.md        │
│ - quotes.md              │ - blog-post.md           │
└──────────────────────────┴──────────────────────────┘

Why this assignment:

  • Top row is read-mostly: sources you're consuming, references you're cross-checking. Put them up high; eye lands on them first.
  • Bottom row is write-mostly: scratch (high-velocity, lots of edits) on the left because you'll spend the most time here, output (low-velocity, polish) on the right.
  • Left column is the current topic, right column is the broader context. Mental geography matches.

File-naming patterns inside each pane

Sources pane (sources/)

paper-01-zhao-cache-invalidation-2024.pdf
paper-01-zhao-cache-invalidation-2024.notes.md   ← LLM-extracted claims
paper-02-kim-quorum-2025.pdf
paper-02-kim-quorum-2025.notes.md
…

The number prefix preserves reading order. The .notes.md companion holds the LLM extraction:

# paper-01: Zhao et al., Cache Invalidation in Distributed Stores (2024)

## Main claim
Lease-based invalidation outperforms broadcast for skewed workloads
where p99 latency matters.

## Methodology
- Synthetic + production workload (Twitter homepage cache)
- 4 nodes, RPS 12k–48k

## Numbers I want to quote
- "Lease-based invalidation reduced p99 by 38% over broadcast" (p7)
- "Broadcast saturated at 24k RPS due to network amplification" (p9)

## Open questions
- Do they handle clock skew?
- Workload selection — was Twitter homepage already cache-friendly?

Generated by prompting the agent: "Extract claims, methodology, and quotable numbers from this paper. Mark anything I should question."

References pane (_lib/)

This is your personal archive. Notes from past research projects, reference docs you keep coming back to, internal company memos. The shape doesn't matter — it's archival, not active.

The trick: when you're reading paper 03 and it cites a foundational result, you ⌘-click the citation file in _lib/ to open it as a new tab in this pane. You're never disrupted by going to find it.

Scratch pane (scratch/)

Three running files:

  • claims-extracted.md — flat list of all claims you've pulled from sources, one per line, with [paper-XX] provenance.
  • questions-open.md — things you don't yet know. Add a // [paper-XX] comment when you read something that resolves one.
  • quotes.md — quotable lines you might want in the final output.

These are messy on purpose. You write fast, you don't worry about structure. The shape emerges by phase 4.

Output pane (final/)

Two files:

  • synthesis.md — the actual document you're producing.
  • bibliography.md — auto-built from the paper-XX-* filenames in sources/.

By the time you're writing here, the prior three panes are doing the work for you. Half your sentences will be pulled directly from quotes.md and claims-extracted.md.

The LLM prompts that pair with this layout

Three prompts, kept in _shared/prompts/research/:

  1. extract-claims.md: "Read this paper. Output the format from paper-XX-template.md. Be skeptical of methodology — flag anything that should be questioned."
  2. cross-check.md: "Compare claim X from paper-01.notes.md against the corresponding claim in paper-03.notes.md. Are they consistent? If not, what would resolve the conflict?"
  3. synthesis-draft.md: "Read all *.notes.md in sources/ and claims-extracted.md. Produce a 1500-word synthesis. Cite using [paper-XX] markers."

The crucial property: each prompt operates on a defined set of files in a known directory. The agent doesn't have to guess which files are relevant.

What changes vs. browser-tab research

Before After
27 tabs 4 panes, ~12 files
"Where's the quote?" grep _lib/ or sources/
LLM rereads paper every time .notes.md is the cache
Synthesis written from memory Synthesis written from claims-extracted.md
One huge final-doc edit Continuous edits as you go

The compounding gain is the .notes.md files. After 30 papers, you have 30 LLM-extracted summaries that cost you 30 minutes total. Future research sessions can reuse them.

When this falls down

Two cases:

  1. Single-source research: reading one book, taking notes. Two panes is enough. The framework over-applies.
  2. Sources are not files: live interviews, video, audio. You'd transcribe first into .md to fit this workflow. Worth it for >2-hour content; overkill below.

For the everyday "I need to understand X by tomorrow" pattern, four panes plus structured note files plus three prompts in your library will outperform any web-based research tool.

mq-dir's quad-pane focus model — ⌘1 through ⌘4 — was designed for exactly this. Each pane independent, each pinned to its phase, no Finder-window soup. Try it for one research session and watch the tab count go from 27 to 0.

Try mq-dir

A native quad-pane macOS file manager — free, no telemetry.

v0.1.0-beta.12 · Universal Binary · 5.3 MB · macOS 14.0+

Download for Mac

Frequently asked questions

Yes. The pane assignments are: input (the existing spec, customer quotes), references (competitor specs, internal docs), scratch (your synthesis-in-progress), output (the final spec doc). The only category-specific part is what you put in 'references' — the four-phase shape is general.

References

  1. [1]
  2. [2]

Ready to try mq-dir?

A native quad-pane file manager built for AI multi-tasking on macOS. Free, MIT licensed, zero telemetry.

v0.1.0-beta.12 · MIT · macOS 14.0+ · download