Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Research Table Workshop

Run every command from this folder:

cd ai-engineer-sg-2026-workshop-demo

Presenter Console

Open this README during the demo. Start the servers first, then use the links.

Quick Clicks

Terminals To Keep Open

Checkpoint 02 is the main search API provider prospectus demo:

pnpm dev:02

Checkpoint 03 is optional for the architecture/take-home walkthrough:

pnpm dev:03

Use another terminal for checkpoint 01:

pnpm --filter @research-table/01-agent-ladder exa-js
pnpm --filter @research-table/01-agent-ladder chatbot
pnpm --filter @research-table/01-agent-ladder research-text
pnpm --filter @research-table/01-agent-ladder research-citations

Demo Flow

Moment Open / Run Point At
Demo first Checkpoint 02 UI trace, reason, highlights, structured prospectus, citations
Checkpoint 1 terminal ladder commands above raw Exa highlights -> blob text -> search-backed blob text -> cited structured items
Checkpoint 2 Checkpoint 02 UI thinking_tool, search_tool, answer_tool, Zod-validated prospectus
Checkpoint 3 Checkpoint 03 UI schema -> candidates -> enrichments -> deterministic final table
Links / CTA Slides + repo repo, slides, credits, Exa hiring

Demo Lines

Tool calls make the model more capable. They do not automatically make the product more usable.
reason explains the move. Citations prove the claim.
The interesting jump is blob text -> inspectable research state.
The agent is not the product. The product is the inspectable state around it.

Fast Health Check

Run before people arrive:

pnpm typecheck
pnpm smoke:snapshot
pnpm --filter @research-table/01-agent-ladder smoke:live
pnpm --filter @research-table/02-research-agent-ux smoke:live
pnpm --filter @research-table/03-fake-websets smoke:live

Snapshot Fallback

Checkpoint 03 can always return a canned completed run:

curl -s -X POST http://localhost:3003/api/run \
  -H 'content-type: application/json' \
  -d '{"query":"Find search API providers for AI products that offer web search, content retrieval, and developer-friendly integration.","mode":"snapshot","maxCandidates":3,"maxSearches":2}'

Cleanup

lsof -nP -iTCP:3002 -iTCP:3003 -sTCP:LISTEN
kill $(lsof -tiTCP:3002 -sTCP:LISTEN) 2>/dev/null || true
kill $(lsof -tiTCP:3003 -sTCP:LISTEN) 2>/dev/null || true

Setup

pnpm install
cp .env.example .env
$EDITOR .env

.env:

OPENAI_API_KEY=...
EXA_API_KEY=...
MODEL_NAME=gpt-4.1

Source Links

Root Commands

pnpm dev:01
pnpm dev:02
pnpm dev:03
pnpm typecheck
pnpm smoke:snapshot
pnpm smoke:live

Checkpoint 01: Agent Ladder

pnpm dev:01
pnpm --filter @research-table/01-agent-ladder exa-js
pnpm --filter @research-table/01-agent-ladder chatbot
pnpm --filter @research-table/01-agent-ladder research-text
pnpm --filter @research-table/01-agent-ladder research-citations
pnpm --filter @research-table/01-agent-ladder dev
pnpm --filter @research-table/01-agent-ladder typecheck
pnpm --filter @research-table/01-agent-ladder smoke:live

Checkpoint 02: Research Exa Prospectus

pnpm dev:02
open http://localhost:3002
pnpm --filter @research-table/02-research-agent-ux dev
pnpm --filter @research-table/02-research-agent-ux typecheck
pnpm --filter @research-table/02-research-agent-ux smoke:live
curl -s http://localhost:3002/api/config
curl -s -X POST http://localhost:3002/api/run \
  -H 'content-type: application/json' \
  -d '{"query":"Research Exa and make a compact company prospectus.","maxItems":3}'

Run checkpoint 02 on a different port:

PORT=3012 pnpm dev:02
open http://localhost:3012

Checkpoint 03: General Research Agent w/ Structured Outputs

pnpm dev:03
open http://localhost:3003
pnpm --filter @research-table/03-fake-websets dev
pnpm --filter @research-table/03-fake-websets typecheck
pnpm --filter @research-table/03-fake-websets smoke:snapshot
pnpm --filter @research-table/03-fake-websets smoke:live
curl -s http://localhost:3003/api/config
curl -s http://localhost:3003/runs
curl -s -X POST http://localhost:3003/api/run \
  -H 'content-type: application/json' \
  -d '{"query":"Find search API providers for AI products that offer web search, content retrieval, and developer-friendly integration.","mode":"snapshot","maxCandidates":3,"maxSearches":2}'
curl -s -X POST http://localhost:3003/api/run \
  -H 'content-type: application/json' \
  -d '{"query":"Find search API providers for AI products that offer web search, content retrieval, and developer-friendly integration.","mode":"live","maxCandidates":3,"maxSearches":2}'

Run checkpoint 03 on a different port:

PORT=3013 pnpm dev:03
open http://localhost:3013

Useful Cleanup

lsof -nP -iTCP:3002 -iTCP:3003 -sTCP:LISTEN
kill $(lsof -tiTCP:3002 -sTCP:LISTEN) 2>/dev/null || true
kill $(lsof -tiTCP:3003 -sTCP:LISTEN) 2>/dev/null || true

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages