AI
Implement harness engineering to ensure high-quality, sustainable software development.
- Disclaimer: The title above is not the title of the video. The Modern Software Engineering channel has tended toward click-/rage-bait titles that don’t convey what the video is about.
- The harness’ job is to constrain AI so that it comes up with good quality code and tests that do what you want.
- See https://martinfowler.com/articles/harness-engineering.html
- Guides give the LLM advice before it starts writing code. Sensors gives feedback after code generation. (These should be deterministic.) Harness engineering is building these out and refining them over time.
- Learn to make your own harness, especially when just starting out with agentic AI. With this approach, you know what you have and can adapt it to your unique needs.
- Many people still treat AI as auto-complete on steroids. I agree with Emily; turn it off — huge distraction.
- If you start with poorly designed code and tests, the agent tends to copy those patterns.
- Consider paring back the guides as (1) the models improve, (2) there’s more good code than bad code.
- https://www.augmentcode.com/blog/how-to-write-good-agents-dot-md-files — A/B testing of with and without harness to see what’s still needed.
The AI Skills Nobody is Teaching (And Everyone Needs) | AI Expert Ethan Mollick
- AI folks generally fall into two camps: doomers, zealots. The middle ground involves being pragmatic.
- Getting overwhelmed by how you should be using it leads to shutting down. It’s all too much already.
- Most of the things we told people to do with AI in the last 18 months don’t matter anymore. If you’re good at giving instructions (human to human), you’ll likely be fine.
- All systems seek equilibrium at some point.
- The people that care about AI are the knowledge workers. These people will not give up easily.
- “I like thinking. I enjoy making my head hurt with difficult things. I enjoy learning.”
- You have to lift mental weights to learn; AI shortcuts the learning.
- We are discomfort avoidant. We are end-result oriented.
- Human systems are not built for an AI world. These revolutions aren’t new, but it’s happening everywhere all at once.
- Being good at something made you stand out. But if now most people can be generically good, how do you stand out in the market? Having a sense of taste, that is some meaningful variety in a sea of AI sameness. Experience helps build this sense.
- We give up things we used to be able to do. We face the same choice about what’s valuable and what’s not.
- Education teaches you to think critically, to argue with people that know way more than you.
- If we don’t pay attention we could make bad choices.
- It’s all going to work out vs it’s all going to blow up — neither of those extremes are likely.
- Find ways to use it in a positive way in your own work. Expand rather than replace/automate.
Consulting
This book is an excellent collection of tips and observations collected over Gerald Weinberg’s multi-decade career. As a consultant I recognize several of the themes the book presents, and it’s given me ideas of how to shift my thinking when working with clients.