Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Coding with AI: How to trust the storyteller (A...
Search
Slobodan Stojanović
October 22, 2026
Programming
13
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Coding with AI: How to trust the storyteller (AWS Community Day Adria, Ljubljana 2026)
Slobodan Stojanović
October 22, 2026
More Decks by Slobodan Stojanović
See All by Slobodan Stojanović
AI Agents: How Do They Work and How to Build Them @ Shift 2025
slobodan
0
230
Prompt Engineering for Developers @ AWS Community Day Timișoara
slobodan
0
180
AI Agents with JavaScript
slobodan
0
490
Prompt Engineering for Developers @ AWS Community Day Adria 2024
slobodan
0
350
From 1 to 250 Lambda Functions in Production: Evolving a Startup Serverless Architecture @ Serverless Days Milan
slobodan
0
230
Building Production-Ready Apps with AI
slobodan
0
370
Advanced GraphQL Architectures: Serverless Event Sourcing and CQRS @ ReactSummit
slobodan
0
330
CofounderGPT - Can an AI be a better co-founder than a human?
slobodan
0
250
From 1 to 201 Lambda functions in production: Evolving a serverless startup architecture
slobodan
0
380
Other Decks in Programming
See All in Programming
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
440
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
430
Verilogで学ぶCPU自作入門
uyuki234
8
4.2k
コーディング自動化の次へ。人の介入をゼロにするファクトリーとサポートAIによる実践
timakin
5
4k
Railsバージョンを4倍にした話
optim
0
460
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
380
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
350
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
380
パスワード再設定メールのURLについて知っておこう
uyuki234
0
160
sbt 2.0: takeoff
eed3si9n
0
160
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
510
TechTown - Creating Composable Callables in Contemporary C++
rollbear
0
130
Featured
See All Featured
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
730
Speed Design
sergeychernyshev
33
2.2k
BBQ
matthewcrist
90
10k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
290
Utilizing Notion as your number one productivity tool
mfonobong
4
620
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
The SEO Collaboration Effect
kristinabergwall1
1
590
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
600
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
380
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
330
How STYLIGHT went responsive
nonsquared
100
6.3k
Google's AI Overviews - The New Search
badams
0
1.6k
Transcript
Do you still know how to write a "Hello World"
in JavaScript or Python? Ok, Ok, that was a bit too much.
When was the last time you manually wrote a significant
amount of code?
Do you read code generated by AI agents?
I still do*. But why?
How do you read that amount of code?
Custom software is cheap! So, I built a custom code
review tool.
https://hawkshaw.dev
Ok, but a code review phase is too late. It's
catching problems, not preventing them.
How do you make Claude Code, Codex or any other
coding agent do what you actually want it to do?
The first obvious pick is to add instructions to Claude.md
or Agents.md. That should work, right?
I found this in the Claude.md file of our marketing
website
Should we give Claude Code a Twilio API key so
it can call Dejan?
A year ago Also, back in the day, Claude Code
sometimes lost context from Claude.md.
A friend added an instruction that tells Claude Code to
start each reply with "Izvolte!" ("Here you go!" in Serbian)
So, Claude Code decided to start replying in… Russian?!
Coding with AI How to trust the storyteller
But who am I to talk about that?
Slobodan Stojanovic cofounder/CTO @ Vacation Tracker @slobodan_
None
let's get back to AI agents
Can you simply use AI agents to check the output
of your AI agents?
Let's talk about deterministic vs non-deterministic checks
deterministic: same input = same output
deterministic: same input = same output
deterministic: same input = same output
deterministic: same input = same output
non-deterministic: same input = maybe different output
non-deterministic: same input = maybe different output
non-deterministic: same input = maybe different output
non-deterministic: same input = maybe different output
LLMs are storytellers. And they are very good ones.
But they tell a different story every time.
“Never trust the storyteller. Only trust the story.” Neil Gaiman
What's the alternative?
Custom linter rules?
btw, check OXlint Custom linter rules are so hard to
write manually. But that's Claude's problem now, not mine.
Good Custom linter rules are even harder to write manually.
Again, Claude's problem, not mine.
E.g., instead of an error: x is forbidden linter can
say: avoid using X because of something use Y instead
E.g., instead of an error: unquoted-paren-in-label linter can say: an
unquoted '(' in a bracket label starts a shape token, so the parse fails mid-label; restructure with a comma or colon, or quote the whole label.
We can run linter rules in a pre-commit hook. But
it's still catching problems, not preventing them.
It would be great if Claude Code could run a
"pre-commit" hook after each change...
And, of course it can.
None
None
None
Like automated code review We could tell Claude Code to
run our linter on modified files and fix problems before we ever see them.
But this "PreToolUse" hook is especially interesting. Can we use
it to run an automated check to determine whether a specific edit or action should be allowed?
None
What's a regulator?
Claude: Can I do "ls -la" in a workspace folder?
Regulator: YES
Claude: Can I run this looong Python script? Regulator: No,
simplify it.
None
This simplifies the review process. But we still need testing,
right? Yes! More than ever. But can we automate part of it?
Can an agent do auto-verification? And maybe also record a
demo video?
Yes, but it needs a test environment. And we definitely
don't want it to access our production.
What should we trust an agent with?
NOTHING
Because of vulnerabilities in dependencies, prompt injections, Anthropic/OpenAI, storytelling, and
many, many other things.
Check OrbStack on Mac I always run my agents in
(Docker) containers. It's not perfectly safe, but it's better than nothing.
But what do you do if your laptop can't run
all these local containers? I never said they have to be local.
An EC2 instance can be your "agent sandbox." Anything you
can connect to remotely and run Claude Code in works.
But how to connect to your container? I use ghostty
+ tmux
But how to connect to your container? I use ghostty
+ tmux
But what do you do to access data in an
AWS account or deploy an application for testing?
aws sso login --profile readonly
Or give your agents access to AWS sub-account (s). But
be very careful with permissions and deployment flow, e.g., no direct access, but via some CICD process
Once agents have an environment, they can record a demo
(provide proof) for you!
This gives you automation that reduces your time. But it's
still not ideal.
This gives you automation that reduces your time. But it's
still not ideal. 2 prompts = 100% of 5-hour limit 50% of weekly fable limit and 25% of weekly limit
It can be expensive and waste many, many tokens.
Unless we adjust our planning for human review and agent
implementation. How do we do that?
1. Define what we want. 2. Prepare an exact plan
for Claude Code.
1. Define what we want. Commander's Intent
Commander's Intent: - Purpose: Why personnel must complete the assignment.
- Task: What the objective or goal entails. - End state: How the result should look.
Better version "Considerations in Communicating intent" Sources of Power: How
People Make Decisions Book by Gary Klein
"There are seven types of information that a person could
present to help the people receiving the request to understand what to do" Sources of Power Book by Gary Klein
1. The purpose of the task (the higher level goals)
2.The objective of the task (an image of desired outcome) 3.The sequence of steps in the plan 4.The rationale for the plan 5.The key decisions that may have to be made 6.Antigoals 7.Constrains and other considerations
Prepare feature skill: Ask an agent to interview you until
you have all 7, or enough to build a feature plan.
None
UX skill: Build a prototype to test it out (and
apply Kathy Sierra's Badass principles)
None
Agent planning skill: Convert these two into a proper agent
plan. What's a proper agent plan?
A parsable markdown file. + A workflow file
Claude Code defines agent workflows on the fly in state-function-like
JavaScript code. And Claude Code knows how to write it.
None
So, our agent plan should prepare that and define the
effort and model.
Remember this?
3 hours of planning. 4 hours and 9 minutes of
Claude Code work. 2 days of reviewing. It would take me at least 3-4 weeks to write it manually.
Custom software is cheap! So, I built a custom agent
workflow review tool.
None
None
None
None
None
I lied, it was 290 agents instead of 207
SUMMARY
1. There are no right or wrong things to do.
Build a workflow that works for you. 2. Never trust the storyteller. Only trust the story. 3.
Questions? https://slobodan.me @slobodan_
Questions? https://slobodan.me @slobodan_