Agent
Model using tools in a loop to achieve complex tasks that require multiple steps without user intervention.
Dominik Lukeš (Dominik.Lukes@oerc.ox.ac.uk)
Introduction
Introduction
Introduction
Introduction
Introduction
Introduction
Model using tools in a loop to achieve complex tasks that require multiple steps without user intervention.
Chatbot answering questions based on prompts and documents (sometimes called agent e.g. Customer service agent)
Introduction
Introduction
Introduction
Introduction
Introduction
What Codex Is
What Codex Is
What Codex Is
What Codex Is
| Topic | ChatGPT | Codex |
|---|---|---|
| Main form | Cloud-based app | Desktop app |
| How you control it | By chatting | By chatting |
| Model power | GPT-5.4 family | GPT-5.4 family |
| Where chat history lives | In the cloud app | In the Codex app, but important project state should still be saved into files |
| Where working files live | Cloud or uploaded into the cloud app | Local machine |
| What tools it can use | Limited by ChatGPT Code Interpreter | Anything you can do on your computer with the keyboard |
What Codex Is
What Codex Is
Benefits of working locally
Benefits of working locally
Benefits of working locally
| Task | What may be enough |
|---|---|
| Organise | File name, size, dates, header, excerpt |
| Summarise | Part of the file or the whole file |
| Interpret | Part of the file or the whole file |
Benefits of working locally
| Aspect | Advantage | Trade-off |
|---|---|---|
| File handling | Files stay in your normal folder structure | You need to manage that structure properly |
| Retrieval | Outputs are easier to find later | You need to save and name things well |
| Scale | Easier to work across many local files | You need to know what folder you are giving it access to |
| Privacy | Some tasks can stay mostly local | Some tasks still require remote model processing |
| Persistence | The work is tied to your project folder | It does not automatically follow you to every machine |
Benefits of working locally
Benefits of working locally
Benefits of working locally
Five Things You Can Do with Codex
Five Things You Can Do with Codex
Five Things You Can Do with Codex
Five Things You Can Do with Codex
Five Things You Can Do with Codex
Five Things You Can Do with Codex
Five Things You Can Do with Codex
Five Things You Can Do with Codex
Five Things You Can Do with Codex
Five Things You Can Do with Codex
Five Things You Can Do with Codex
Five Things You Can Do with Codex
How to Use Codex Effectively
AGENTS.mdHow to Use Codex Effectively · What Markdown looks like
| Markdown element | Example |
|---|---|
| Heading | # Project plan |
| Bullet list | - interview notes |
| Link | instructions |
How to Use Codex Effectively · What to put in AGENTS.md
| Include | Why it helps |
|---|---|
| What the folder is for | Keeps the project purpose visible |
| Naming conventions | Makes new files consistent |
| Expected outputs | Tells Codex what to create |
| Things to avoid | Reduces accidental changes |
| Privacy or sharing notes | Makes handling expectations explicit |
How to Use Codex Effectively
How to Use Codex Effectively
AGENTS.md, plans, and notesHow to Use Codex Effectively
How to Use Codex Safely
How to Use Codex Safely
How to Use Codex Safely
How to Use Codex Safely
How to Use Codex Safely
What do you need to know?
Question: Who uses git to manage versions of your work?
All non-trivial abstractions, to some degree, are leaky.
What do you need to know?
What do you need to know?
What do you need to know?
What do you need to know?
jsimport ffi from 'ffi-napi';
import ref from 'ref-napi';
// 1. Define explicit types using the ref library
const intPtr = ref.refType(ref.types.int);
// 2. Load the compiled native C library and declare the function signature
const lib = ffi.Library('./libmultiply', {
'double_value': ['void', [intPtr, intPtr]] // returns void, takes two int pointers
});
// 3. Allocate physical memory buffers to act as pointers
const b_ptr = ref.alloc(ref.types.int, 42); // b = 42
const a_ptr = ref.alloc(ref.types.int, 0); // a = 0 (allocated space for result)
// 4. Pass the raw memory pointers to the compiled C function
lib.double_value(b_ptr, a_ptr);
// 5. Dereference the pointer to retrieve the value from physical memory
const a = a_ptr.deref();
console.log(`Value at pointer a_ptr: ${a}`); // Outputs: 84
Abstractions leak at every level · Leaky abstractions are not just a problem for computers
Abstractions leak at every level
[use: ppt:AI for Research - One Day Workshop#32]
Abstractions leak at every level
Abstractions leak at every level
Abstractions leak at every level
Abstractions leak at every level
Abstractions leak at every level
Abstractions leak at every level
It is now worth learning more about computers at every level because you can now do something about it.
Getting started
Getting started
Open Codex (or Antigravity) and ask for an organization of your Downloads folder
Getting started
Point Codex at your course materials and ask it to build a step by step explainer of the process.
Getting started
Ask Codex to rerun the latest analysis in a paper you read.
Dominik Lukeš (Dominik.Lukes@oerc.ox.ac.uk)