<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: manoj mallick</title>
    <description>The latest articles on DEV Community by manoj mallick (@manoj_mallick_71d0dd7eaa6).</description>
    <link>https://dev.to/manoj_mallick_71d0dd7eaa6</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3644268%2F1688e096-358c-4a13-a0b3-78c18bae8a7a.jpg</url>
      <title>DEV Community: manoj mallick</title>
      <link>https://dev.to/manoj_mallick_71d0dd7eaa6</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/manoj_mallick_71d0dd7eaa6"/>
    <language>en</language>
    <item>
      <title>I Built an AI Agent That Sits in Your Incident War Room and Writes DORA Compliance Reports in Real Time</title>
      <dc:creator>manoj mallick</dc:creator>
      <pubDate>Mon, 16 Mar 2026 22:48:30 +0000</pubDate>
      <link>https://dev.to/manoj_mallick_71d0dd7eaa6/i-built-an-ai-agent-that-sits-in-your-incident-war-room-and-writes-dora-compliance-reports-in-real-23m5</link>
      <guid>https://dev.to/manoj_mallick_71d0dd7eaa6/i-built-an-ai-agent-that-sits-in-your-incident-war-room-and-writes-dora-compliance-reports-in-real-23m5</guid>
      <description>&lt;h2&gt;
  
  
  The 5 AM Problem
&lt;/h2&gt;

&lt;p&gt;It's 3 AM. Your payment gateway is down. 73,000 customers can't transact. Your engineers are in a war room, screaming service names, error codes, and blast radius numbers at each other over a Zoom call.&lt;/p&gt;

&lt;p&gt;You fix it by 4 AM. Good.&lt;/p&gt;

&lt;p&gt;Now comes the other clock. Under &lt;strong&gt;EU DORA Article 11.1(a)&lt;/strong&gt;, you have &lt;strong&gt;4 hours from incident classification&lt;/strong&gt; to notify your competent authority. That means someone — usually the most senior compliance person — has to reconstruct everything that happened from memory, channel logs, and a half-dozen Grafana screenshots, and turn it into a structured regulatory report. By 5 AM. While still exhausted.&lt;/p&gt;

&lt;p&gt;That report currently takes &lt;strong&gt;4+ hours&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I built &lt;strong&gt;ARIA (Automated Regulatory Incident Analyst)&lt;/strong&gt; to do it in &lt;strong&gt;under 8 minutes&lt;/strong&gt;, live, while the incident is still happening.&lt;/p&gt;




&lt;h2&gt;
  
  
  What ARIA Does
&lt;/h2&gt;

&lt;p&gt;ARIA joins the incident call as a silent agent. It:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Listens&lt;/strong&gt; to every spoken word via the Gemini Live API — hearing service names (&lt;code&gt;payment-gateway-v2&lt;/code&gt;), error codes (&lt;code&gt;503&lt;/code&gt;, &lt;code&gt;EXHAUSTED&lt;/code&gt;), and impact numbers (&lt;code&gt;73,000 users&lt;/code&gt;, &lt;code&gt;7.3% failure rate&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Watches&lt;/strong&gt; engineers' screens every 5 seconds — reading Grafana dashboards, kubectl output, alert panels&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Builds&lt;/strong&gt; the DORA Article 11 report in real time, section by section, as evidence comes in&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Switches persona&lt;/strong&gt; based on who's speaking — gives technical commands to engineers, cites exact regulatory clauses to compliance officers, and speaks plain business language to executives&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Triggers a 4-hour countdown clock&lt;/strong&gt; the moment the DORA threshold is crossed (&amp;gt;5% transaction failure rate)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By the time the incident is resolved, the compliance report is already written.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Hard Part: Gemini Live API on AI Studio
&lt;/h2&gt;

&lt;p&gt;This challenge had one brutal technical constraint: the Gemini Live API (&lt;code&gt;bidiGenerateContent&lt;/code&gt;) is only available on &lt;strong&gt;native-audio models&lt;/strong&gt; on AI Studio keys. Specifically: &lt;code&gt;gemini-2.5-flash-native-audio-latest&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;These models support real-time bidirectional audio streaming and produce &lt;code&gt;inputTranscription&lt;/code&gt; of what participants say — but they &lt;strong&gt;cannot emit structured JSON text output directly&lt;/strong&gt;. They're designed for voice-to-voice applications, not voice-to-JSON pipelines.&lt;/p&gt;

&lt;p&gt;My first 8 attempts at the architecture failed:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Version&lt;/th&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;Config&lt;/th&gt;
&lt;th&gt;Result&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;v1&lt;/td&gt;
&lt;td&gt;&lt;code&gt;gemini-2.0-flash&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;startChat()&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;No Live API in old SDK&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;v2&lt;/td&gt;
&lt;td&gt;&lt;code&gt;gemini-2.0-flash-live-001&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;correct config&lt;/td&gt;
&lt;td&gt;1008 — not found on AI Studio&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;v3–v4&lt;/td&gt;
&lt;td&gt;various flash models&lt;/td&gt;
&lt;td&gt;bidiGenerateContent&lt;/td&gt;
&lt;td&gt;1008 — model not available&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;v5&lt;/td&gt;
&lt;td&gt;native-audio&lt;/td&gt;
&lt;td&gt;TEXT modality&lt;/td&gt;
&lt;td&gt;1007 — "Cannot extract voices"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;v6&lt;/td&gt;
&lt;td&gt;native-audio&lt;/td&gt;
&lt;td&gt;AUDIO+TEXT + systemInstruction&lt;/td&gt;
&lt;td&gt;1007 — "Invalid argument"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;v7&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;native-audio&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;AUDIO only, no systemInstruction&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;✅ Session stays open&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The breakthrough was understanding that &lt;code&gt;gemini-2.5-flash-native-audio-latest&lt;/code&gt; is a &lt;strong&gt;voice-to-voice model&lt;/strong&gt;. It will reject TEXT modality and reject &lt;code&gt;systemInstruction&lt;/code&gt; in the live config. You must give it &lt;code&gt;responseModalities: ['AUDIO']&lt;/code&gt; and nothing else.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Hybrid Architecture
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Gemini Live  (gemini-2.5-flash-native-audio-latest)
  responseModalities: ['AUDIO']   ← stays open
  → inputTranscription fires per speech turn
  → on turnComplete → transcript string

generateContent (gemini-2.5-flash)
  systemInstruction: ARIA_ANALYST_PROMPT
  responseMimeType: 'application/json'
  contents: [{ role: 'user', parts: [{ text: transcript }] }]
  → structured IncidentEvent JSON
  → Zod validation → Pub/Sub → 3 ADK agents → SSE → browser
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Two models working together: the Live session handles the real-time audio stream and transcription, and a separate &lt;code&gt;generateContent&lt;/code&gt; call handles the structured reasoning. Each does what it's actually good at.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// listenerAgent.js — the key insight&lt;/span&gt;
&lt;span class="nx"&gt;session&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;ai&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;live&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;connect&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;model&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;gemini-2.5-flash-native-audio-latest&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;config&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;responseModalities&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;AUDIO&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="c1"&gt;// No systemInstruction here — live model = transcription only&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="na"&gt;callbacks&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;onmessage&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;message&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;sc&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;message&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;serverContent&lt;/span&gt;
      &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;sc&lt;/span&gt;&lt;span class="p"&gt;?.&lt;/span&gt;&lt;span class="nx"&gt;inputTranscription&lt;/span&gt;&lt;span class="p"&gt;?.&lt;/span&gt;&lt;span class="nx"&gt;text&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nx"&gt;transcriptBuffer&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="nx"&gt;sc&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;inputTranscription&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;text&lt;/span&gt;
      &lt;span class="p"&gt;}&lt;/span&gt;
      &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;sc&lt;/span&gt;&lt;span class="p"&gt;?.&lt;/span&gt;&lt;span class="nx"&gt;turnComplete&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nx"&gt;transcriptBuffer&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;trim&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nf"&gt;generateIncidentEvent&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;transcriptBuffer&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;trim&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="nx"&gt;incidentId&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="nx"&gt;transcriptBuffer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;''&lt;/span&gt;
      &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  The 5-Agent ADK Pipeline
&lt;/h2&gt;

&lt;p&gt;Once a structured &lt;code&gt;IncidentEvent&lt;/code&gt; JSON lands in Pub/Sub, three Google ADK agents process it sequentially:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Pub/Sub: incident-events
    │
    ▼
[Analyst Agent]       ← root cause, blast radius, severity classification
    │
    ▼  Pub/Sub: incident-analysis
    │
[Compliance Agent]    ← DORA Art. 11.1(a/b/c), SOX 404, notification deadlines
    │
    ▼  Pub/Sub: compliance-mappings
    │
[Reporter Agent]      ← generates 6 report sections, writes to Firestore, broadcasts via SSE
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The Reporter Agent generates each section with a targeted prompt — Timeline, Blast Radius, Root Cause, Regulatory Obligations, Remediation, and Executive Summary — and broadcasts them live via SSE. Each section appears in the browser as it's generated, creating the "report building before your eyes" effect.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Infrastructure
&lt;/h2&gt;

&lt;p&gt;Everything is Terraform-provisioned on GCP:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cloud Run&lt;/strong&gt; — containerised Node.js 20, min-instances=1, CPU always-on (critical for WebSocket longevity)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cloud Pub/Sub&lt;/strong&gt; — 4 topics + 4 DLQ topics for the agent chain&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Firestore&lt;/strong&gt; — incident state and report sections&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cloud Build&lt;/strong&gt; — CI/CD: &lt;code&gt;git push main&lt;/code&gt; → build → deploy → new revision&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Artifact Registry&lt;/strong&gt; — Docker image store&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Secret Manager&lt;/strong&gt; — &lt;code&gt;GEMINI_API_KEY&lt;/code&gt; never in plaintext env vars&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One command to provision everything:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;terraform
terraform apply &lt;span class="nt"&gt;-var&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"project_id=YOUR_PROJECT"&lt;/span&gt; &lt;span class="nt"&gt;-var&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"gemini_api_key=YOUR_KEY"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  What a Real Incident Looks Like
&lt;/h2&gt;

&lt;p&gt;You open ARIA, type the incident title, and click &lt;strong&gt;Start Incident&lt;/strong&gt;. Then click &lt;strong&gt;Start Listening&lt;/strong&gt; — the browser requests microphone permission and immediately begins streaming PCM audio at 16kHz to the server via WebSocket.&lt;/p&gt;

&lt;p&gt;You say into your microphone:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"payment-gateway-v2 is throwing 503 errors, postgres connection pool is exhausted, 73,000 users affected, 7.3 percent transaction failure rate"&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Seconds later:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The &lt;strong&gt;transcript card&lt;/strong&gt; appears in the Live Transcript panel — raw quote + ARIA's spoken response&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;DORA clock&lt;/strong&gt; switches to orange and starts counting down from 4:00:00&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;DORA Article 11 Report&lt;/strong&gt; panel begins building — Timeline... Blast Radius... Root Cause... Regulatory Obligations (citing exact DORA Article 11.1(a) clause + notification deadline)... Remediation... Executive Summary&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;persona badge&lt;/strong&gt; in the top-right switches based on vocabulary — Engineer → Compliance → Executive&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;When a compliance officer asks &lt;em&gt;"which DORA clause does this trigger?"&lt;/em&gt;, ARIA responds with exact clause citations. When the CEO asks &lt;em&gt;"what do I tell the board?"&lt;/em&gt;, ARIA gives a business-impact summary with no jargon.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Numbers
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Before ARIA&lt;/th&gt;
&lt;th&gt;With ARIA&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Compliance report completion&lt;/td&gt;
&lt;td&gt;4+ hours post-mortem&lt;/td&gt;
&lt;td&gt;Under 8 minutes live&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DORA notification prep&lt;/td&gt;
&lt;td&gt;Manual, from memory&lt;/td&gt;
&lt;td&gt;Automated, from real-time evidence&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Multi-stakeholder communication&lt;/td&gt;
&lt;td&gt;One message for all&lt;/td&gt;
&lt;td&gt;Persona-adapted per audience&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Audit trail&lt;/td&gt;
&lt;td&gt;Channel logs + memory&lt;/td&gt;
&lt;td&gt;Timestamped, structured, Firestore-persisted&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Try It
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Live demo:&lt;/strong&gt; &lt;a href="https://regguardian-908307939543.us-central1.run.app" rel="noopener noreferrer"&gt;https://regguardian-908307939543.us-central1.run.app&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/manojmallick/regguardian" rel="noopener noreferrer"&gt;https://github.com/manojmallick/regguardian&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The repo includes full Terraform IaC, a multi-stage Dockerfile, Zod schemas, and the complete ADK agent pipeline. The README has step-by-step deployment instructions.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I Learned
&lt;/h2&gt;

&lt;p&gt;The biggest lesson: &lt;strong&gt;the Gemini Live API is genuinely different from a text model with audio input&lt;/strong&gt;. It's a voice-to-voice model designed for conversational agents. Trying to use it like a text model (adding TEXT modality, systemInstruction, structured output) breaks the session within milliseconds with a 1007.&lt;/p&gt;

&lt;p&gt;The hybrid architecture — using the Live model purely for transcription and a separate &lt;code&gt;generateContent&lt;/code&gt; call for reasoning — is the correct pattern for building agentic pipelines on top of the Live API. The Live session stays permanently open for as long as the incident lasts. The reasoning model gets invoked once per speech turn.&lt;/p&gt;

&lt;p&gt;Built for the &lt;strong&gt;Gemini Live Agent Challenge 2026&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;#GeminiLiveAgentChallenge&lt;/code&gt; &lt;code&gt;#GoogleCloud&lt;/code&gt; &lt;code&gt;#GeminiAPI&lt;/code&gt; &lt;code&gt;#DORA&lt;/code&gt; &lt;code&gt;#IncidentResponse&lt;/code&gt; &lt;code&gt;#AI&lt;/code&gt;&lt;/p&gt;

</description>
      <category>googlecloud</category>
      <category>geminiliveagentchallenge</category>
      <category>ai</category>
      <category>gemini</category>
    </item>
    <item>
      <title>From Red CI to Green PR — Automatically, Safely, and with Evidence</title>
      <dc:creator>manoj mallick</dc:creator>
      <pubDate>Fri, 06 Feb 2026 21:22:38 +0000</pubDate>
      <link>https://dev.to/manoj_mallick_71d0dd7eaa6/from-red-ci-to-green-pr-automatically-safely-and-with-evidence-4k66</link>
      <guid>https://dev.to/manoj_mallick_71d0dd7eaa6/from-red-ci-to-green-pr-automatically-safely-and-with-evidence-4k66</guid>
      <description>

&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/github-2026-01-21"&gt;GitHub Copilot CLI Challenge&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;I built &lt;strong&gt;copilot-ci-doctor&lt;/strong&gt;, a CLI tool that diagnoses and fixes &lt;strong&gt;GitHub Actions CI failures&lt;/strong&gt; using &lt;strong&gt;GitHub Copilot CLI as its core reasoning engine&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Instead of manually digging through noisy logs and guessing fixes, the tool turns a failed CI run into a structured, evidence-based workflow:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;failure → evidence → reasoning → safe fix → green CI → Pull Request&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Given a failed workflow, copilot-ci-doctor:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Collects a tagged &lt;strong&gt;Evidence Bundle&lt;/strong&gt; (repo metadata, failed jobs, logs, workflow YAML)&lt;/li&gt;
&lt;li&gt;Uses &lt;strong&gt;GitHub Copilot CLI&lt;/strong&gt; to reason about the failure&lt;/li&gt;
&lt;li&gt;Explains &lt;em&gt;why&lt;/em&gt; the CI failed in plain English&lt;/li&gt;
&lt;li&gt;Generates &lt;strong&gt;minimal, safe patch diffs&lt;/strong&gt; with confidence scores&lt;/li&gt;
&lt;li&gt;Iteratively applies fixes until CI passes&lt;/li&gt;
&lt;li&gt;Automatically opens a &lt;strong&gt;Pull Request&lt;/strong&gt; against &lt;code&gt;main&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; log summarization or autocomplete.&lt;br&gt;
Copilot is used as a &lt;strong&gt;reasoning engine&lt;/strong&gt; that must justify its conclusions using evidence.&lt;/p&gt;


&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;40-second end-to-end demo (recommended viewing):&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=6w3kjiRh8as" rel="noopener noreferrer"&gt;https://www.youtube.com/watch?v=6w3kjiRh8as&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://github.com/manojmallick/copilot-ci-doctor#-40-second-demo-end-to-end" rel="noopener noreferrer"&gt;https://github.com/manojmallick/copilot-ci-doctor#-40-second-demo-end-to-end&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;One command → failing CI → Copilot reasoning → safe fixes → green CI → PR&lt;br&gt;
&lt;/p&gt;


&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx copilot-ci-doctor demo
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;What the demo shows:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A demo repository is created with a deliberately broken GitHub Actions workflow&lt;/li&gt;
&lt;li&gt;CI fails ❌&lt;/li&gt;
&lt;li&gt;copilot-ci-doctor enters an automated loop:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;analyzes the failure&lt;/li&gt;
&lt;li&gt;explains the root cause&lt;/li&gt;
&lt;li&gt;proposes a minimal patch&lt;/li&gt;
&lt;li&gt;applies and pushes the fix&lt;/li&gt;
&lt;li&gt;waits for CI to re-run

&lt;ol&gt;
&lt;li&gt;The process repeats (multiple iterations if needed)&lt;/li&gt;
&lt;li&gt;CI turns green ✅&lt;/li&gt;
&lt;li&gt;A Pull Request is automatically opened with the fix&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The demo handles &lt;strong&gt;real GitHub latency&lt;/strong&gt; and shows the full lifecycle, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;multiple CI failures&lt;/li&gt;
&lt;li&gt;diff previews&lt;/li&gt;
&lt;li&gt;iteration scoreboard&lt;/li&gt;
&lt;li&gt;final PR link&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Source code and demo assets:&lt;br&gt;
&lt;a href="https://github.com/manojmallick/copilot-ci-doctor" rel="noopener noreferrer"&gt;https://github.com/manojmallick/copilot-ci-doctor&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;npm package:&lt;br&gt;
&lt;a href="https://www.npmjs.com/package/copilot-ci-doctor" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/copilot-ci-doctor&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  My Experience with GitHub Copilot CLI
&lt;/h2&gt;

&lt;p&gt;This project fundamentally changed how I think about GitHub Copilot.&lt;/p&gt;

&lt;p&gt;Instead of using Copilot to &lt;em&gt;write code&lt;/em&gt;, I used &lt;strong&gt;GitHub Copilot CLI to reason about systems&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Copilot CLI is used to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;analyze CI evidence and form &lt;strong&gt;ranked hypotheses&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;explain failures in plain English (including &lt;em&gt;why CI fails but local passes&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;generate &lt;strong&gt;minimal unified diffs&lt;/strong&gt;, not full rewrites&lt;/li&gt;
&lt;li&gt;attach confidence scores and risk levels to each fix&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To make this reliable:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Every Copilot response must follow a &lt;strong&gt;strict JSON contract&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Every conclusion must reference evidence IDs (E1, E2, …)&lt;/li&gt;
&lt;li&gt;Patch diffs are validated and normalized before being applied&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;single-call mode&lt;/strong&gt; combines analysis + explanation + patch to reduce token usage by ~60%&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The result is a workflow where Copilot behaves less like an assistant and more like a &lt;strong&gt;careful, explainable CI engineer&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This challenge pushed me to think beyond autocomplete and explore how Copilot CLI can safely automate complex, real-world developer workflows.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>githubchallenge</category>
      <category>cli</category>
      <category>githubcopilot</category>
    </item>
    <item>
      <title>From Prompts to Autonomous Ecosystems: My Learning Journey in the 5-Day Google x Kaggle AI Agents Intensive</title>
      <dc:creator>manoj mallick</dc:creator>
      <pubDate>Wed, 03 Dec 2025 23:47:14 +0000</pubDate>
      <link>https://dev.to/manoj_mallick_71d0dd7eaa6/from-prompts-to-autonomous-ecosystems-my-learning-journey-in-the-5-day-google-x-kaggle-ai-agents-oh4</link>
      <guid>https://dev.to/manoj_mallick_71d0dd7eaa6/from-prompts-to-autonomous-ecosystems-my-learning-journey-in-the-5-day-google-x-kaggle-ai-agents-oh4</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/googlekagglechallenge"&gt;Google AI Agents Writing Challenge&lt;/a&gt;: Learning Reflections.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;Over the last five days, I took the &lt;strong&gt;Google x Kaggle AI Agents Intensive Course&lt;/strong&gt; — and what started as “learning how to prompt better” quickly expanded into a complete understanding of &lt;strong&gt;how real AI agents think, act, store memory, collaborate, and evaluate themselves&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;What surprised me most is how &lt;strong&gt;each day built naturally on the previous one&lt;/strong&gt;, almost like watching a simple idea grow into a full intelligent ecosystem.&lt;/p&gt;

&lt;p&gt;Below is my journey — day by day — with &lt;strong&gt;real-life analogies&lt;/strong&gt; that helped me internalize the concepts.&lt;/p&gt;




&lt;h1&gt;
  
  
  🌱 &lt;strong&gt;Day 1 — From Prompt to Action (1A) &amp;amp; Agent Architecture (1B)&lt;/strong&gt;
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;“A prompt is not the end. It is the ignition.”&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;On Day 1, I realized something fundamental:&lt;br&gt;&lt;br&gt;
&lt;strong&gt;A prompt is not a request — it is an &lt;em&gt;instruction chain starter&lt;/em&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The first lesson showed how:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;prompts → goals
&lt;/li&gt;
&lt;li&gt;goals → decisions
&lt;/li&gt;
&lt;li&gt;decisions → actions
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In real life, it felt like giving instructions to a personal assistant:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Can you plan a birthday party for me?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You don’t want a single answer —&lt;br&gt;&lt;br&gt;
you want:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;venue suggestions
&lt;/li&gt;
&lt;li&gt;budget organisation
&lt;/li&gt;
&lt;li&gt;guest list management
&lt;/li&gt;
&lt;li&gt;timeline planning
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is what agents do.&lt;br&gt;&lt;br&gt;
They interpret the prompt as a &lt;em&gt;multi-step workflow&lt;/em&gt;, not a single response.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 &lt;strong&gt;1B — Agent Architecture (Expanded &amp;amp; Highlighted)&lt;/strong&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;“If prompts are the spark, the architecture is the engine that makes an agent move.”&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Agent Architecture was the first moment where I understood that an AI agent is &lt;strong&gt;not a chatbot&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;
It is a &lt;strong&gt;system&lt;/strong&gt; composed of multiple interacting components — like a small intelligent organization.&lt;/p&gt;

&lt;h3&gt;
  
  
  🔹 &lt;strong&gt;The 4 Core Components of Modern Agent Architecture&lt;/strong&gt;
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;1️⃣ Planner (the “brain”)&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Interprets the request and converts it into structured steps.&lt;br&gt;&lt;br&gt;
A planner transforms vague human language → actionable plan.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;2️⃣ Tools (the “hands and legs”)&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Tools enable the agent to &lt;em&gt;do&lt;/em&gt; things:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;search
&lt;/li&gt;
&lt;li&gt;run code
&lt;/li&gt;
&lt;li&gt;query APIs
&lt;/li&gt;
&lt;li&gt;manipulate files
&lt;/li&gt;
&lt;li&gt;analyze data
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Intelligence becomes &lt;strong&gt;action&lt;/strong&gt; only when tools exist.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;3️⃣ Memory (the “long-term knowledge”)&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Stores:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;user preferences
&lt;/li&gt;
&lt;li&gt;prior steps
&lt;/li&gt;
&lt;li&gt;facts
&lt;/li&gt;
&lt;li&gt;context
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is what separates an agent from a chatbot.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;4️⃣ Evaluator (the “quality inspector”)&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Checks for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;accuracy
&lt;/li&gt;
&lt;li&gt;safety
&lt;/li&gt;
&lt;li&gt;hallucinations
&lt;/li&gt;
&lt;li&gt;correctness of tool usage
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;An evaluator makes the agent &lt;strong&gt;self-aware and self-correcting&lt;/strong&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  🔸 &lt;strong&gt;The 3 Major Types of Agent Architectures&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;One thing I appreciated was understanding that there isn’t just one architecture.&lt;br&gt;&lt;br&gt;
Different designs fit different needs.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;1️⃣ Reactive Agents (simple responders)&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;No planning
&lt;/li&gt;
&lt;li&gt;No long-term memory
&lt;/li&gt;
&lt;li&gt;Respond instantly
Good for quick, rule-based answers.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;2️⃣ Deliberative Agents (think → plan → act)&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Multi-step reasoning
&lt;/li&gt;
&lt;li&gt;Tool usage
&lt;/li&gt;
&lt;li&gt;Self-correction
These feel closest to intelligent assistants.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;3️⃣ Hybrid Agents (the best of both worlds)&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;They can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;react quickly
&lt;/li&gt;
&lt;li&gt;plan deeply
&lt;/li&gt;
&lt;li&gt;remember patterns
&lt;/li&gt;
&lt;li&gt;use tools
This is what most advanced production systems use today.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🧩 &lt;strong&gt;The Agent Loop&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The architecture works through a continuous cycle:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Input → Plan → Use Tools → Observe → Update Memory → Evaluate → Repeat&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This loop makes agents feel &lt;em&gt;alive&lt;/em&gt; — adjusting strategies dynamically until the task is complete.&lt;/p&gt;

&lt;p&gt;By the end of Day 1, I found myself thinking less about “better prompts” and more about&lt;br&gt;&lt;br&gt;
&lt;strong&gt;how to architect intelligent systems with components that think, act, remember, and evaluate.&lt;/strong&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  🧰 &lt;strong&gt;Day 2 — Agent Tools (2A) &amp;amp; Best Practices (2B)&lt;/strong&gt;
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;“An agent without tools is a smart person with no hands.”&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Tools turn agents into &lt;strong&gt;doers&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;search APIs
&lt;/li&gt;
&lt;li&gt;code execution
&lt;/li&gt;
&lt;li&gt;file operations
&lt;/li&gt;
&lt;li&gt;data extraction
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Real-life analogy:&lt;br&gt;&lt;br&gt;
If Day 1 built the “brain,”&lt;br&gt;&lt;br&gt;
Day 2 gave the assistant a &lt;strong&gt;laptop, a phone, and the internet&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Best Practices&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Key insights I took away:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Give tools only when needed
&lt;/li&gt;
&lt;li&gt;Define strict input/output formats
&lt;/li&gt;
&lt;li&gt;Test tools independently
&lt;/li&gt;
&lt;li&gt;Sandbox anything that could cause errors
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Tools aren’t features—they are &lt;strong&gt;responsibilities&lt;/strong&gt;.&lt;/p&gt;




&lt;h1&gt;
  
  
  🧭 &lt;strong&gt;Day 3 — Sessions (3A) &amp;amp; Memory (3B)&lt;/strong&gt;
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;“Memory is the difference between a chatbot and a companion.”&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Sessions&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Sessions allow agents to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;stay aware of the conversation
&lt;/li&gt;
&lt;li&gt;continue tasks
&lt;/li&gt;
&lt;li&gt;maintain context
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Like telling a human:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Let’s pick up where we left off.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Memory&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Memory was a breakthrough concept.&lt;/p&gt;

&lt;p&gt;Agents can store:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;your preferences
&lt;/li&gt;
&lt;li&gt;your style
&lt;/li&gt;
&lt;li&gt;your earlier decisions
&lt;/li&gt;
&lt;li&gt;the history of the workflow
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Real-life analogy:&lt;br&gt;&lt;br&gt;
A personal trainer remembering your injuries, goals, and routines.&lt;/p&gt;

&lt;p&gt;Memory transforms agents into something that can &lt;strong&gt;grow with you.&lt;/strong&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  🔍 &lt;strong&gt;Day 4 — Observability (4A) &amp;amp; Evaluation (4B)&lt;/strong&gt;
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;“If you cannot observe it, you cannot improve it.”&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Observability&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Agents need to expose:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;logs
&lt;/li&gt;
&lt;li&gt;metrics
&lt;/li&gt;
&lt;li&gt;errors
&lt;/li&gt;
&lt;li&gt;internal reasoning
&lt;/li&gt;
&lt;li&gt;tool usage
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Just like monitoring production software, observability helps answer:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Why did the agent behave this way?
&lt;/li&gt;
&lt;li&gt;Where did a mistake happen?
&lt;/li&gt;
&lt;li&gt;What step caused a failure?&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Evaluation&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Agents evaluate:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;correctness
&lt;/li&gt;
&lt;li&gt;safety
&lt;/li&gt;
&lt;li&gt;reliability
&lt;/li&gt;
&lt;li&gt;latency
&lt;/li&gt;
&lt;li&gt;cost
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is where agents become &lt;strong&gt;measurable, tunable, and improvable&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;
Like reviewing your work and improving your workflow.&lt;/p&gt;




&lt;h1&gt;
  
  
  🤝 &lt;strong&gt;Day 5 — Agent-to-Agent Communication (5A)&lt;/strong&gt;
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;“One agent is powerful. Two agents are a team.”&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;On the final day, everything came together.&lt;/p&gt;

&lt;p&gt;Agents can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;delegate
&lt;/li&gt;
&lt;li&gt;cross-check each other
&lt;/li&gt;
&lt;li&gt;collaborate
&lt;/li&gt;
&lt;li&gt;negotiate
&lt;/li&gt;
&lt;li&gt;co-plan tasks
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Real-life example:&lt;br&gt;&lt;br&gt;
Imagine multiple assistants:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;one finds hotels
&lt;/li&gt;
&lt;li&gt;one checks reviews
&lt;/li&gt;
&lt;li&gt;one books transport
&lt;/li&gt;
&lt;li&gt;one optimizes budget
Together → a flawless travel plan.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This showed me the future isn’t one super-agent.&lt;br&gt;&lt;br&gt;
It's &lt;strong&gt;ecosystems of specialized agents working together.&lt;/strong&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  🌟 &lt;strong&gt;My Biggest Takeaways&lt;/strong&gt;
&lt;/h1&gt;

&lt;h3&gt;
  
  
  ✔ Prompts are not messages — they are architectures in disguise
&lt;/h3&gt;

&lt;h3&gt;
  
  
  ✔ Tools turn agents into action-takers
&lt;/h3&gt;

&lt;h3&gt;
  
  
  ✔ Memory creates personalization and continuity
&lt;/h3&gt;

&lt;h3&gt;
  
  
  ✔ Observability brings reliability
&lt;/h3&gt;

&lt;h3&gt;
  
  
  ✔ Evaluation ensures improvement
&lt;/h3&gt;

&lt;h3&gt;
  
  
  ✔ Multi-agent systems unlock scalability
&lt;/h3&gt;

&lt;p&gt;The course trained me to think like an &lt;strong&gt;AI systems architect&lt;/strong&gt;, not just an AI user.&lt;/p&gt;




&lt;h1&gt;
  
  
  💡 &lt;strong&gt;Final Reflection&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;I entered the course thinking:  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“I want to learn how AI agents work.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I finished the course thinking:  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“I want to &lt;em&gt;build&lt;/em&gt; AI agent ecosystems that mirror real-world teamwork.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The progression from&lt;br&gt;&lt;br&gt;
&lt;strong&gt;prompt → architecture → tools → memory → evaluation → agent-to-agent orchestration&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
changed how I view AI completely.&lt;/p&gt;

&lt;p&gt;Agents aren’t just chat interfaces.&lt;br&gt;&lt;br&gt;
They are &lt;strong&gt;self-improving collaborators&lt;/strong&gt; that can scale workflows, automate complexity, and amplify human capability.&lt;/p&gt;

&lt;p&gt;This course didn’t only teach me concepts —&lt;br&gt;&lt;br&gt;
it reshaped how I view the future of intelligent systems.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Thanks to Google, Kaggle, and the Dev community for this opportunity to grow, learn, and build.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>googleaichallenge</category>
      <category>ai</category>
      <category>agents</category>
      <category>devchallenge</category>
    </item>
  </channel>
</rss>
