Navigate this article
Using artificial intelligence in engineering does not mean handing product direction to a model. It means building an environment where intent, context, execution, and evaluation work together.
A methodology is not a collection of names
I do not treat each concept as an isolated recipe. SDD, context engineering, evaluations, and human review solve different parts of the same problem: turning intent into reliable software without losing traceability.
The combination changes with the project. An institutional website does not need the same process as a financial system, an automation with customer data access, or an agent able to take external actions.
Spec Driven Development
In specification driven development, the team records what must be built, constraints, acceptance criteria, and relevant decisions before relying on code as the only source of truth.
In practice, I use a sequence close to intent, specification, plan, tasks, implementation, and validation. Detail grows with risk. A good specification does not need to be long; it needs to remove the ambiguity that would create rework.
I use SDD to align people and agents. The specification guides the work while remaining open to review when context changes.
Loop Engineering and Harness Engineering
Loop Engineering organizes cycles in which an agent plans, executes, observes tests or results, and decides the next step. The value is not repetition, but designing a loop with reliable signals for success and failure.
Harness Engineering expands that idea. The focus becomes the environment in which the agent works: documentation, tools, permissions, tests, observability, constraints, and review points. Humans define intent and controls; agents execute within that space.
Context Engineering and RAG
Context Engineering manages the information reaching the model: instructions, files, history, tools, memory, and retrieved data. More context is not necessarily better. Quality depends on selecting what matters for the current decision.
RAG is one way to retrieve external information before generating a response. It is useful when a system needs documentation, internal knowledge, or changing data. It is not mandatory for every product and does not replace authorization, source validation, or access rules.
Agentic Workflows and multi agent systems
A workflow follows paths defined by software. An agent dynamically decides how to use tools and achieve a goal. I prefer workflows for predictable processes and agents when flexibility justifies cost, latency, and risk.
Multi Agent Collaboration can split planning, implementation, security, and evaluation across specialized agents. It only makes sense when that division improves the result. For many problems, one agent with clear tools is simpler and more reliable.
Evaluation driven development
Before changing prompts, models, or rules, I define representative examples of expected behavior. Evaluations can verify answers, tool use, security, cost, latency, and correct task completion.
Real failures become new test cases. The system improves from operations without relying only on the feeling that a response looks good.
- Offline evaluations before a change reaches production.
- Observability and tracing for agent decisions.
- Datasets built from real cases and failures.
- Quality, cost, and response time comparisons.
Human in the Loop, permissions, and responsibility
Human review does not need to interrupt every action. It should exist where a decision can affect money, data, customers, security, or other people.
The system should also limit which tools an agent can use, request approval for sensitive actions, and record what happened. Useful autonomy is autonomy with understandable boundaries.
Long running agents and structured handoffs
Long tasks cross context windows and sessions. To preserve continuity, I use plans, progress records, verifiable state, and artifacts that help the next cycle understand what has already been done.
A recent architecture combines planning, execution, and evaluation agents. The evaluator turns subjective or functional criteria into concrete checks. This can improve quality, but it also increases cost and complexity, so it should be proportional to task value.
How I apply this to projects
I start with the problem and risk, not the tool. I define what must be true for the work to be complete, organize context, choose the automation level, and create signals that make the result assessable.
The method should make the work clearer for the client and for whoever continues the product. If a practice adds ceremony without improving decisions, safety, or delivery, it should be simplified.
Sources and further reading
This material presents my working approach and is educational. The right solution depends on the context, risks, and responsibilities of each project.
Share

