1
00:00:00,350 --> 00:00:07,070
When an AI reads a file, uses a tool, and
checks a result, the model is only part of
what you're seeing.

2
00:00:07,250 --> 00:00:10,050
The surrounding software makes that work
possible.

3
00:00:10,230 --> 00:00:13,030
That surrounding system is called a harness.

4
00:00:13,210 --> 00:00:18,090
I'm going to show you one real task, and point
out the pieces that make an agent useful.

5
00:00:18,890 --> 00:00:24,650
I'm using DeepSeek Harness, a real agent app
with a conversation and tools for files.

6
00:00:24,830 --> 00:00:28,030
The model is one component inside this
application.

7
00:00:28,210 --> 00:00:34,130
The instructions, available tools, and
permission settings all affect what the
complete system can do.

8
00:00:34,310 --> 00:00:39,670
The name in the model selector does not tell
you everything about what the complete system
can accomplish.

9
00:00:39,850 --> 00:00:43,130
The model chooses what to say or which action
to request.

10
00:00:43,310 --> 00:00:46,910
A tool does something outside the model, such
as reading a file.

11
00:00:47,090 --> 00:00:48,770
The harness connects those pieces.

12
00:00:48,950 --> 00:00:55,270
It supplies context, makes allowed tools
available, runs permitted actions, and returns
their results.

13
00:00:55,450 --> 00:00:59,450
The model can then use that new information to
decide what to do next.

14
00:00:59,630 --> 00:01:02,990
For this task, I have a small file of
fictional expenses.

15
00:01:03,170 --> 00:01:10,050
The goal is to calculate spending by category,
flag anything that needs attention, and create
a short summary.

16
00:01:10,230 --> 00:01:13,110
First, look at the information we are giving
the agent.

17
00:01:13,290 --> 00:01:15,690
The file contains the original records.

18
00:01:18,247 --> 00:01:25,447
The instructions say how to handle a blank
category: keep the record, group it
separately, and do not guess.

19
00:01:28,004 --> 00:01:31,684
We also tell it to preserve the input instead
of quietly changing the source.

20
00:01:31,864 --> 00:01:36,664
These details are context: the information
available to the model for this job.

21
00:01:36,844 --> 00:01:39,484
More context is not automatically better.

22
00:01:39,664 --> 00:01:43,504
Unrelated files and old conversations can
distract from the task.

23
00:01:43,684 --> 00:01:50,004
A useful harness helps select the relevant
instructions and evidence, within the scope we
allow.

24
00:01:50,184 --> 00:01:54,664
For longer tasks, a harness also has to manage
limited context space.

25
00:01:54,844 --> 00:01:58,524
It may select earlier results or summarize
older conversation.

26
00:01:58,704 --> 00:02:03,184
Summaries can lose detail, so keep critical
facts in an artifact you can reopen.

27
00:02:03,364 --> 00:02:09,204
The file is durable; whether the next response
uses it depends on what the system actually
loads.

28
00:02:09,384 --> 00:02:16,264
Before pressing send, check that the request
names the input, the expected output, and the
rule for uncertainty.

29
00:02:16,444 --> 00:02:19,244
That makes success something we can actually
inspect.

30
00:02:19,784 --> 00:02:21,224
Now we submit the task.

31
00:02:21,404 --> 00:02:24,764
Watch the activity between the prompt and the
final response.

32
00:02:24,944 --> 00:02:28,784
The agent requests a tool, and the application
performs the action.

33
00:02:28,964 --> 00:02:34,084
Opening the tool details lets us see which
file it read and what information came back.

34
00:02:36,642 --> 00:02:38,402
We can see what it actually read.

35
00:02:38,582 --> 00:02:41,302
The model uses that result to choose its next
step.

36
00:02:41,482 --> 00:02:46,042
If it needs another file or a calculation,
another tool request can follow.

37
00:02:46,222 --> 00:02:51,982
This is the basic agent loop: decide, act
through a tool, inspect what happened, and
continue.

38
00:02:52,162 --> 00:02:54,882
This example uses files and a calculation.

39
00:02:55,062 --> 00:03:01,862
Those capabilities come from the integration
around the model, and they should be limited
to what the task needs.

40
00:03:02,042 --> 00:03:06,522
Installing a connector does not mean the agent
should have unrestricted access.

41
00:03:06,702 --> 00:03:09,822
The loop does not guarantee that every
decision is correct.

42
00:03:10,002 --> 00:03:14,962
It gives the system a way to work with
evidence instead of stopping at a single
response.

43
00:03:15,142 --> 00:03:20,822
In this example, the useful evidence is the
original expense data and the calculations
made from it.

44
00:03:21,002 --> 00:03:25,722
We can follow the activity and compare the
proposed summary with those records.

45
00:03:25,902 --> 00:03:31,742
Notice that an empty category is still
something to flag, not an invitation to invent
a label.

46
00:03:31,922 --> 00:03:35,202
Check whether the actions and results support
the answer.

47
00:03:35,382 --> 00:03:38,902
Before accepting the summary, we check it
against the original data.

48
00:03:39,082 --> 00:03:45,962
First, the calculator totals the source
records. At this stage, it correctly reports
that no summary has been saved.

49
00:03:46,142 --> 00:03:49,982
The expense with a missing category must
remain visible in that check.

50
00:03:50,162 --> 00:03:55,442
Twelve records total two hundred and
twenty-seven, including seventeen without a
category.

51
00:03:57,999 --> 00:04:02,959
The calculated totals match the source
records; that is evidence for this
calculation.

52
00:04:03,139 --> 00:04:04,979
Now look at the write boundary.

53
00:04:05,159 --> 00:04:09,079
Reading the input and saving a new file are
different actions.

54
00:04:09,259 --> 00:04:15,259
The first write is blocked by the read-only
setting. The agent then asks for one-time
permission to save this summary.

55
00:04:15,439 --> 00:04:22,719
Here, the application restricts which files
and command the agent can use, and asks before
writing this summary.

56
00:04:22,899 --> 00:04:26,099
This demonstrates an application permission
boundary.

57
00:04:26,279 --> 00:04:31,399
An operating-system sandbox is a separate
boundary, and we have not demonstrated one
here.

58
00:04:31,579 --> 00:04:35,979
Inspect the proposed destination and contents
before allowing this specific action.

59
00:04:38,536 --> 00:04:43,096
After the file is saved, reopen it and confirm
what actually exists.

60
00:04:43,276 --> 00:04:50,476
The checker compares the saved category
totals, grand total, and the count of records
missing a category against the source.

61
00:04:50,656 --> 00:04:55,536
A pass supports those checks; it does not
verify every sentence in the report.

62
00:04:55,716 --> 00:04:59,556
That final readback matters more than a
message saying the work is done.

63
00:05:02,113 --> 00:05:06,433
Saved files only become context when the
system loads them again.

64
00:05:10,113 --> 00:05:13,473
Approvals and sandboxes also do different
jobs.

65
00:05:13,653 --> 00:05:16,693
An approval asks whether an action may
proceed.

66
00:05:16,873 --> 00:05:20,393
A sandbox limits what the execution
environment can reach.

67
00:05:20,573 --> 00:05:22,893
Always check what is actually enforced.

68
00:05:23,073 --> 00:05:29,393
The original file is unchanged, the totals
have been checked, and the saved summary can
be reopened.

69
00:05:31,950 --> 00:05:35,950
Following those steps gives us a practical way
to evaluate the system.

70
00:05:36,130 --> 00:05:39,490
When you evaluate an agent, ask four
questions.

71
00:05:39,670 --> 00:05:41,430
What information can it see?

72
00:05:41,610 --> 00:05:43,130
Which actions can it take?

73
00:05:43,310 --> 00:05:44,590
How is the result checked?

74
00:05:44,770 --> 00:05:46,210
And where must it stop?

75
00:05:46,390 --> 00:05:50,230
Those questions tell you much more than the
name of the model alone.

76
00:05:50,410 --> 00:05:52,890
Try this with one small task of your own.

77
00:05:53,070 --> 00:05:59,550
Follow the actual steps, inspect the output,
and identify one check you would want before
trusting the result.
