1 00:00:00,559 --> 00:00:04,138 How do you get useful work from a coding agent, instead of just more code? 2 00:00:04,418 --> 00:00:08,689 Thorsten Ball's October twenty twenty-six article offers fifteen principles, 3 00:00:08,824 --> 00:00:10,716 grounded in his own experience. 4 00:00:11,008 --> 00:00:15,119 The central shift is to delegate an outcome, give the agent contact with the 5 00:00:15,134 --> 00:00:18,082 real system, and require evidence that it succeeded. 6 00:00:18,375 --> 00:00:21,116 We'll turn each principle into a practical habit. 7 00:00:21,397 --> 00:00:24,174 These are Ball's opinions, not universal laws. 8 00:00:24,455 --> 00:00:26,941 The examples in this lesson are illustrative. 9 00:00:28,441 --> 00:00:32,360 First, Ball argues for using the latest and most capable models. 10 00:00:32,652 --> 00:00:34,775 His concern is hidden unreliability: 11 00:00:35,067 --> 00:00:36,631 you don't know which answers are wrong. 12 00:00:36,912 --> 00:00:40,732 A lower price per attempt may not mean lower total cost if you spend the 13 00:00:40,747 --> 00:00:42,918 savings on retries and supervision. 14 00:00:43,210 --> 00:00:47,128 Apply this by comparing models on representative work, including how much 15 00:00:47,143 --> 00:00:49,338 human correction each result needs. 16 00:00:50,809 --> 00:00:54,738 Second, stop assuming agent-generated code inevitably becomes an 17 00:00:54,753 --> 00:00:59,156 unmaintainable mess. Ball is skeptical of that prediction, given how models 18 00:00:59,171 --> 00:01:03,391 have improved. That's a personal judgment, not proof that every generated 19 00:01:03,406 --> 00:01:07,179 change is good. Don't turn it into permission to ignore defects. 20 00:01:07,460 --> 00:01:11,268 Ask whether the result works, whether you understand its design, and whether 21 00:01:11,283 --> 00:01:12,410 you can change it later. 22 00:01:13,929 --> 00:01:16,415 Third, prompt the what, not the how. 23 00:01:16,696 --> 00:01:20,297 Instead of prescribing a cache, describe the slow experience you want to 24 00:01:20,312 --> 00:01:24,618 improve. For example: halve response time on this workload, preserve the 25 00:01:24,633 --> 00:01:27,835 returned data, and show before and after measurements. 26 00:01:28,116 --> 00:01:32,144 You still specify constraints, such as no public API changes. 27 00:01:32,424 --> 00:01:36,355 The agent chooses the implementation, not the definition of success. 28 00:01:37,846 --> 00:01:42,019 Fourth, make the entire software development lifecycle legible to the agent. 29 00:01:42,348 --> 00:01:46,083 Ball credits tool calls with letting agents touch reality instead of 30 00:01:46,098 --> 00:01:51,036 inventing it. Let it run the application, inspect logs, understand releases, 31 00:01:51,098 --> 00:01:53,670 and follow bugs through to their user impact. 32 00:01:53,950 --> 00:01:57,383 A safe implementation separates visibility from authority. 33 00:01:57,664 --> 00:02:01,484 Access to deployment information does not automatically mean permission to 34 00:02:01,499 --> 00:02:02,068 deploy. 35 00:02:03,554 --> 00:02:06,113 Fifth, give the agent tools for that lifecycle. 36 00:02:06,406 --> 00:02:10,883 Ball describes custom plugins for bug reports, system health, customer email, 37 00:02:10,993 --> 00:02:15,663 and feature flags. The practical lesson is to expose the operations the job 38 00:02:15,678 --> 00:02:20,033 actually requires, rather than describing a system the agent cannot reach. 39 00:02:20,350 --> 00:02:24,037 For your own tools, scope permissions and preserve approval gates for 40 00:02:24,052 --> 00:02:28,308 consequential actions. That's an implementation safeguard, not a claim from 41 00:02:28,323 --> 00:02:29,014 the article. 42 00:02:30,476 --> 00:02:32,853 Sixth, evaluate agentic knowledge. 43 00:02:33,134 --> 00:02:37,548 Adding an instruction file or skill doesn't establish that agents use it, or 44 00:02:37,563 --> 00:02:41,954 that it helps. Run blind agents on comparable tasks, with and without the 45 00:02:41,969 --> 00:02:46,008 guidance. Keep the task and evaluation criteria consistent. 46 00:02:46,289 --> 00:02:50,450 Compare observable outcomes, not whether an agent says it read the document. 47 00:02:50,743 --> 00:02:53,593 Ball's suggestion is to experiment rather than assume. 48 00:02:55,059 --> 00:02:59,013 Seventh, local development can become awkward when several agents need to 49 00:02:59,028 --> 00:03:02,364 install dependencies and test applications end to end. 50 00:03:02,681 --> 00:03:06,925 Ball prefers remote machines where each agent can run what it needs without 51 00:03:06,940 --> 00:03:09,087 competing for the same local resources. 52 00:03:09,367 --> 00:03:14,025 In practice, isolation should include test databases and services, not just 53 00:03:14,040 --> 00:03:18,080 separate source folders. Otherwise the collisions simply move elsewhere. 54 00:03:19,505 --> 00:03:22,793 Eighth, don't iterate with the agent one tiny step at a time. 55 00:03:23,073 --> 00:03:25,329 Let it build tools that make iteration cheap. 56 00:03:25,646 --> 00:03:30,073 For design work, request twenty variations and a page where you can compare 57 00:03:30,088 --> 00:03:33,290 and combine them, rather than twenty separate conversations. 58 00:03:33,632 --> 00:03:38,143 For debugging, ask for four explanations of the slowdown and experiments that 59 00:03:38,158 --> 00:03:42,053 test each one. Explore the problem as well as the solutions. 60 00:03:43,505 --> 00:03:45,749 Ninth, ask for irrefutable proof. 61 00:03:46,042 --> 00:03:49,281 Ball calls this a major improvement in how he works with agents. 62 00:03:49,561 --> 00:03:54,121 Request an end-to-end walkthrough, a demo video, or before and after numbers 63 00:03:54,136 --> 00:03:55,215 from the same workload. 64 00:03:55,496 --> 00:03:57,072 Match the evidence to the claim. 65 00:03:57,401 --> 00:04:01,828 For a bug fix, show the original failure, rerun the same scenario after the 66 00:04:01,843 --> 00:04:05,458 change, and check relevant cases that should remain unchanged. 67 00:04:06,893 --> 00:04:08,809 Tenth, don't wait for your agents; 68 00:04:09,041 --> 00:04:10,047 let them wait on you. 69 00:04:10,351 --> 00:04:14,391 Ball recommends larger, more ambitious tasks and asynchronous work. 70 00:04:14,672 --> 00:04:18,916 Give the agent enough context to finish a meaningful unit, then do something 71 00:04:18,931 --> 00:04:20,059 else while it works. 72 00:04:20,339 --> 00:04:25,130 A good handoff includes the desired outcome, constraints, expected proof, and 73 00:04:25,145 --> 00:04:27,668 the decisions that genuinely require your input. 74 00:04:29,130 --> 00:04:31,471 Eleventh, use automation and schedules. 75 00:04:31,752 --> 00:04:35,561 Some important feedback arrives after the initial task is finished. 76 00:04:35,866 --> 00:04:39,844 Ball's examples include checking logs in two hours, notifying you when 77 00:04:39,859 --> 00:04:42,624 something is live, and performing a daily check. 78 00:04:42,917 --> 00:04:45,379 Specify the trigger and what should be reported. 79 00:04:45,647 --> 00:04:49,542 A monitoring request is not blanket authorization to change production. 80 00:04:51,005 --> 00:04:53,625 Twelfth, stop manually managing context. 81 00:04:53,918 --> 00:04:57,580 Ball says compaction works well enough that he doesn't organize work around 82 00:04:57,595 --> 00:05:02,022 the token count. His rule is one thread per task, whether the conversation 83 00:05:02,037 --> 00:05:04,390 takes a few messages or thousands. 84 00:05:04,683 --> 00:05:06,429 That does not make memory infallible. 85 00:05:06,721 --> 00:05:10,931 Keep important constraints and decisions explicit so the task can be checked 86 00:05:10,993 --> 00:05:11,732 and resumed. 87 00:05:13,209 --> 00:05:15,622 Thirteenth, threads become company memory. 88 00:05:15,903 --> 00:05:19,578 A patch shows what changed, but the conversation can preserve why. 89 00:05:19,883 --> 00:05:24,274 Ball describes Amp threads connected to git commits, making earlier reasoning 90 00:05:24,289 --> 00:05:26,496 available to other people and agents. 91 00:05:26,776 --> 00:05:31,290 Before reopening an old design question, recover the previous investigation. 92 00:05:31,570 --> 00:05:34,955 Reusing that context can prevent duplicate work across the team. 93 00:05:36,429 --> 00:05:40,044 Fourteenth, Ball advises against letting agents write for humans. 94 00:05:40,325 --> 00:05:43,782 This is one of the article's deliberately opinionated boundaries. 95 00:05:44,087 --> 00:05:48,163 He makes exceptions for mechanical writing, including debugging instructions, 96 00:05:48,395 --> 00:05:50,845 incident reports, and some documentation. 97 00:05:51,138 --> 00:05:54,933 The useful distinction is between transferring technical information and 98 00:05:54,948 --> 00:05:58,309 expressing your own judgment or relationship with another person. 99 00:05:59,792 --> 00:06:02,824 Fifteenth, review code with high blast radius. 100 00:06:03,129 --> 00:06:07,327 Ball focuses on a small number of central files and database migrations, 101 00:06:07,510 --> 00:06:09,718 rather than every stylistic detail. 102 00:06:10,010 --> 00:06:13,867 He asks whether it works, whether he understands the design, whether it was 103 00:06:13,882 --> 00:06:16,781 tested end to end, and whether he can change it later. 104 00:06:17,073 --> 00:06:21,621 Apply the principle as risk-based review, not an excuse to skip scrutiny of 105 00:06:21,636 --> 00:06:25,846 consequential changes. Proof and human judgment serve different roles. 106 00:06:27,309 --> 00:06:28,558 Put the ideas together. 107 00:06:28,838 --> 00:06:32,502 Ask an agent to make checkout faster without changing payment behavior. 108 00:06:32,783 --> 00:06:36,687 Give it a representative workload, an isolated environment, and the tools it 109 00:06:36,702 --> 00:06:41,554 needs. Have it test competing explanations, implement the improvement, and 110 00:06:41,569 --> 00:06:44,905 return comparable measurements plus an end- to-end walkthrough. 111 00:06:45,185 --> 00:06:46,555 Let it work asynchronously. 112 00:06:46,836 --> 00:06:50,862 Review the payment-sensitive changes, arrange a follow-up health check, and 113 00:06:50,877 --> 00:06:52,987 preserve the decision in the task thread. 114 00:06:53,280 --> 00:06:54,541 That's the operating model: 115 00:06:54,809 --> 00:06:57,077 outcomes, reality, and proof. 116 00:06:58,547 --> 00:07:02,986 This lesson adapts Thorsten Ball's article, How I Work with Agents, published 117 00:07:03,001 --> 00:07:05,427 October twenty-fifth, twenty twenty-six. 118 00:07:05,707 --> 00:07:08,861 Read the original for his exact wording and context. 119 00:07:09,142 --> 00:07:11,980 The examples and safety notes are additions for teaching. 120 00:07:12,273 --> 00:07:14,711 They should not be mistaken for quotes from the author. 121 00:07:15,003 --> 00:07:18,631 The narration and graphics in this video are AI-generated. 122 00:07:18,935 --> 00:07:22,622 The takeaway: give agents a complete job, and ask them to show you what 123 00:07:22,637 --> 00:07:23,570 actually happened.