← All AI Engineer talks

AI Engineer Europe 2026

Agentic Engineering: Working With AI, Not Just Using It — Brendan O'Leary

Read the talk

Agentic Engineering: Working With AI, Not Just Using It

Effective collaboration with coding agents starts with deciding what to delegate, curating their context, and reviewing research and plans before assumptions become code.

From a talk by Brendan O'Leary

Before you start: Familiarity with Git, pull requests, and basic coding-agent use will help you apply the workflow.

Can you explain your AI workflow?

How are you using AI in your work? An answer such as “it helps me code faster” leaves the engineering decisions unexplained. What do you hand off? What do you keep? How do you decide between them? Brendan O’Leary opens with these questions because adoption alone says little about whether a team has a useful collaboration workflow.

O’Leary estimates that 90% of engineers have used AI tools and perhaps half use them regularly. He does not identify a survey for those estimates. His practical question is whether that usage amounts to more than accepting completions throughout the day: can engineers articulate how they work with the system?

The progression he sketches changes the unit of delegation:

StageWhat the developer hands overWhat comes back
Early 2020s: autocompleteA partial line or function signatureA suggested continuation
2022: copilotsA description of a functionA possible implementation
2025 onward: agentsA taskFile changes, test results, and potentially a pull request

In this account, GitHub Copilot helped make code generation broadly useful. The later shift is from suggesting code to executing a sequence: decompose the task, identify affected files, make changes, run tests, and return work for review.

The Paradigm Shift slide shows 2020 autocomplete, 2022 copilots, and 2025+ agents, with a highlighted AI-at-work statistic below.
From autocomplete to copilots to agents that execute tasks.

O’Leary invokes Flask creator Armin Ronacher’s distinction between using machines and working with them. You pick up a hammer, use it, and put it down. A coding agent occupies a different place in the workflow: it can carry work forward between your interventions. The playful comparison is another engineer who has read every Stack Overflow answer. That breadth is useful, but it does not settle who supplies judgment.

0:000:11
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

0:00 · section reference included

Fast, well-read, and confidently wrong

Think of the agent as an energetic, enthusiastic, extremely well-read junior developer who can be confidently wrong. It works quickly, does not tire easily, and has no ego about rewriting something six times. It brings familiarity with many languages, frameworks, and patterns. Those strengths make it a capable contributor, but they do not give it your judgment.

Technically correct code can still be contextually wrong. The agent may not know the business constraint behind a requirement or why the team chose a particular architecture three months ago. Supplying those reasons is part of directing the work, not an optional supplement to the coding request.

The Agent-Model Architecture slide has three boxes: You for direction and judgment, Agent running locally in the IDE, and Model running in the cloud. A warning below says models are stateless.
You provide direction and judgment; the agent and model have separate roles.

O’Leary attributes to Ronacher a gain of more than 30% of his day through machine assistance. The talk supplies no measurement method or task breakdown; it connects that reported gain to knowing what to delegate and what to retain. The valuable habit is selective delegation followed by direction and review, rather than automatic acceptance of suggestions.

2:573:09
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

2:57 · section reference included

Context can become a liability

This makes context engineering the first practical skill. O’Leary draws on Andrej Karpathy’s framing: fill the context window with what the agent needs for its next step. In a workflow that resends the conversation history, earlier material becomes input again on successive requests. Accumulating context therefore adds recurring token cost, not just a one-time expense when the material first enters the conversation.

O’Leary uses roughly 50% context-window occupancy as a warning point for declining quality, not a demonstrated model-independent threshold. His concern is that useful working space can disappear before you notice: enabled MCP servers, for example, can contribute tool information even when their capabilities are irrelevant to the task. The operational signal is to watch context consumption and output quality together.

Volume is only one problem. Unrelated tasks, outdated code comments, and abandoned decisions can all contaminate the working context. Suppose an agent has spent a long conversation pursuing the wrong approach. Correcting it does not remove that history. Earlier decisions remain available to influence later output, and rejected patterns can creep back into the implementation.

When repeated steering cannot get the work back on track, start a new session. The purpose is to stop carrying the failed path forward as part of every subsequent request. More context is useful only when it helps the next decision; beyond that, it can increase both cost and confusion.

4:284:49
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

4:28 · section reference included

Persist, select, compress, and isolate

Context management consists of four complementary operations:

  • Persist: Keep durable information outside the conversation in scratchpads, memory files, and AGENTS.md. The information remains available without requiring the entire exploration to stay in the active window.
  • Select: Bring in what the current step needs. Use file @ mentions deliberately, disable unnecessary MCP servers, and curate the data the agent receives.
  • Compress: Once a debugging investigation has established the problem and a proposed solution, summarize those findings. The implementation session needs the result of the investigation more than every turn taken along the way.
  • Isolate: Separate unrelated tasks into different sessions or agents so their contexts do not accumulate together. O’Leary connects this benefit to the recent rise of parallel-agent workflows.

These operations preserve useful knowledge while controlling what participates in the next request.

7:117:23
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

7:11 · section reference included

When a placeholder becomes a requirement

The same problem appears in ordinary engineering management. Early in his career, O’Leary managed engineers at a healthcare software company. The newly released iPad looked like a promising way to collect patient histories—the forms patients repeatedly fill out at a doctor’s office. He designed the proposed interface in Balsamiq, a wireframing tool whose deliberately rough presentation included Comic Sans and smiley-face placeholders.

He handed the wireframes to summer interns as a greenfield project. Weeks later, they returned a working prototype with Comic Sans and the placeholder graphics intact. They had implemented what the specification showed. O’Leary places responsibility on himself: he had not explained which details mattered, which were placeholders, or what problem the interface was meant to solve.

An agent handoff needs the same distinction between requirements and incidental material. O’Leary reduces the daily habit to a short procedure:

  1. Keep one task in each session and watch the context meter.
  2. If the work goes off track, ask the current agent to summarize it for a successor.
  3. Read that summary and correct anything that does not match your understanding.
  4. Start the new session with the checked summary.

The summary is itself a deliverable to review. Otherwise, restarting can simply transfer the same misunderstanding into a smaller context.

8:489:06
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

8:48 · section reference included

Why research comes before code

Of the workflows collected at Agentic Engineering for Humans, O’Leary repeatedly returns to research–plan–implement. It addresses a familiar mistake: asking an agent to implement a feature immediately, before either participant has established how it fits the existing system.

When he joined Kilo Code, he rejected the idea of a website demonstration consisting only of a prompt followed by code streaming past. That makes an impressive visual, but generation speed can hide incorrect assumptions. The resulting rework wastes time and can leave developers convinced the tools are unhelpful.

Experience can also become stale. O’Leary uses the early Will Smith eating spaghetti videos as a reminder of how quickly AI capabilities change. Coding agents deserve fresh evaluation too—but under conditions that give them a chance to succeed. First establish a shared understanding of the problem, then lay out explicit steps, and only then generate the implementation. His paraphrase of Dex Horthy’s warning is that a small mistake in research can expand into a large amount of bad code. Review effort belongs upstream, before that expansion occurs.

11:1911:29
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

11:19 · section reference included

Turn understanding into an executable plan

Begin research in a mode that cannot jump ahead into editing. In the talk, Kilo’s Ask mode chats and can read permitted files but cannot write them. That restriction keeps the immediate objective on understanding the system. Identify current behavior, relevant files, established patterns, differences from similar features, data flow, and edge cases. Use the agent’s breadth to brainstorm cases you may have missed.

The output is a research document that you read and agree reflects the problem. This is the first review gate. A fluent explanation is not sufficient; the document needs to match your understanding of the system before it becomes the foundation for a plan.

Next, make the proposed change explicit:

  1. Name the files to create or modify.
  2. Describe the steps and expected effects on the system.
  3. State what is in scope and what must remain unchanged.
  4. Identify the tests to add or change and the commands that will verify the result.
  5. Record the instructions in a plan file, often kept in a Plans directory.

Code snippets can help, but are optional; a plan need not prewrite the implementation. The planning slide also includes a rollback strategy, making reversal part of the preparation rather than an afterthought.

Phase 2: Plan slide pairs outlining exact steps, including testing, and being explicit with a Plan File containing instructions, specific code changes, test commands, and a rollback strategy.
A plan specifies changes, testing, scope, and a rollback strategy.

A sufficiently clear plan can make implementation suitable for a smaller, faster, or cheaper model. The reasoning has not disappeared: it has been concentrated in the research and planning phases, where a person can inspect it before many lines of code depend on it.

13:4513:57
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

13:45 · section reference included

Use Git as the first review

Start implementation in a fresh session with the reviewed plan as its execution context. This avoids dragging the whole research conversation into the coding phase. Review changes carefully and commit frequently, keeping each increment understandable.

O’Leary, who previously worked at GitLab, treats local Git review as his first pull-request review with the agent, before sending an actual PR to colleagues. A small command sequence makes that habit concrete:

bash

git status --short
git diff --stat
git diff
# After reviewing the changes, stage only the intended hunks.
git add -p
git diff --cached

The working-tree diff shows what changed; interactive staging selects the intended portions; the staged diff shows what the next commit will contain. Run the plan’s verification commands before committing.

The highest-leverage human work happens during research and planning. By implementation time, the difficult decisions should already be explicit. O’Leary returns to Horthy’s framing: AI amplifies the thinking you have done, including the consequences of not thinking something through. Faster implementation makes the quality of the earlier decisions more consequential.

16:1116:21
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

16:11 · section reference included

Configure roles, rules, and autonomy

Agent configuration can reinforce the workflow. O’Leary maps Ask to research, Architect to planning, and Code to implementation. Repository, workspace, or global rules then supply conventions that should hold across those roles. The agent cannot reliably follow project expectations that nobody has written down.

Decide separately how much work the agent may perform without interruption. Multiple agents may need worktrees so their changes can be merged locally before a PR. Approval settings should distinguish reading inside the workspace from reading outside it, and reading files from running tests or other tools. Start with permissions you understand and revisit them as experience reveals where intervention is useful.

Three configuration layers serve different purposes:

LayerPurposeTypical contents
ModesDefine the current roleResearch, planning, implementation
AGENTS.mdSupply recurring project guidanceConventions, build commands, test requirements
SkillsSupply a workflow when neededA reusable task playbook

Keep AGENTS.md focused on the minimum project knowledge an agent needs: how to build and test, which conventions to follow, and what to check before committing. Treat it as the agent’s project README rather than a store for every possible instruction.

Skills are better suited to recurring procedures such as making motion graphics with Remotion or compiling daily, weekly, or monthly changelogs. Their detailed instructions are brought in when the workflow is needed. O’Leary introduces the comparison using the name SKILLS.md; the Agent Skills specification uses the singular filename SKILL.md. The practical distinction is between compact standing instructions and task-specific playbooks.

17:3417:44
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

17:34 · section reference included

Make useful context easy to supply

Once the basic workflow is comfortable, interface shortcuts reduce the friction of maintaining it. O’Leary’s Kilo examples include:

  • Targeted references: Use @ mentions to bring in files, commits, and terminal output.
  • Session commands: Use slash commands to start a new task or condense a growing context.
  • Selected code: In VS Code, select a passage and use the right-click option to add it to Kilo Code, then ask questions or request a targeted edit.
  • Autocomplete: Use completions for prompts as well as code.

These are ways to supply precise working material without manually reconstructing it in every request.

The same collaboration is expanding beyond the IDE to the CLI, mobile access, cloud agents, and Slack. O’Leary sees this as a change in availability: the agent can participate where the work is being discussed or directed, rather than only while someone is sitting in an editor.

20:5721:09
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

20:57 · section reference included

Add the tools the task actually needs

Model Context Protocol, or MCP, provides a way to expose additional tools to an agent. A model’s token input and output can participate in a larger loop in which tool calls inspect or affect the environment, such as running tests. The GitHub MCP server extends that environment with access to pull requests, comments, and issues. Context7 supplies current framework documentation, addressing the gap between a model’s training cutoff and later library changes.

The benefit comes with a context-management decision. O’Leary warns that exposed tool descriptions can become recurring prompt input. The amount depends on the client and its tool-loading strategy; it is not an unavoidable upfront cost for every MCP implementation. Still, unused integrations deserve scrutiny. In his example, a Postgres MCP connection adds little during frontend-only work that does not involve the database. Its tool information consumes context and can also suggest a database operation where none belongs. Disable it for that task.

Internal platform APIs do not automatically require a custom MCP server. O’Leary offers four options, chosen according to the information and workflow involved:

Existing material or needIntegration approach
An API specification existsUse the OpenAPI or Swagger specification
Documentation needs a readable local formStore Markdown in the repository
Information changes frequentlyHave the agent retrieve a reference URL
A workflow spans multiple steps and systemsConsider a custom MCP server

Markdown can live in AGENTS.md or another referenced repository document. A live reference suits information that must be refreshed at use time. A custom server becomes useful when the agent needs coordinated actions across systems, rather than merely a description of an API.

22:4722:56
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

22:47 · section reference included

Keep the work reviewable, then get repetitions

Whatever tools supply the context, keep your changes separate from the agent’s work and review its contribution as a pull request. The closing technical slide contrasts editing conflicts with parallel work in Git worktrees. Separation makes the agent’s contribution identifiable, so you can inspect it with the same care you would give a junior engineer’s PR.

Working Alongside Kilo slide contrasts editing conflicts with CLI parallel mode using git worktrees, shows separate human and Kilo work locations, and highlights reviewing Kilo’s work as a separate PR.
Isolate your work from Kilo’s and review its changes as a separate PR.

O’Leary closes the product discussion with Kilo’s expansion across working surfaces and its then-stated focus on OpenClaw and KiloClaw, aiming to make OpenClaw agents safer to use. He invites feedback on Kilo rather than presenting a security design or deployment procedure. For readers following that product direction now, the KiloClaw documentation, checked August 28, 2026, marks the service as end of life, unavailable to new users, and approaching the end of support.

The final recommendation is to pick a tool and accumulate repetitions. Trust becomes calibrated through experience with what the model handles well and where it still needs your judgment. Try the research–plan–implement loop, review what happens, and adjust the next handoff. The reward O’Leary points toward is the renewed enjoyment some senior engineers report: delegating tedious work while spending more of their own attention on the harder engineering problems.

25:2225:35
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

25:22 · section reference included

Resources

From the talk

Updates since the talk

  • Current Kilo documentation for built-in agents and their tool permissions.

  • Retained documentation for Kilo's hosted OpenClaw service, now closed to new users with support ending.

Read the complete timestamped transcript
  1. 0:00

    Let's talk a little bit about what I mean by agentic engineering, and let's maybe start with a question. If I were to ask you right now, how are you using AI in your work?

  2. 0:11

    Could you actually really explain it? Not just, you know, it helps me code faster, it can write code really fast, but, like, the real workflow, what you hand off, what you keep, how you decide in between.

  3. 0:26

    Most engineers can't, and that's a little wild to me because ninety percent of engineers are already using AI tools or have used them. Maybe only half of them are using them on a regular basis, but that's a number that's definitely growing all the time, and that's the current state.

  4. 0:41

    So the question isn't whether your team is using AI. They are. The question is whether you're getting the most out of it, or you're just kind of auto-completing your way through the day.

  5. 0:52

    That gap between using AI and being able to articulate how you work with it, that's what this talk is all about. And really, I think it represents a paradigm shift of how we think about AI.

  6. 1:07

    And, you know, the history of AI and software engineering is moving, uh, very fast. It's also very surprisingly short, right? In the twenty-- early twenty twenties, we got tools that could finish the lines for you.

  7. 1:19

    You'd type, you know, half of a function signature, and the model would guess the rest of it. You know, kind of like autocomplete on steroids. It's a neat trick.

  8. 1:29

    And then in twenty twenty-two, models started to be able to suggest entire functions, right? You could describe what you wanted and chat with a model and maybe get a working implementation back.

  9. 1:39

    And this is where GitHub Copilot first came on the scene and broke through, and millions of developers started using it. And for the first time, it was starting to seem like maybe AI wasn't a novelty, maybe it was generally useful.

  10. 1:52

    But then in twenty twenty-five, something really broke. It's, you know, what we're living in now in twenty twenty-six. The, the models don't just suggest, they can execute. They can take a task and break it down and figure out which files need to be touched and make the changes and run the tests themselves and then come back with

  11. 2:11

    an actual pull request. And so that's not just fancy autocomplete. It's not just a, a faster horse. It's a collaborator. It's a different way of working. And Armon, the creator of Flask for those Python folks here, put it, I think, perfectly.

  12. 2:27

    We're no longer just using machines, we're now working with them. And that framing, I think, captures this real shift, right? Tools are things that you pick up and put down.

  13. 2:38

    You use a hammer. You don't work with a hammer. But the AI coding agents we have today, they're kind of somewhere more in between, and they're maybe a little bit more like working with another engineer.

  14. 2:51

    Now, it just happens to be an engineer who's read every Stack Overflow answer ever written.

  15. 2:57

    And I think that needs a, a mental model shift, and this is the mental model I want you to carry through the rest of this video and honestly through the rest of your, you know, next couple years of your career in working with these tools.

  16. 3:09

    I, I do think they're still tools, but we have to think about them differently. You kinda have to think about your AI agent as an energetic, enthusiastic, extremely well-read, often confidently wrong junior developer.

  17. 3:25

    That junior developer is incredibly fast. They don't easily get tired. They don't have any ego about their code. They'll happily rewrite something six times if you ask them to.

  18. 3:35

    And they have an astonishing breadth of knowledge. They've seen lots of languages. They've seen lots of frameworks. They've seen lots of patterns. But, and this is critical, what they don't have is judgment.

  19. 3:47

    They don't know your business context. They don't understand the reasons why you made that very specific architectural decision three months ago. And they'll confidently write code that is technically correct and contextually wrong.

  20. 4:01

    Armon also said that he's gained more than thirty percent of time in his day because the machine is doing a lot of the work. That's a real gain. But he's getting that thirty percent because he knows what he can hand off and what he has to keep for himself.

  21. 4:15

    He's not just blindly accepting every suggestion, he's directing the work. And that's the difference between using AI and working with AI, and that's what agentic engineering actually means.

  22. 4:28

    And so let's get tactical. If you're an engineer, how do we really get good at this? I think the number one thing to think about is context engineering. And here Karpathy says, you know, context en-engineering is a delicate art and science of, you know, filling the context window with just what needs to happen for the agent to

  23. 4:49

    have the right context for the right iteration for the next step. And I think that's really critical for a couple of reasons. First, context is expensive, right? Every token you add into the context is gonna add cost because all of those things, that whole chat history is sent back in as, uh, input tokens every time that you

  24. 5:10

    send it. And that, you know, can, can add up pretty quickly. And the other key is that more context doesn't always mean better results, and in fact, um, it can make the model actually dumber, right?

  25. 5:26

    It's not just about the money. The quality can degrade as you get over about fifty percent full. And there's lots of things that can trap you here, and not the least of which are, you know, the facts that-- fact that MCP servers became so popular that we have a lot of these enabled all the time now.

  26. 5:42

    Well, each one of those loads more and more context, uh, you know, more and more input co-- tokens than the context and, and that can be a real problem if you start to get into this dumb zone around fifty percent context.

  27. 5:54

    And that also isn't the only problem because not only can more context be a problem, but bad context can be a problem and can poison everything. Right. So this ha-happens when you're maybe mi-mixing two different tasks that didn't really overlap, or you've kind of got some outdated comments either in the code or that you've made to the

  28. 6:14

    agent, or even worse, what I've seen a lot of people do is they start walking down the road with an agent and then realize, [lip smacks] "Hey, we're down the wrong path.

  29. 6:24

    We've made a lot of wrong decisions," and they try to steer the agent back. But the problem is, again, the agent is not doing real reasoning like you and I as a human, right?

  30. 6:33

    It's taking all that context every time, and it may get lost in the middle or even see some of those negative things that you had before as still part of the context, and you see those negative patterns creeping back in if you're not careful.

  31. 6:49

    That's why it's better, you know, to not let these things kind of compound, but also, you know, always start a new session once you realize things are kind of off the rails, right?

  32. 6:59

    Because not only is context expensive, the more we have doesn't always mean better quality. In fact, at a certain point, there's a tipping point where it means worse quality, and bad context can corrupt the output.

  33. 7:11

    So the real critical thing for engineers is to manage the context. And what does that mean? Well, one, I think it means persisting a lot of information outside of the context window so that we can bring it in, right?

  34. 7:23

    So this is things like scratch pads for things we're working on, memory files, the AGENTS.md, those kinds of files that help the agents have context to what you're working on.

  35. 7:35

    We also need to be very selective when we're selecting that context. So that means only pull in what's relevant for this step of the problem, right? Don't just pull in everything that might be useful.

  36. 7:46

    And so that could mean, you know, things like bringing in the right @ mentions for files that we're referencing. That could mean making sure we don't have unnecessary MCP servers enabled.

  37. 7:57

    Uh, and it means, you know, making sure that the agent has the right data and that we as a human have curated that data for the agent. And then as it's getting bigger and that, that window gets bigger, we want to summarize and trim and compress that context, right?

  38. 8:12

    If we've gone through a whole big deep dive and debugging session with the agent and now we think we have the problem and the solution, well, that's great. It might be time to compress that context and just focus the agent back in on, okay, now we, we understand this problem, we're gonna go fix it.

  39. 8:29

    Uh, and then the other most important thing is to isolate context, and I think this is why we've seen this huge rise in the past six or eight months of parallel agents, because splitting work across several agents or several sessions can help things not accumulate and really drive this kind of task separation.

  40. 8:48

    And again, if you think about it, aren't these all of the same things that I would tell a brand-new engineering manager about, about managing a junior engineer? Like, the story I tell here is, uh, when I was early in my career, I spent a lot of time as an engineering manager and product manager before I went into

  41. 9:06

    the dark arts of developer relations. [lip smacks] And in my first job ever as an engineering manager, I was at a healthcare software company, and there was this new thing coming out called an iPad, and that dates me a little bit.

  42. 9:20

    Um, but it was, it was released in the market, and we thought this could be a great place to collect patient history, you know, that form you have to fill out every year at the doctor.

  43. 9:28

    It's very critical to assessing a lot of your, you know, risk of disease, um, but having to fill out from scratch every time is, is not fun. And so I designed in this other archaic tool that some people may have heard of called Balsamiq, basically a wireframing tool, a wireframe of what this would look like.

  44. 9:48

    Now, that wireframing tool used things like Comic Sans and, like, silly smiley face icons as placeholders and a lot of other stuff like that that you'd expect from just a wireframe.

  45. 9:59

    And I handed that to a set of interns that we had working for us that summer, thinking this is a great greenfield project for them to take some time on.

  46. 10:07

    And, you know, a few weeks later, I got back a working prototype, and the font was Comic Sans, and there were silly emoji placeholders, and that's because that's what the spec had in it.

  47. 10:20

    And so, so whose fault was that? Obviously, it was not the interns' fault. It was my fault as an engineering manager for not giving the right context to those junior engineers as to what's important, what's not, and what we really need to focus on and what problem we're solving.

  48. 10:37

    And so I think the habits that can tie all of that together are you don't need to think about all four of those things for every task. You just need to think about doing one task per session, keep an eye on your context meter, and if you're in doubt and it feels like things are off the rou-rails,

  49. 10:53

    you're probably right, so start a new session. Ask it to summarize the session for a new agent. Turns out that AI's really great at writing prompts for AI. So if you've worked on something with an agent for a while, have that agent summarize where you're at.

  50. 11:08

    You can now read it, make sure it matches with your understanding, and then start a new, uh, session with just that right context. Again, it's a little bit of art and a little bit of science.

  51. 11:19

    So how do we put this into practice? Well, I think there's a lot of workflows. There's lots of things written out there that you can read. I've even compiled a lot of them at path.kilo.ai.

  52. 11:29

    It's a-- where you can find, like, all of these kinds of trends and ideas and workflow patterns that have been talked about. But one I think I keep coming back to is, is maybe one of the simpler ones, and that's the research, plan, implement loop, right?

  53. 11:45

    And I think this really helps us solve for a lot of, like, classic mistakes that people do when they pick up agentic engineering for the first time or pick up AI to help them try to do some engineering.

  54. 11:57

    Um, and what most people do is say, "Hey, help me implement this feature. I want it to do X and Y." And, you know, these large language models are very good at outputting lots of code.

  55. 12:08

    In fact, when I joined Kilo Code over a year ago, I made a pronouncement that we would never have our website be just prompt and a whole lot of code flying by.

  56. 12:19

    Makes for a great demo, and you've seen lots and lots of coding agents that maybe that's how they show it off. But I think the reality is jumping straight into code like that can cause a lot of wrong assumptions.

  57. 12:32

    It can waste even more time rather than saving time and just create a lot of frustration. And it really creates that kind of paradigm that we've seen where people are kind of anti-AI or think that AI is not a useful tool because they've jumped right in and gotten, you know, put garbage in and gotten garbage out.

  58. 12:49

    Uh, or maybe it's been a while since they've used it, right? I mean, think of the, the Will Smith eating spaghetti when it comes to AI videos. That's come a long way in just the past two, three, four years.

  59. 13:00

    You know, the same is true of the AI coding models, but you have to do what works to give them the best chance at getting a great result. And what that is, is first understanding the problem really well and making sure you and the AI agent can understand the problem really well, then laying out explicit steps for

  60. 13:17

    implementing that, uh, that, those changes or fixing that problem, and only then do we jump to the implementation phase where we're writing code. And Dex Horthy has a great, uh, phrase that he says here, which is, "A bad line of research can potentially be hundreds of lines of bad code."

  61. 13:35

    And so we're really gonna focus in on how do we get the research and the plan in place in order to ma- give ourselves the best chance of having great code come out.

  62. 13:45

    So in that first phase, we're gonna use a tool that is only gonna be focused in on research. And so for Kilo, we call that ask mode. And the reason we call it that is because the ask mode can't actually do anything.

  63. 13:57

    It can only chat. It can't write files. It can maybe read files if you let it, but it can't, you know, start trying to code a solution. And so instead of trying to code a solution from the beginning, we're gonna first try to understand the system.

  64. 14:11

    You know, how does it actually work today? Where are the right files that are gonna be involved? What are the right paradigms that we wanna mirror, or how does this differ from something that we have already?

  65. 14:22

    And, you know, just kind of learn where in the code base this is gonna go and, you know, how the data's gonna flow through the system and how it's gonna change with our change, as well as like any edge cases we can-- need to consider, right?

  66. 14:36

    AI's really great at brainstorming, and so it can help you kind of brainstorm those things and make sure you've really covered all of your bases. And then once you're done that research, what's gonna come out of that is an actual output document that shows the, the details of that research that you can then read and basically agree

  67. 14:56

    with and understand, hey, this, this matches my understanding of the problem. I think we're ready to move on to the plan.

  68. 15:04

    And so then once we've reviewed that as a human, now we can say, okay, let's outline the next steps. What kind of, you know, files are we gonna create or na- or change?

  69. 15:14

    Maybe there's some code snippets, but not always is it a good idea to have a code snippet in the plan. We are definitely gonna include like how is-- how are we gonna verify and know this change is correct?

  70. 15:23

    What are the test, either changes or additions that we're gonna make to know that? And we're also gonna be really explicit at the pa- planning phase about what is in and out of scope, what is going to change, what isn't going to change.

  71. 15:36

    And again, the output of that is gonna be a very clear plan file, right? You'll see a lot of repositories nowadays have a folder called Plans, right? And we wanna have that plan file be step-by-step instructions with specific changes that we're gonna make, that have test commands to verify it, that has a strategy for understanding how it's

  72. 15:54

    gonna change the system. And it's gonna be very clear so that we can even use maybe a smaller, faster, or cheaper model to implement it because we've spent the time in the research and plan phase to really understand what we're gonna be doing once we get to implementing the change.

  73. 16:11

    And when we come to implementing the change, we now can start over a new session and give it just the plan execution. It allows us to keep the context in that session very low.

  74. 16:21

    It allows us to carefully review each change, and I think commit very frequently. Now, I used to work at a company called GitLab for many, many years, uh, so maybe I'm a little biased towards Git, but I think Git can be a huge helper here when it comes to helping you slowly iterate and understand the changes that

  75. 16:39

    the agents are making. I treat Git on my local machine kind of like my own first pull request review with my agents before I maybe put up an actual pull request for my, uh, you know, for my colleagues to look at.

  76. 16:55

    But I think, again, it's critical to understand here that human research at the planning-- or sorry, human time at the planning and research phases is really the highest, highest leverage use of your time.

  77. 17:08

    By the time you're implementing, you wanna have all that hard thinking done. Uh, and that's really critical because again, going back to Dex Horthy, who's, who's spoken a lot on this subject, and, uh, I highly recommend you check out his You- you know, videos of him on YouTube talking about this.

  78. 17:22

    He says very aptly that AI can't replace thinking. It can only amplify the thinking you've done or the lack of thinking you haven't done or h- you know, the fact that you haven't thought it through.

  79. 17:34

    And so let's talk about how we configure our agents, kind of like one more step down from this, this, uh, paradigm of research, plan, implement to really make sure we do this.

  80. 17:44

    So first, we talked about modes and customizations. We already talked about these modes, ask, code, architect, these modes that are specialized and focused on the thing that we're trying to get done, right?

  81. 17:55

    Architect is maybe for planning. Ask mode is for research. Code mode is for actually implementing. Uh, then we also wanna have, you know, a set of rules that make sense for our workspace, right?

  82. 18:07

    For the, the repository we're in, uh, or maybe globally on our machine so that we understand, you know, that we have a certain set of rules that we always want to adhere to.

  83. 18:18

    Uh, and agents are pretty good at loading in and understanding those rules, uh, but we have to have them written down for them to have those in their context, right?

  84. 18:28

    And so I think a lot of the agent behavior then is-- are things that we wanna tweak as we're learning, right? How many-- Do we wanna do multiple agents at a time?

  85. 18:37

    Do we want those agents to use work trees so that we can then, again, merge them back in to our local, uh, repository locally before committing them to, to a pull request?

  86. 18:50

    Uh, how much do we wanna auto-approve, right? So most agents have the ability to tune, you know, what are the things that it can do independently? What are the tools it can use independently?

  87. 18:59

    Can it read files? Can it read files inside or outside of the workspace? Uh, can it run tests? You know, what can the agent do autonomously without your intervention versus what do you need to approve?

  88. 19:11

    And I think this is something that you have to set up to be comfortable with in the beginning, and then also you need to be comfortable changing as you learn how to use these tools.

  89. 19:21

    And I think a good mental model, um, for this agent configuration is maybe kind of three distinct buckets, right? We talked about m-modes, right? This is that, that role-based configuration, you know, a, a behavior of an agent that we want.

  90. 19:35

    Uh, but there's two other really cr-- key things, and that is the AGENTS.md and then SKILLS.md that you'll hear about. Uh, and so what are those-- what's the difference between the two?

  91. 19:45

    Well, the AGENTS.md is now quickly becoming the de facto standard for where all agents go kind of for their README, for the, like, always on rules and details about the project.

  92. 19:57

    Uh, so I think it's critical that your project has an AGENTS.md with a minimal amount of information that an agent needs to know about, you know, what are the conventions that we're using?

  93. 20:06

    What are the commands that we're using to get it built or tested? And, like, what are the requirements around testing, uh, or requirements that we need to be sure to check off before committing?

  94. 20:17

    And then skills are kind of more of a specific workflow, right? So there's reusable kind of playbooks for agents. So if there's something that you're doing a lot, you're making motion graphics with your motion often, or you're, um, you know, doing some sort of like, uh, daily or weekly or monthly change log compiling.

  95. 20:38

    Those kinds of things are great to put in as skills that an agent can then pick up when it needs it to do those specific kinds of workflows. And so typically, those are on demand and you say, "Hey, let's use this skill for this task," versus the agents is almost always loaded into the context for the agent,

  96. 20:57

    so it knows what's going on. And then, of course, I, I work at Kilo Code, and so I've got some power user tips there. Um, but I think some of these-- many of these apply, you know, depe-- regardless of which agent you're using.

  97. 21:09

    But I think they're critical as you kind of get comfortable with those first kinds of paradigms, how do I now customize this and make it work for me? And one is @ mentioning for context.

  98. 21:19

    So mentioning files or commits or, you know, things from the terminal that output. Those kinds of things and bringing them into the context quickly are really helpful. Uh, using slash commands to do things like starting a new task when we need to or condensing the context when it's getting too full.

  99. 21:38

    Uh, those kind of quick commands can help us move a lot faster. Uh, we also can, if we're working in, in VS Code, uh, with Kilo Code, we can select, uh, a section of, of code and right click and say add to Kilo Code, and then that context is brought right in there, and I can then talk

  100. 21:54

    or ask or, uh, questions about tho- that code or ask the agent to change a certain part about that code. Uh, and then of course, we have autocomplete built in as well, which I think is still useful, especially because we also have it not just in code, but as you're prompting.

  101. 22:11

    And then kind of beyond the IDE, I think we're seeing, you know, also this shift this year in, you know, where else do I wanna be able to use this?

  102. 22:20

    In the CLI, from my mobile phone, in a cloud agent, directly in Slack, right? The ability to kind of use these agents wherever you are is something that's becoming more expected, uh, of, of everyone and everyone's agents.

  103. 22:34

    And I think that's a good thing. I think that means that we're starting to learn how we can use this, these agents, again, more like a collaborator that's everywhere that we need to be.

  104. 22:47

    And then one other thing that I wanna talk about, um, are-- is getting other context things in. First of all, model context protocol, right? Context is right in the name.

  105. 22:56

    Um, the idea of this is, you know, fundamentally, these models originally can only, like, uh, receive input tokens and create output tokens, right? Uh, and slowly but surely, we've been enabling them to use tools where they can, you know, make tool calls out, uh, and affect things in the environment, like running tests.

  106. 23:16

    Uh, the MCP, the concept of MCP basically expands this to say, "Hey, I wanna give the agent other tools," right? For instance, the GitHub MCP gives the agent a lot of tools to interact with the GitHub API, look up pull requests, um, look up comments, look up issues, and understand a lot more about your, your GitHub environment,

  107. 23:36

    right? Um, or Context Seven helps it look for up-to-date framework documentation because, of course, as you know, the LLMs kind of have a cutoff date where their knowledge cuts off, and then anything that's improved since then, they don't know about.

  108. 23:51

    Um, so these MCP servers can be very helpful, and there's, there's thousands of them out there. Uh, but the concern is that every one of them is going to add at least some information, right?

  109. 24:01

    Details about those tools that it has to the system prompt that gets sent every time, uh, you're having an interaction with an agent. And so you wanna make sure if you're not actually using that to disable it, right?

  110. 24:13

    Let's say I have a Postgres MCP that connects to my database, and I'm doing a whole bunch of frontend work that doesn't involve the database at all. Well, that Postgres MCP is just gonna be wasted tokens and maybe even worse, tokens that help, you know, kinda confuse the agent and, and not understand that it's not supposed to

  111. 24:29

    touch the database right now. Uh, so we wanna be really careful to not, like, overuse MCPs. And then another thing we hear from, um, enterprises a lot is how do we work with internal platform APIs?

  112. 24:43

    Uh, and I think that, you know, there's kind of four different ways of doing that. One, if there's already an OpenAI, OpenAPI spec for it or Swagger spec, use that.

  113. 24:53

    If there's not, then convert it to Markdown so that you can save that Markdown, you know, in the AGENTS.md or somewhere else in the repository to reference it. Uh, and if it's something that changes a little bit more frequently, maybe you do need to have like a reference URL that you can pull in, uh, and have the

  114. 25:09

    agent go pull every time to see the latest and greatest. Uh, and then we've seen some customers who, you know, have complex multi-step, multi-system workflows where building their own MCP server might be the right choice.

  115. 25:22

    But, you know, one way or another, I think the, the key is to when working alongside Kilo or any of these agents, you know, isolate your work from the agent's work and then review that agent's work as a pull request, right?

  116. 25:35

    That helps you understand, you know, how can I, um, best review the code just like I would review a junior engineer's code?

  117. 25:48

    And so that's really the presentation that I have on Kilo. We've got some exciting new features coming up. We've got, you know, expanded across all these surfaces. Uh, we also have a big focus on OpenClau and KiloClau and making a very safe way to use, um, OpenClau agents.

  118. 26:06

    Uh, and so if you haven't taken a look at Kilo, I've just-- little plug at the end here, visit kilo.ai, uh, and we'd love to get your feedback on what we're building.

  119. 26:16

    And, you know, just kinda to give you, you know, where we go from here, again, I think you've kinda gotta pick a tool and get lots of reps, right?

  120. 26:24

    We said earlier on that, you know, it's part art and part science, and I think that just means you need a lot of reps, right? To kinda get the feel for what can I trust the models to do and what can't I trust the models to do.

  121. 26:36

    Uh, and then try this research plan implement feedback loop, see how that works for you. Um, and I think maybe you'll end up like some of these other senior engineers who have said, "Hey, look, I'm having more fun programming now than I've had in, in years and years," uh, as we, you know, farm out some of this

  122. 26:54

    tedious work to AI agents and let our brains work on the harder engineering problems.

  123. 27:01

    Thanks.