<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/atom.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:fh="http://purl.org/syndication/history/1.0">
  <title>Posts tagged: genai Archive</title>
  <id>https://pype.dev/tags/genai/archive/atom.xml</id>
  <updated>2026-02-03T05:50:33Z</updated>
  <subtitle>All posts with the tag &#34;genai&#34;</subtitle>
  <link href="https://pype.dev/tags/genai/" rel="alternate" type="text/html"></link>
  <link href="https://pype.dev/tags/genai/archive/atom.xml" rel="self" type="application/atom+xml"></link>
  <link href="https://pype.dev/tags/genai/atom.xml" rel="current" type="application/atom+xml"></link>
  <author>
    <name>Nic Payne</name>
  </author>
  <generator uri="https://github.com/WaylonWalker/markata-go">markata-go</generator>
  <fh:complete></fh:complete>
  <entry>
    <title>Learning How To Agent</title>
    <id>https://pype.dev/learning-how-to-agent/</id>
    <updated>2026-02-03T05:50:33Z</updated>
    <published>2026-02-03T05:50:33Z</published>
    <link href="https://pype.dev/learning-how-to-agent/" rel="alternate" type="text/html"></link>
    <summary type="text">I&#39;ve been using AI tools for codegen for a few years now, but not super heavily. I either use the in-line copilot stuff, which is like LSP on seteroids, or I...</summary>
    <content type="html">&lt;h2 id=&#34;introduction-background&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Introduction &amp;amp; Background&lt;/span&gt; &lt;a href=&#34;#introduction-background&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve been using AI tools for codegen for a few years now, but not super&#xA;heavily. I either use the in-line copilot stuff, which is like LSP on&#xA;seteroids, or I have gone all the way to the other side of full on vibecoding&#xA;with Windsurf. That&amp;rsquo;s been fun enough, but not super fulfilling and at the end&#xA;of that I either have a simple webapp that does what I want but I don&amp;rsquo;t&#xA;understand, or else a half-broken thing I tried to understand but couldn&amp;rsquo;t&#xA;prompt in the right direction.&lt;/p&gt;&#xA;&lt;div class=&#34;admonition note&#34;&gt;&#xA;&lt;p class=&#34;admonition-title&#34;&gt;One Caveat&lt;/p&gt;&#xA;&lt;p&gt;My one caveat with Windsurf, which is a full IDE that I don&amp;rsquo;t have a lot of comfortable navigation in due to all the Cascade keybindings clobbaring my own keymaps - is that with a HEAVY spec, it&amp;rsquo;s done will with the Claude models at implementing a real idea I have. It&amp;rsquo;s closer to vibe-engineering than vibe-coding, but that&amp;rsquo;s my only instance, the rest of my Windsurf usage is &amp;ldquo;make me a cool app - no mistakes&amp;rdquo;&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;This year it feels like some tools exploded and&#xA;I mentioned this in &lt;a href=&#34;/new-job-caterpillar-autonomy/&#34; class=&#34;wikilink&#34; data-title=&#34;New Job - Caterpillar Autonomy&#34; data-description=&#34;In im-back-from-the-dead I mentioned my new role that started this year - it&amp;#39;s a return to Caterpillar Autonomy. I built some data pipelines and junior-grade...&#34; data-date=&#34;2026-01-26&#34; data-preview=&#34;In im-back-from-the-dead I mentioned my new role that started this year - it&amp;#39;s a return to Caterpillar Autonomy. I built some data pipelines and junior-grade...&#34;&gt;New Job - Caterpillar Autonomy&lt;/a&gt;. I&amp;rsquo;ve been using&#xA;&lt;a href=&#34;https://opencode.ai&#34;&gt;opencode&lt;/a&gt; a lot over the last few weeks and have iterated&#xA;many times already on a system of work that I&amp;rsquo;m trying to lean into for&#xA;improving my efficiency.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-problem-space&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;The Problem Space&lt;/span&gt; &lt;a href=&#34;#the-problem-space&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;My desire for a great Developer Experience is years old now, shout out to&#xA;ThePrimeagen for his &lt;a href=&#34;https://frontendmasters.com/courses/developer-productivity-v2/&#34;&gt;FEM&#xA;course&lt;/a&gt; and&#xA;&lt;a href=&#34;https://waylonwalker.com&#34;&gt;Waylon Walker&lt;/a&gt; for being a constant source of&#xA;encouragement to be the best developer I can be. I sometimes (often) get&#xA;tunnel-visioned on developer-productivity initiatives and lose the forest&#xA;through the trees when ironing out a workflow - generally to find out I way&#xA;over complicated the solution OR worse, started solving a problem I don&amp;rsquo;t even&#xA;have.&lt;/p&gt;&#xA;&lt;h2 id=&#34;first-attempt-local-progress-tracker&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;First Attempt: Local Progress Tracker&lt;/span&gt; &lt;a href=&#34;#first-attempt-local-progress-tracker&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Well that&amp;rsquo;s where I&amp;rsquo;ve been for a few weeks&amp;hellip; I&amp;rsquo;m building Nexus, my&#xA;second-brain at work to collaborate with agents on the truckload of stuff I&amp;rsquo;m&#xA;expected to get done. For a while now I&amp;rsquo;ve had a &amp;ldquo;working-notes&amp;rdquo; repo, which is&#xA;basically a blog, built with markata and navigated via markdown-lsp, where I do&#xA;like what I do here - take daily notes, track projects and status, and it gets&#xA;built into a nice little website I can reference with my boss.&lt;/p&gt;&#xA;&lt;p&gt;Now that we have copilot in full-swing, I&amp;rsquo;m trying to integrate agents a bit&#xA;more. Opencode has made this so nice - so many tools and modes of interaction,&#xA;highly customizable interface but also an amazing default experience&amp;hellip; So I&#xA;was trying to lean into using agents and subagents for more work I started down&#xA;the path of building out a progress tracker. I started with a simple &amp;ldquo;skill&amp;rdquo;&#xA;that told the agent to put some info into a sqlite file, and even create the&#xA;file and schema based on the work. This worked fine, but was specific to each&#xA;repo (and actually each worktree I was in) and it was hard for me to get&#xA;visibility into all the work my fleet of agents was doing. Now that&amp;rsquo;s actually&#xA;problem 1 - I don&amp;rsquo;t have a fleet of agents, I had some terminal sessions going&#xA;with opencode, but I got it in my head that I was going to have an army of&#xA;Claude&amp;rsquo;s on my computer, constantly and autonomously knocking out tickets and I&#xA;needed to know who was doing what, where, when, and why..&lt;/p&gt;&#xA;&lt;h2 id=&#34;nexus-v1-v2-the-over-engineering-phase&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Nexus V1 &amp;amp; V2: The Over-Engineering Phase&lt;/span&gt; &lt;a href=&#34;#nexus-v1-v2-the-over-engineering-phase&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;So, I dropped the local &amp;ldquo;progress tracker&amp;rdquo; and jumped into a huge FastAPI&#xA;project that I called Nexus. It was a python cli + api, with a server for&#xA;centralized management. It presented a kanban board, had policy gates on&#xA;&amp;ldquo;plans&amp;rdquo; being approved before work could start on an Epic (and therefore any&#xA;child tickets). It has worktree tracking and automation, etc. It had a lot&amp;hellip;&#xA;it didn&amp;rsquo;t all work, and it was hard to build the autonomous system&amp;hellip; I wanted&#xA;agentic feedback loops where &lt;code&gt;voidshaper&lt;/code&gt; and I made epic plans for Epics (see the pun?) and then once the Plan was approved &lt;code&gt;star-commander&lt;/code&gt; comes on the scene and makes tickets or checks tickets, depending on what&amp;rsquo;s already ready to go it farmed out the work to &lt;code&gt;starsmith&lt;/code&gt; (and variants for complexity) to build and then automatically calls in &lt;code&gt;recon-officer&lt;/code&gt; and &lt;code&gt;qa-engineer&lt;/code&gt; and at the end of it &lt;code&gt;gatekeeper&lt;/code&gt; came in and&#xA;approved or denied the changes. If denied - automatically start the loop again,&#xA;tracking the work in Nexus, if approved - rebase and merge the branch, clean up&#xA;the worktree, update the ticket, close it, and get working on the next thing&#xA;that opens up. Ticket dependencies were in there, tracking stale agent&#xA;sessions, clever routing of tasks to smaller models where appropriate&amp;hellip;. you&#xA;can see that I went too far too fast too hard.&lt;/p&gt;&#xA;&lt;figure&gt;&#xA;&lt;img src=&#34;https://cdn.statically.io/gh/pypeaday/images.pype.dev/main/blog-media/20260203124603_d5948740.png&#34; alt=&#34;20260203124603_d5948740.png&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;Nexus went through 2 or 3 iterations of this feature set. I was building it with several constraints in mind - specifically at work. 1. rate-limiting on large models (so not just using opus for everything), 2. good stewardship (not burning down cities for docstrings - farm out that work to haiku or a -mini model), 3. Copilot support - even though I like to use opencode, I wanted to supper copilot cli and in vscode as a means to share this with my coworkers who were mostly using vscode, 4. agent sessions were dying so I needed some &lt;a href=&#34;/kind/&#34; class=&#34;glossary-term&#34; title=&#34;kind - kubernetes in docker&#34; data-hover-title=&#34;kind&#34;&gt;kind&lt;/a&gt; of liveness probe for manual intervention in sessions where maybe the vpn died and the agent lost network&amp;hellip; stuff like this was on my mind - but you know what wasn&amp;rsquo;t? actually doing some work&amp;hellip; I was solving problems I don&amp;rsquo;t have, but were fun to think about.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-reality-check&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;The Reality Check&lt;/span&gt; &lt;a href=&#34;#the-reality-check&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;So, what are my problems? I boiled them down to a few things&amp;hellip;&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;I want to manage my workstreams in workspaces - folders on my computer where I put git worktrees&lt;/li&gt;&#xA;&lt;li&gt;I want varying levels of ai automation in my workflows&amp;hellip; some things could be handled by an agent fully autonmously, but most things I&amp;rsquo;m at least paired up, reviewing diffs still, doing research while working, etc.&lt;/li&gt;&#xA;&lt;li&gt;In those varying levels of automation, I wanted the same amount of task tracking to a centralized location&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;And after 2 weeks of ADHD-driven hyper focus, and many iterations on Nexus,&#xA;then Nexus V2&amp;hellip;. what happened is that Nexus V2 died, and we say long live&#xA;Nexus V3!&lt;/p&gt;&#xA;&lt;h2 id=&#34;nexus-v3-the-pragmatic-pivot&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Nexus V3: The Pragmatic Pivot&lt;/span&gt; &lt;a href=&#34;#nexus-v3-the-pragmatic-pivot&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Nexus V3 is the same idea, but different approach&amp;hellip; I&amp;rsquo;m leaning into opencode&#xA;tooling specifically, dropping my care to support copilot given the lack of&#xA;features. I&amp;rsquo;m using a few opencode &lt;a href=&#34;https://opencode.ai/docs/plugins/&#34;&gt;plugins&lt;/a&gt;&#xA;(&lt;a href=&#34;https://github.com/kdcokenny/opencode-notify&#34;&gt;opencode-notify&lt;/a&gt; and&#xA;&lt;a href=&#34;https://github.com/kdcokenny/opencode-background-agents&#34;&gt;opencode-background-agents&lt;/a&gt;&#xA;and a few &lt;a href=&#34;https://opencode.ai/docs/commands/&#34;&gt;commands&lt;/a&gt;. Instead of building&#xA;my own tracker, I&amp;rsquo;m using &lt;a href=&#34;https://kanboard.org/&#34;&gt;kanboard&lt;/a&gt; because it&amp;rsquo;s&#xA;basically a feature-complete agile/sprint/kanban board that I use at home, has&#xA;a simple plugin ecosystem for light customization, and solves practically every&#xA;status-tracking problem I tried to build from the ground up initially - ticket&#xA;dependencies/linkages, actions to change ticket colors for a simple intuitive&#xA;UI based on state, easy columns and tagging configuration, a simple API and&#xA;there&amp;rsquo;s even an &lt;a href=&#34;https://github.com/bivex/kanboard-mcp&#34;&gt;mcp server&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;So, I&amp;rsquo;ve given up on the full automation for now, although&#xA;&lt;a href=&#34;https://github.com/athal7/opencode-pilot&#34;&gt;opencode-pilot&lt;/a&gt; looks VERY PROMISING&#xA;for this in the future. Today though, through some simple commands to give to&#xA;agents for updating kanboard, I manually put them in worktrees, and they get to&#xA;work - the tracking and human-in-the-loop model is going well for the work I&#xA;need done.&lt;/p&gt;&#xA;&lt;h2 id=&#34;lessons-learned&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Lessons Learned&lt;/span&gt; &lt;a href=&#34;#lessons-learned&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;I learned and relearned plenty of lessons on this over the last 2 weeks&amp;hellip; Data&#xA;models matter more than almost anything, well-defined workflows are required if&#xA;you want agents to help you iterate, and not everything has to be a product&amp;hellip;&#xA;That last one&amp;rsquo;s personal, but every time I have an idea I &lt;strong&gt;think&lt;/strong&gt; is good,&#xA;I&amp;rsquo;m sure it&amp;rsquo;ll be something to share, but a good lesson for me is to just build&#xA;the things I need for me, and &lt;strong&gt;eventually&lt;/strong&gt; maybe it can be cleaned up to&#xA;share, but when I start building something with anyone other than &lt;strong&gt;me&lt;/strong&gt; in&#xA;mind, I&amp;rsquo;m in for a long hard journey&lt;/p&gt;&#xA;&lt;h2 id=&#34;current-state-future&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Current State &amp;amp; Future&lt;/span&gt; &lt;a href=&#34;#current-state-future&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;So what&amp;rsquo;s the summary? I don&amp;rsquo;t think I know how to agent super well yet - but&#xA;I&amp;rsquo;m trying to get better to stay on the forefront of my co-workers who I see&#xA;using AI in simple and sometimes scary ways&lt;/p&gt;&#xA;&lt;div class=&#34;admonition danger&#34;&gt;&#xA;&lt;p class=&#34;admonition-title&#34;&gt;Copilot x sudo&lt;/p&gt;&#xA;&lt;p&gt;Do not give copilot &lt;code&gt;sudo&lt;/code&gt; on your CI server and say &amp;ldquo;fix my problem&amp;rdquo;&amp;hellip; are you retarded???&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;I am not going hardcore with &lt;a href=&#34;https://awesomeclaude.ai/ralph-wiggum&#34;&gt;ralph&#xA;wiggum&lt;/a&gt; or&#xA;&lt;a href=&#34;https://github.com/steveyegge/gastown&#34;&gt;gastown&lt;/a&gt; - although those inspired&#xA;Nexus v1 and v2, but I am dialing in my agentic workflow with some simple&#xA;specialized agents, farming out work to subagents for context management,&#xA;planning ahead of time to put appropriate context in a ticket, and getting&#xA;close to having agents check out tickets, make worktrees, and do simple work by&#xA;themselves (this was working in Nexus V2 but only intermittenly).&lt;/p&gt;&#xA;&lt;p&gt;Someday I&amp;rsquo;ll open-source Nexus and share the configuration and workflow, for&#xA;now it&amp;rsquo;s private as I&amp;rsquo;m actually using it to build out what I want rather than&#xA;trying to recreate gastown with a cool space theme.&lt;/p&gt;&#xA;</content>
    <author>
      <name>Nic Payne</name>
      <uri>https://pype.dev</uri>
    </author>
  </entry>
</feed>