Thursday, June 19, 2025

No AI at coding interviews: Prioritizing algorithmic thinking

When evaluating senior engineer candidates, it's vital to focus on pure algorithmic thinking rather than their ability to manipulate AI tools. The essence of a senior-level engineering role rests on creative problem-solving, thoughtful reasoning, and an in-depth understanding of algorithms. Relying on AI during live coding assessments risks masking a candidate's true capability. If a candidate solely depends on AI-generated solutions, it becomes difficult to gauge whether they possess the foundational skills necessary for high-level design and complex decision-making.

There’s a compelling argument for designing interviews that first filter for candidates who demonstrate strong independent cognitive processes. Once that baseline is established, integrating AI coding tools into later evaluation stages—such as onboarding or specialized training programs—can be a valuable extension. This phased approach ensures that candidates have proven their capacity for raw problem-solving and originality before leveraging AI as a productivity tool. In this way, the interview process remains a pure measure of human ingenuity while aligning with an evolving, AI-supported workplace culture.

Critics of a strict no-AI policy in technical interviews point out that the modern workplace increasingly relies on AI to boost productivity and streamline tasks. They argue that an “AI-first” culture is not just the future, but the present, necessitating that candidates show proficiency in guiding AI to produce optimal results. However, there is a clear distinction between using AI for supplementary functions, such as refreshing syntax knowledge or aiding in non-critical tasks, and relying on it to do the heavy cognitive lifting of problem solving. A candidate who enhances their thinking with AI might still possess excellent strategic skills, but the immediate challenge remains: identifying true algorithmic talent without any external computational aid.

The ideal hiring process should strike a balance—ensuring that candidates can solve tasks independently while gradually introducing AI-based tools as part of their professional development. This approach not only validates their deep-rooted technical abilities but also ensures that they are well-equipped to integrate with a future-facing, AI-augmented work environment. Ultimately, the best engineers will be those who showcase exceptional problem-solving prowess first and then learn to harness AI to amplify their contributions. 

Thursday, June 5, 2025

AI agents: Data, Action and Orchestration

Let's explore how modern AI agents are built using three broad categories of tools—Data, Action, and Orchestration—and then see how these relate to concepts like retrieval augmented generation (RAG) and memory, along with the collaborative architectures of multi-agent systems.

1. Types of AI Agent Tools

  • Data Tools Data tools are the workhorses for gathering, processing, and refining information. They enable agents to query databases, retrieve web data, or parse documents, creating the critical knowledge base an AI uses to generate insights. In many applications, these systems incorporate retrieval augmented generation (RAG) techniques. Traditional RAG methods pull in relevant external information to support generative models, while agentic RAG goes further by granting the agent autonomy—allowing it to decide when and what additional data to retrieve based on its goals. This dynamic retrieval makes the process not only reactive but also proactive in achieving task-specific outcomes.

  • Action Tools Action tools empower an AI to affect change in its environment. They include APIs, control systems, or robotic actuators that transform decisions into real-world or digital actions. These tools enable the agent not just to talk about tasks but to execute them: from sending messages and updating records to controlling machines or interfacing with other software systems.

  • Orchestration Tools When complex tasks require multiple specialized agents or modules, orchestration tools step in as the conductors of the system. They manage workflows, coordinate tasks among various sub-agents, and ensure that all actions align with the overarching goals. This coordination is crucial in systems where different processes must work together seamlessly—whether they’re organized in a hierarchy or running in parallel.

2. Data vs. Agentic RAG

In traditional RAG, the agent uses a fixed strategy to retrieve information—essentially tapping into a data reservoir to enhance its responses. In contrast, agentic RAG embodies a more dynamic approach. Here, the agent actively determines what to fetch, when to fetch it, and how best to integrate that data into its outputs. This level of agency means the retrieval process adapts in real time, tailored to the context of the ongoing task and the agent’s evolving objectives.

3. Memory in AI Agents

Memory plays a pivotal role in the effectiveness of AI systems:

  • Short-Term Memory This is the agent’s active workspace. It holds context during a conversation or session, enabling the AI to keep track of the immediate flow of information and maintain coherent interactions over the span of a single task or dialogue.

  • Long-Term Memory In contrast, long-term memory allows the agent to store information across multiple sessions. This could include user preferences, historical interactions, or accumulated experience. By leveraging long-term memory, AI agents can offer more personalized service over time and adapt their behavior based on past interactions.

4. Multi-Agent Architectures

Modern AI systems often deploy collaborative architectures to manage complex tasks:

  • Multi-Agent Crews These are teams of agents that work on different aspects of a problem concurrently. Each agent may specialize in a particular domain, and together they pool their expertise to handle intricate or multifaceted challenges.

  • Hierarchical Systems In a hierarchical setup, agents are arranged in layers. Higher-level agents set strategic goals and delegate tasks to lower-level ones, which handle more granular, tactical operations. This structure mirrors organizational hierarchies where executive decisions filter down to operational actions.

  • Parallel Agents With parallel agents, multiple entities operate concurrently and independently on different subtasks. Their outputs are later integrated, enabling the overall system to perform large-scale tasks efficiently without the bottlenecks of serial processing.

Bringing It All Together

By combining data tools (especially those enhanced by agentic RAG), action tools, and orchestration tools, modern AI agents achieve a balance between data-driven insight and effective execution. Integrating short-term and long-term memory enhances contextual understanding and personalization, while multi-agent architectures—whether it be multi-agent crews, hierarchical systems, or parallel agents—allow for scalable and adaptive problem-solving. These design principles are key in enabling AI to operate with both autonomy and cohesion, dynamically adjusting its strategy to meet evolving challenges.