<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[AI Enterprise Engineering - Medium]]></title>
        <description><![CDATA[AI+ Enterprise Engineering develop AI and hybrid cloud strategies for enterprises to build scalable architectures. Our authors engineer solutions across AI, data, applications, platforms, lifecycle, operations, and security to help organizations become an AI+ Enterprise. - Medium]]></description>
        <link>https://medium.com/hybrid-cloud-engineering?source=rss----4b09160cabc6---4</link>
        <image>
            <url>https://cdn-images-1.medium.com/proxy/1*TGH72Nnw24QL3iV9IOm4VA.png</url>
            <title>AI Enterprise Engineering - Medium</title>
            <link>https://medium.com/hybrid-cloud-engineering?source=rss----4b09160cabc6---4</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sun, 15 Nov 2026 21:10:10 GMT</lastBuildDate>
        <atom:link href="https://medium.com/feed/hybrid-cloud-engineering" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[Lessons in Vibe-Coding as a PM]]></title>
            <link>https://medium.com/hybrid-cloud-engineering/lessons-in-vibe-coding-as-a-pm-393dd2d90d71?source=rss----4b09160cabc6---4</link>
            <guid isPermaLink="false">https://medium.com/p/393dd2d90d71</guid>
            <category><![CDATA[ios]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[ai-product-management]]></category>
            <category><![CDATA[vibe-coding]]></category>
            <category><![CDATA[security]]></category>
            <dc:creator><![CDATA[Steven Gripshover]]></dc:creator>
            <pubDate>Wed, 25 Mar 2026 20:55:46 GMT</pubDate>
            <atom:updated>2026-03-25T20:55:44.731Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*affPl7xMNKrSOtEsOSf0Ug.png" /></figure><h4>Back in 2016 when I was a sophomore in college I attended a local hackathon and had a funny idea</h4><p><em>Editor’s note: Besides being an excellent article on the acceleration of innovation using AI, this is also a reminder to all of us that developers love to explore and learn. In AI Enterprise Engineering, our hope is that you see how to excite your developers while creating the guardrails that Steven highlights: proper architectural thinking, proper security, focusing on the best user experience while adhering to enterprise policy. Enjoy!!</em></p><p>What if there were an app like Tinder where the user was looking for chicken tenders instead of their next close friend? The idea was fun, but wasn’t quite compelling enough to devote a lot of attention to. Our team (shout-out to Wade and Matt) built out a barely functioning prototype, drove back to our home college and didn’t think about it again for a decade.</p><p>Flash forward to January 2026, I’m in the middle of the holiday season and looking for something to think about between late night bottles with my few-months-old daughter when I see people posting about the power of the latest AI dev tools. I realized this was the perfect opportunity to get hands-on experience in some of the AI tools and take advantage of my skillsets, a dev background who’s relatively fresh into product management. Then came the hard part, what is the right thing to build? Well, Tendrrr was the perfect fit! I had the stub of the idea and knew it was feasible, so I whipped open the Macbook and got to building.</p><p>What I came out with on the other side was not just a published app in the app store in less than a month, but a realization of just how much the world of software development has changed since my last role in the job in 2024. I also have come to realize the incredibly valuable experience these tools have given me in my role as PM in the AI space: this stuff is really impressive! Come along with me as I break down what I built, what I learned, and how even as a PM I learned valuable skills on how AI is building the future (and where there’s still a ways to go).</p><h3>The Idea (5 Minutes)</h3><p>The concept was simple: a Tinder-style swipe interface for discovering nearby chicken tender restaurants. Swipe right to save a spot to your favorites. Swipe left to skip. That’s it.</p><p>Part parody, part genuinely useful. The “hot tenders in your area” energy was intentional — I wanted something that would make people laugh but also actually could be used.</p><p><strong>PM Insight #1:</strong> Constraints make decisions easier. By picking a single, hyper-specific use case (chicken tenders, not “food”), I eliminated hundreds of feature debates before they started. Every design choice had a clear filter: does this help someone find chicken tenders faster?</p><h3>The Architecture Phase (Days 1–4)</h3><p>My first instinct was to just start coding. But I’d been a PM long enough to know that’s how you end up with a 600-line Object that does everything poorly.</p><p>Instead, I started with a Product Decision Record: a lightweight doc capturing:</p><ul><li>Core user flow (discover → swipe → save → navigate)</li><li>Technical decisions (SwiftUI, local-first data, Yelp API)</li><li>What’s in scope vs. out of scope</li></ul><p>Then I sketched an architecture before writing any code. The initial codebase had everything crammed into one file — business logic mixed with UI, no separation of concerns. I refactored into a clean MVVM pattern with distinct layers: Models, Services, Repositories, and Features.</p><p>The result of this step was a simple markdown PDR that drove development for Tendrrrr via Claude’s project feature to give context. This was relatively bare-bones, but allowed for me to get prompt creation tips directly from the system on how to best get what I wanted from the AI at each step.</p><figure><img alt="Tendrrr’s PDR" src="https://cdn-images-1.medium.com/max/788/1*4rY-JnZEV11KgMMbiFqrMQ.png" /><figcaption>While it’s hardly readable to me, the agent was able to take this and run.</figcaption></figure><p><strong>PM Insight #2:</strong> Technical debt is a product decision. My “quick prototype” would have worked fine for a demo. But I wanted to ship a real product and learn what that takes. The extra day spent on architecture saved me at least a week of debugging later.</p><h3>The API Decision (Day 5)</h3><p>I needed restaurant data. The options:</p><ul><li><strong>MapKit (Apple):</strong> Free but limited — no photos, no reviews, basic metadata</li><li><strong>Yelp Fusion:</strong> Rich data, great images, 5,000 free API calls per day</li><li><strong>Google Places:</strong> Most comprehensive, but expensive and overkill</li></ul><p>I went with Yelp. The free tier was more than enough for launch, and the image quality made the swipe experience feel polished. MapKit stayed as a fallback.</p><p><strong>PM Insight #3:</strong> Free tiers exist for a reason. For a side project validating a concept, I didn’t need the enterprise plan. Yelp’s 5,000 daily calls would support thousands of users before I’d need to worry about scaling. Build for where you are, not where you hope to be.</p><h3>The Security Oops (Day 10)</h3><p>I pushed my code to GitHub. Public repo, nice README, felt good about sharing my work.</p><p>Then I realized: my Yelp API key was hardcoded in Config.swift and visible to anyone who looked.</p><p>The fix:</p><ol><li>Immediately rotated the API key (the old one was compromised)</li><li>Added Config.swift to .gitignore</li><li>Created a Config.swift.example template for anyone cloning the repo</li><li>Made the main repo private</li></ol><p>Since GitHub’s free tier doesn’t support Pages on private repos, I created a separate public repo just for the support site and privacy policy. More work, but no monthly cost.</p><p><strong>PM Insight #4:</strong> Security isn’t a feature — it’s a baseline. In a professional setting, there’d be a security review. Solo, I had to catch my own mistakes. Build security into your workflow: never commit credentials, always use environment variables or config files that stay local.</p><h3>The App Store Gauntlet (Days 12–18)</h3><p>Submitting to the App Store for the first time felt like filling out tax forms in a foreign language. Here’s what actually mattered:</p><p><strong>Required before you can submit:</strong></p><ul><li>Apple Developer account ($99/year — no way around it)</li><li>Privacy policy URL (I used a free generator and hosted on GitHub Pages)</li><li>App icon (1024×1024, no transparency)</li><li>Screenshots for multiple device sizes</li></ul><p><strong>Things that seemed easy but weren’t automatic:</strong></p><ul><li>Age rating questionnaire (took 5 minutes but was mandatory)</li><li>Support URL (pointed to my GitHub Pages support site)</li><li>Clear description of what data you collect</li></ul><p><strong>Things I worried about that didn’t matter:</strong></p><ul><li>Fancy app preview video (didn’t need one)</li><li>Elaborate onboarding (kept it simple)</li><li>Perfect copy (they approved my first draft)</li></ul><p>I was able to leverage AI to build the required pages for the app quickly without needing to start what felt like a full project within a project:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/867/1*de5bmswiQraasOBk0I3P4Q.png" /><figcaption>This isn’t going to win any design rewards…</figcaption></figure><p><strong>PM Insight #5:</strong> The App Store review process is predictable if you follow the rules. Apple publishes their guidelines. Read them. Most rejections happen because people skip steps, not because Apple is capricious. My submission was approved in under 48 hours.</p><h3>The Monetization Question (Ongoing)</h3><p>For a novelty app with maybe a few hundred users, ads would generate about $3–12/month after integrating an SDK, handling consent flows, and dealing with review headaches. Not worth it.</p><p>Instead, I added a simple tip jar — three tiers ($0.99, $4.99, $9.99) using StoreKit 2. Non-invasive, tucked away in Settings, no guilt-tripping copy. If people love the app, they can support it. If not, no friction.</p><p><strong>PM Insight #6:</strong> Monetization should match your goals. My goal wasn’t revenue — it was learning. A tip jar lets fans contribute without compromising the experience. If the app takes off, I can revisit monetization with real data.</p><h3>What I’d Do Differently</h3><p><strong>Draft first: </strong>In my other projects I’m working on now, I’ve realized a paradigm shift for how to manage the product. I’d been focused on getting user interviews and product concept feedback early, but in this era of AI development speed, why not build out the prototype and get feedback on <em>that</em> early on. It’s so much more powerful to have something tangible to discuss, even if it’s ugly.</p><p><strong>Build the support infrastructure earlier.</strong> Privacy policy, support page, and App Store metadata felt like afterthoughts, but they’re required work that is less fun late in the game. Front-loading this work would have made submission smoother.</p><p><strong>Test on real devices sooner.</strong> The simulator is great for iteration, but location services behave differently on actual hardware. I found bugs in the last 48 hours that should have surfaced earlier.</p><h3>The Product Manager Perspective</h3><p>Building Tendrrr reminded me why I moved from engineering to product in the first place: the interesting problems aren’t the technical ones for me — they’re about understanding what matters.</p><p>Should I add filters? Probably not — that’s scope creep for a novelty app. Should I support delivery ordering? Maybe — but not until I validate that people actually use the app. Should I spend a week on animations? No — ship the core experience first.</p><p>Every feature request I generated for myself went through the same filter: <em>does this help someone find chicken tenders faster?</em> If not, it went on the backlog.</p><p>The hardest part wasn’t code. It was deciding what not to build.</p><h3>What’s Next</h3><p>Tendrrr is live. I’m tracking basic metrics (downloads, daily active users) to see if anyone besides me wants this to exist. If there’s genuine interest, I’ll add features based on actual feedback rather than my assumptions.</p><p>If not? I shipped an app to the App Store. I learned SwiftUI, wrestled with App Store Connect, made trademark mistakes, fixed security holes, and remembered what it feels like to build something from scratch.</p><p>That was the point.</p><p><em>Tendrrr is free on the iOS App Store. It finds chicken tender restaurants near you.</em></p><p><a href="https://apps.apple.com/us/app/tendrrr/id6757625385"><em>Download now!</em></a></p><h3>Key Takeaways for PMs Building Side Projects</h3><ol><li><strong>Constraints are your friend.</strong> A hyper-specific use case eliminates decisions.</li><li><strong>Architecture isn’t overhead.</strong> A little structure saves a lot of debugging.</li><li><strong>Free tiers exist.</strong> Use them until you have a problem worth paying to solve.</li><li><strong>Security is baseline.</strong> Never commit credentials. Rotate keys if you do.</li><li><strong>App Store review is predictable.</strong> Follow the guidelines, and you’ll be fine.</li><li><strong>Ship the core experience first.</strong> Polish is earned, not assumed.</li></ol><p>Most importantly, I think every product manager should try to build out at least one idea with tools like IBM Bob, Claude code, or another similar tool. This technology is hard to believe until you try it yourself. Make something small, improve your workflow, build an app that doesn’t exist and only you would use, <em>because now you can</em>.</p><p><em>Have questions about the process? Find me on </em><a href="https://www.linkedin.com/in/steven-gripshover/"><em>LinkedIn</em></a><em> or check out the w</em><a href="https://gripshos.github.io/tendrrr-site/"><em>ebpage for the app</em></a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=393dd2d90d71" width="1" height="1" alt=""><hr><p><a href="https://medium.com/hybrid-cloud-engineering/lessons-in-vibe-coding-as-a-pm-393dd2d90d71">Lessons in Vibe-Coding as a PM</a> was originally published in <a href="https://medium.com/hybrid-cloud-engineering">AI Enterprise Engineering</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[IBM Bob — HOLY BUCKETS This is Amazing!]]></title>
            <link>https://medium.com/hybrid-cloud-engineering/ibm-bob-holy-buckets-this-is-amazing-8f7e9228d9b7?source=rss----4b09160cabc6---4</link>
            <guid isPermaLink="false">https://medium.com/p/8f7e9228d9b7</guid>
            <category><![CDATA[ibm]]></category>
            <category><![CDATA[innovate]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[ibm-bob]]></category>
            <category><![CDATA[agentic-ai]]></category>
            <dc:creator><![CDATA[Greg Hintermeister]]></dc:creator>
            <pubDate>Mon, 19 Jan 2026 17:21:50 GMT</pubDate>
            <atom:updated>2026-01-19T17:47:35.612Z</atom:updated>
            <content:encoded><![CDATA[<h3>IBM Bob — HOLY BUCKETS This is Amazing!</h3><p>While I’ve used many coding assistants, it’s been mostly for small things (generate code, create terraform to provision, etc.), I’ve not used a fully functioning agentic development tool. Well, I just finished my first pass at using <a href="https://www.ibm.com/products/bob">IBM Bob</a>, and I have to say, I am blown away!! In 20 minutes, I had a fully functioning font-end and back-end application that called APIs to fetch dynamic data and was given architectures, runtimes, and recommendations on provisioning it OnPrem or in cloud.</p><p>Here’s the video where I walk through it all, and then below I provide some highlights.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2F837Jlu5tHEs%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D837Jlu5tHEs&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2F837Jlu5tHEs%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/7ac68bbfea056546bcbd638fcdb75ff0/href">https://medium.com/media/7ac68bbfea056546bcbd638fcdb75ff0/href</a></iframe><h3>What I Created</h3><p>I thought about what my first creation should be, and all kinds of IBM topics came to mind (and those will be coming in future articles, including agents, MCP, automation, etc.), but I really wanted to try something that would resonate with a broad audience, so I turned to my biggest passion: Music! I lead an acoustic trio, where we play around southern Minnesota. We have well over 100 songs and we have always thought it would be cool if we had an interactive “Song Request” app.</p><p>In all of 20 minutes, I had it working (PS: If you want to see the app in action, go to 6:15 in the video.)</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*0OvsYjqFpHB-fR6YA1Kp1w.jpeg" /></figure><h3>Bob Highlights</h3><p>Here’s what IBM Bob looks like (It’s basically VS Code)</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*zypTEIjWaWlNidh1hAhvsw.jpeg" /></figure><p>The Magic happens on the right side where you “Start New Task”, give it an initial prompt, and it will create a To-Do list for you to approve (and edit if you want), and once you approve it will start performing the tasks.</p><p>Importantly there is an “Auto-Approve” section where you can approve levels of actions: Read files, edit and save files, run commands, and more. For my work I allowed it to read, edit, and save files, but I did not give it approval to automatically run commands. You can choose the level of “Human-in-the-loop” you want.</p><h3>First prompt</h3><p>It all starts with a prompt.</p><pre>I want to create a new web app. It will input a spreadsheet of <br>songs and band that is playing them. It will then allow the <br>user to request any of those songs by tapping them. <br>The app should have a list of songs and the requested songs. <br>Further, the app should list &quot;similar artists&quot; by accessing <br>music libraries that compare styles and genres</pre><p>To be honest. I didn’t think this would be enough, but it created the basics and a fully running app on the first try. In its preparation (think Reasoning Agent), it created a to-do list, then marched through each one.</p><p><strong>To-Do List:</strong></p><pre>• Create project structure and setup<br>• Design data model for songs and bands<br>• Implement spreadsheet import functionality<br>• Create UI for song list display<br>• Implement song request functionality<br>• Add requested songs list view<br>• Integrate music API for similar artists feature<br>• Add styling and responsive design<br>• Test the application<br>• Update app name to &quot;Orchid Jane - Song Request&quot;<br>• Redesign with purple theme and orchid graphics<br>• Fix Similar Artists API and provide registration instructions<br>• Add word cloud of artists after spreadsheet upload<br>• Remove word cloud section<br>• Add Song List / Artist List toggle view<br>• Remove toggle view buttons and simplify interface<br>• Add &quot;Look Up&quot; feature for Last.fm track search when no results found<br>• Add &quot;Similar Artists&quot; button to requested artists in Requested Songs section<br>• Auto-load Orchid-Jane-Songs.xlsx on server startup<br>• Increase scrollable area height by 30% for <br>  Available Songs and Requested Songs<br>• Fix filter persistence - maintain search filter after <br>  requesting song with &quot;Back to Song List&quot; button<br>• Add song count next to &quot;Available Songs&quot; heading<br>• Move &quot;Top 5 Songs&quot; button next to each similar artist with <br>  Request Song functionality<br>• Create comprehensive architecture documentation with Mermaid diagrams</pre><p>Note that this is the “final” To-Do list that summarized everything I did throughout the 2-hour session. The first 9 tasks were the “first pass”, and the rest was me interacting with IBM Bob to make things better, add enhancements, etc.</p><h3>Various “Enhancements”</h3><p>That’s the thing: It’s so easy to make enhancements I quickly became eager to make the app awesome (and I became picky). Some requests it made perfectly the first time: all defects I found it fixed the first time, but other things it just didn’t get, and I either had to compromise or abandon the idea.</p><p>For Example, I wanted a “Word Cloud” of artists that showed all the artists we play and the and the more songs we play of that artist the bigger the name of the artist. It seemed like it understood, and the code looked good, and it even added links to each artist name to filter the songs, but it never looked good.</p><p>Interestingly IBM Bob’s responses and resulting code showed it was doing what I wanted it to, but across multiple browsers it never displayed properly. I eventually said, “Just remove the word cloud”. Which it did, but it only removed the functionality from the running app, not the code. Which bothered me a bit. Minimally it should have commented out the code, but with all the code active for functionality that is not used, I could see over time this trial-to-succeed way of “vibe programming” could result in a big wasteland of unused code (hacker’s delight?).</p><p><strong>Thought:</strong> maybe I just need to learn IBM Bob’s quirks and explicitly ask Bob to clean up/comment out code that is unused.</p><p>The following are examples of what I prompted to change</p><p><strong>Enhancement list #1:</strong></p><pre>Make the following changes:<br>- Change the name of the app in the web UI to &quot;Orchid Jane - Song Request&quot;<br>- Update the style to be more modern with colors of purple and <br>   add some orchid graphics<br>- The &quot;Similar Artists&quot; button doesn&#39;t work. can you figure out why <br>   and if I need ot register an API key, tell me where to get it</pre><p>The last bullet is a big deal here: Bob first suggested I use the Spotify API for “Similar Artists”, but when I went to get the API, Spotify is on “hold” accepting new apps to use the API. I told that to IBM Bob, and it recommended the free last.fm site, and even created a Markdown to instruct me how to get the API.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*fE65csJ_2-s-pCR9wyh_3A.jpeg" /></figure><p>Amazing. I really liked that it thought of the human’s productivity for times it couldn’t / wouldn’t do an action for me.</p><p><strong>Thought:</strong> Could I have asked it to create an agent to sign into a developer site as me and grab API key for me? Maybe. But then credentials representing me are known to the agent and that’s bad form, so we would need to add in identity and permissions.</p><p><strong>Enhancement list #2:</strong></p><pre>In the Similar Artists list, add a &quot;Request Artist&quot; button that <br>shows up in the Requested Songs list</pre><p>This added the capability to add an artist from the “Similar Artists” Popup.</p><pre>When the app starts, automatically load the file &quot;Orchid-Jane-Songs.xlsx&quot; <br>located in the song-request-app folder.</pre><p>This sped up my testing since I didn’t need to load the data every time the app started.</p><pre>make the &quot;available songs&quot; and &quot;requested songs&quot; visible <br>scrollable area 30% longer</pre><p>This altered the UI panels (I did ask where it was set and it showed me, but it was so fast to just have IBM Bob do the work.)</p><h3>Defect Fixing</h3><p>This was really fun (almost more fun than adding features). In my past when I led design teams, I would work really well with the development team and we would work on fixing issues, altering the designs (I would call those defects as well), but it took time. With IBM Bob, I just type it and it was fixed in 45 seconds.</p><pre>There&#39;s a defect: When I search and get a subset of songs, <br>then click &quot;Request Song&quot;, the list of songs returns to the <br>full list. the filtered list should stay with the subset of <br>songs and a &quot;Back to Song List&quot; button at the top</pre><p>This is Bob’s response:</p><pre>I&#39;ll fix this defect by maintaining the search filter state <br>and adding a &quot;Back to Song List&quot; button when viewing filtered results. <br>Let me update the code:</pre><h3>Realtime Enhancements in Video</h3><p>In the video I wanted to show some real-time action, and IBM Bob did not disappoint. It’s worth looking at the video at 8:43.</p><pre>In Similar Artists popup, add a button called &quot;Top 5 Songs&quot; that <br>will show the top 5 songs of that artist using the last.fm API. <br>Put a &quot;Request Song&quot; button by each of those songs so it is <br>added to the Requested Songs list. Then close the popup and <br>return to the home screen.</pre><p>IBM Bob’s Response:</p><pre>I&#39;ll add a &quot;Top 5 Songs&quot; button to the Similar Artists modal that <br>fetches and displays the top songs for the selected artist. <br>Let me start by updating the backend to add the new API endpoint:</pre><p>However, the result wasn’t exactly what I wanted, so I asked differently:</p><pre>that was close. I want the &quot;Top 5 Songs&quot; button to be next to each <br>of the similar artists so I can see similar artists then see the <br>top 5 songs of that similar artist, with a Request Song button <br>next to each of the songs.<br><br>Can you fix that?</pre><p>IBM Bob’s Response:</p><pre>I understand! You want a &quot;Top 5 Songs&quot; button next to each similar <br>artist (alongside the &quot;Request Artist&quot; button), so you can see the <br>top songs for that specific similar artist. Let me fix that:</pre><p>That was it!</p><p><strong>Thought: </strong>This is more of “how to train Greg to talk to IBM Bob” than it is to request IBM Bob enhancements. It also reinforces that a holistic, design-driven human that can communicate to IBM Bob what an application should do is more important than ever. IBM Bob is just responding to the prompts, so precision in how you ask it, detailed examples, and even listing security best practices, etc., is essential.</p><h3>Final Documentation and Architecture</h3><p>In the end, I asked it to create a comprehensive architecture spec, and it created several diagrams including the main architecture:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*JpUmHlvS2S0tzFyCW--qXA.jpeg" /></figure><p>This was a fantastic first experience with IBM Bob, and I urge you to take it for a spin.</p><p>Have you tried IBM Bob? How about Claude Code? Others? I’d love to hear your experiences below.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=8f7e9228d9b7" width="1" height="1" alt=""><hr><p><a href="https://medium.com/hybrid-cloud-engineering/ibm-bob-holy-buckets-this-is-amazing-8f7e9228d9b7">IBM Bob — HOLY BUCKETS This is Amazing!</a> was originally published in <a href="https://medium.com/hybrid-cloud-engineering">AI Enterprise Engineering</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Putting Karpathy’s $100 LLM to work on Red Hat OpenShift AI]]></title>
            <link>https://medium.com/hybrid-cloud-engineering/putting-karpathys-100-llm-to-work-on-red-hat-openshift-ai-f07023abeb1b?source=rss----4b09160cabc6---4</link>
            <guid isPermaLink="false">https://medium.com/p/f07023abeb1b</guid>
            <category><![CDATA[cloud]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[llm]]></category>
            <category><![CDATA[red-hat-openshift]]></category>
            <dc:creator><![CDATA[Jeremy Caine]]></dc:creator>
            <pubDate>Mon, 15 Dec 2025 06:10:29 GMT</pubDate>
            <atom:updated>2025-12-15T06:21:45.676Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*XdCglHzDRwLOOWTRSQHxPQ.png" /><figcaption>nanochat and red hat openshift ai</figcaption></figure><p>With <a href="https://github.com/karpathy/nanochat">Nanochat</a> released from Andrej Karpathy we have a great training ground to explore the architecture of Large Language Models. It is compelling since a working ChatGPT-like model can be built and trained on GPU hardware in 4 hours.</p><p>Cost? About $100.</p><p>I wanted to explore what it takes to put Nanochat LLM into the enterprise ready Red Hat OpenShift AI environment.</p><p>This Git repository steps through the exploration.</p><ul><li>Train the Nanochat Model on Lambda Cloud</li><li>Use the Nanochat model on RHEL AI</li><li>Convert Nanochat to ONNX and use in Red Hat OpenShift AI</li></ul><p>The code and walkthrough is <a href="https://github.com/jeremycaine/rhoai-nanochat-llm">here</a>.</p><h3><strong>Step 1: Train the Nanochat Model on Lambda Cloud</strong></h3><p>Karpathy makes the training phase very straightforward. <a href="https://lambda.ai/instances">Lambda Cloud</a> offers 8 x H100 NVIDIA GPUs for approximately USD $25 per hour and the training run takes 4 hours.</p><p>Although not outrageous in cost (compared to the major cloud providers GPUaaS) we don’t need H100 GPU environment hanging around. Since I needed to understand how the trained model and its outputs worked I had to capture them into an S3 bucket.</p><p>On my Lambda GPU instance I created an S3 filesystem and cloned the Nanochat repository. A simple script kicks off the training process. But before you start you configure the model output directory to be on the S3 filesystem and not use up the GPU instance disk.</p><pre>export NANOCHAT_BASE_DIR=&quot;$HOME/caine-fs/.cache/nanochat&quot;</pre><p>Once the training was done I copied all the files cloned and generated to another S3 bucket in IBM Cloud where I have an account. Then I could de-provision the Lambda environment.</p><p>Nanochat’s training happens in three stages:</p><p>1. <strong>Base training</strong> (3.5 hours) — The model learns language</p><p>2. <strong>Mid-training</strong> (15 minutes) — It learns chat format and reasoning</p><p>3. <strong>Supervised fine-tuning</strong> (10 minutes) — Final polish for assistant behavior</p><p>I kicked off the training in a screen session and walked away. Four hours later, I had a 480-million parameter language model.</p><p>With training complete, I used rclone to copy everything across to IBM Cloud Object Storage into a bucket called nanochat-llm.</p><h3><strong>Step 2: Use the Nanochat model on RHEL AI</strong></h3><p>With our enterprise architecture thinking hats on the ‘rent vs buy’ for both training and inference relates the model in question and your use cases for it. This informs the GPU investment and consumption strategy.</p><p>I provisioned an IBM Cloud Virtual Server with an NVIDIA L4 GPU. The L4 is designed for inference (not training) and has 24GB of RAM right sized for a 20 layer, 480M parameter model.</p><p>The Virtual Server Instance (VSI) used an AI-enabled operating system image — Red Hat Enterprise Linux AI, NVIDIA bundle. <a href="https://www.redhat.com/en/products/ai/enterprise-linux-ai">Red Hat Enterprise Linux AI</a> (RHEL AI) comes pre-bundled with vLLM and InstructLab container images.</p><p>I could then use rclone to mount the S3 bucket directly as a filesystem.</p><pre>rclone mount ibmcloud:nanochat-llm /var/mnt/caine-data/s3-mount \<br> - vfs-cache-mode full - allow-other - daemon</pre><p>We want to spin up and use the LLM in this VSI. Nanochat expects its files in ~/.cache/nanochat/ . Rather than moving files around, I created symbolic links pointing to the S3 mount:</p><pre>mkdir -p ~/.cache/nanochat<br>ln -s /var/mnt/caine-data/s3-mount/nanochat-complete-run-20251115/chatsft_checkpoints ~/.cache/nanochat/chatsft_checkpoints<br>ln -s /var/mnt/caine-data/s3-mount/nanochat-complete-run-20251115/tokenizer ~/.cache/nanochat/tokenizer</pre><p>Out of the box in the Nanochat repo is a working chat web app. With port 8000 exposed, and the model started I could get to the chat web app from my laptop and interact with the LLM and ask questions about the sky!</p><figure><img alt="browser web page of nanochat app" src="https://cdn-images-1.medium.com/max/1024/1*mar2Pp-R_mkyaBt_MYwJ0g.png" /></figure><p>RHEL AI is a single-server solution for AI operations and has many possibilities for integrating in different platform and deployment architectures. But I am initially interested in how a custom LLM could be brought to an enterprise ready hybrid AI platform like Red Hat OpenShift AI (RHOAI).</p><h3><strong>Step 3: Convert Nanochat to ONNX and use in Red Hat OpenShift AI</strong></h3><p>Red Hat OpenShift AI offers a number of ways to build and train data science projects and AI models. These environments are managed on the platform running on OpenShift Kubernetes clusters. A data science project is a specialised OpenShift project (namespace). In here we can create model servers.</p><p>With the model server instance created you can then deploy different types of AI model:</p><ul><li>openvino_ir opsetl (OpenVINO Intermediate Representation native model format, optimised for speed)</li><li>onnx-1 (Open Neural Network Exchange models, best for framework-agnostic, models from PyTorch, scikit-learn etc)</li><li>tensorflow-2 (native Tensorflow and Keras models)</li></ul><h4><strong>The ONNX Conversion</strong></h4><p>Nanochat has a custom architecture that doesn’t map directly to standard frameworks like HuggingFace. With some vibe assistance I created a conversion script that exported the PyTorch model to ONNX:</p><pre>…<br>torch.onnx.export(<br>model,<br>dummy_input,<br>&quot;model.onnx&quot;,<br>input_names=[&#39;input_ids&#39;],<br>output_names=[&#39;logits&#39;],<br>dynamic_axes={&#39;input_ids&#39;: {0: &#39;batch_size&#39;, 1: &#39;sequence_length&#39;}},<br>opset_version=14<br>)<br>…</pre><p>The resulting 1.8GB ONNX file went back into the S3 bucket.</p><p>The <a href="https://developers.redhat.com/developer-sandbox">Red Hat Developer Sandbox</a> is a great way to get started with understanding OpenShift AI. You create a model server and then deploy a model to it:</p><ol><li>Create an OpenVINO Model Server instance (Medium: 4 CPU, 8GB RAM)</li><li>Deploy the ONNX model from S3</li><li>Get an inference endpoint URL</li></ol><p>Basic curl testing could send a text input to the endpoint. Those input tokens generated raw logits (prediction scores) for every possible next token. We know the model is now serving but of course its not very user-friendly.</p><h4><strong>The Chat App API</strong></h4><p>Using the Nanochat web app as a guide, I could create a simple FastAPI app that would be a more user-friendly chat API endpoint.</p><p>The app</p><ul><li>takes natural language input</li><li>tokenises it into token IDs</li><li>calls the RHOAI inference endpoint</li><li>samples the next token from the logits</li><li>repeats until the response is complete</li><li>decodes back to text</li></ul><p>The hardest learning part of this exercise was the tokeniser. Nanochat’s tokenizer uses tiktoken, which has Python wrappers around compiled C++ code. The model build code pickled the tokeniser in the Lambda environment, which then doesn’t work when moved to the new VSI environment on IBM Cloud.</p><pre>AttributeError: &#39;Encoding&#39; object has no attribute &#39;_core_bpe&#39;</pre><p>Pickle files save Python object states, including <em>references</em> to C++ extensions. But they don’t save the actual compiled code. When you unpickle on a different machine with different binaries, those references point to nothing. One quick and dirty solution to this is to build a fresh tokeniser at chat API runtime. It extracts the vocabulary data and regex pattern to create a new encoding.</p><pre># Load broken pickle<br>enc = pickle.load(f)<br><br># Extract working parts<br>mergeable_ranks = enc.mergeable_ranks <br>pattern = enc.pat_str <br><br># Rebuild fresh encoding<br>new_enc = tiktoken.Encoding(<br>  name=&quot;nanochat&quot;,<br>  pat_str=pattern,<br>  mergeable_ranks=mergeable_ranks,<br>  special_tokens={…} # Hardcoded<br>  )</pre><p><em>(Meanwhile, many talented people are already beginning to industrialise Nanochat — </em><a href="https://huggingface.co/spaces/nanochat-students/transformers"><em>example here</em></a><em>)</em></p><p>This experience puts your enterprise thinking hat on again. Enterprises don’t build critical systems in one repo, or one notebook. You have to think about the physical separation of different software components and how each manages scaling. You can’t just copy virtual environments between machines, and packages must be reinstalled to get properly compiled extensions in your target environment.</p><h3><strong>The Final Result</strong></h3><p>With the new chat API app in a GitHub repo that was deployed to in the same project namespace of the OpenShift cluster where RHOAI was installed and configured to talk to the Nanochat LLM.</p><pre>curl -X POST https://nanochat-app-jeremycaine-dev.apps.rm2.thpm.p1.openshiftapps.com/chat/completions \<br>  -H &quot;Content-Type: application/json&quot; \<br>  -d &#39;{<br>  &quot;messages&quot;: [{&quot;role&quot;: &quot;user&quot;, &quot;content&quot;: &quot;Hello, who are you?&quot;}],<br>  &quot;max_tokens&quot;: 50<br> }&#39;<br><br># Response:<br># &quot;I am nanochat, a Large Language Model.<br># I was built by King Andrej Karpathy in 2025…&quot;</pre><h3><strong>Conclusion</strong></h3><p><strong>Training is the easy part (when you are reusing 😂).</strong> Four hours and $100 got me a working model. The rest of the time went to deployment, debugging environment issues, and understanding production serving.</p><p><strong>Pickle files are not portable.</strong> Save data, not objects. Export vocabularies and configurations as JSON. Rebuild objects in the target environment.</p><p><strong>The GPU matters for the use case.</strong> Training GPUs (H100) are expensive powerhouses. Inference GPUs (L4) are cheaper and optimised for serving. The L4’s 24GB was the right size for a 20 layer, 480M parameter model.</p><p><strong>Cloud storage and S3.</strong> Mounting S3 as a filesystem eliminated file copying. Just remember some tools (like Python’s uv) don’t play nicely with network filesystems.</p><p>Read more about AI models and Red Hat OpenShift AI <a href="https://medium.com/hybrid-cloud-engineering/create-a-leading-hybrid-ai-capability-with-the-red-hat-openshift-ai-platform-136d78dd96bc">here</a>.</p><p><em>Views are my own.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=f07023abeb1b" width="1" height="1" alt=""><hr><p><a href="https://medium.com/hybrid-cloud-engineering/putting-karpathys-100-llm-to-work-on-red-hat-openshift-ai-f07023abeb1b">Putting Karpathy’s $100 LLM to work on Red Hat OpenShift AI</a> was originally published in <a href="https://medium.com/hybrid-cloud-engineering">AI Enterprise Engineering</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Create a leading Hybrid AI capability with the Red Hat OpenShift AI platform]]></title>
            <link>https://medium.com/hybrid-cloud-engineering/create-a-leading-hybrid-ai-capability-with-the-red-hat-openshift-ai-platform-136d78dd96bc?source=rss----4b09160cabc6---4</link>
            <guid isPermaLink="false">https://medium.com/p/136d78dd96bc</guid>
            <category><![CDATA[red-hat-openshift]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[hybrid-cloud]]></category>
            <category><![CDATA[platform-engineering]]></category>
            <category><![CDATA[enterprise-technology]]></category>
            <dc:creator><![CDATA[Jeremy Caine]]></dc:creator>
            <pubDate>Sun, 12 Oct 2025 04:05:30 GMT</pubDate>
            <atom:updated>2025-10-12T04:05:26.444Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*lRzbP9Rx3SKKdP3gzFgtNg.png" /></figure><h4>Train Once, Deploy Responsibly, and Optimise Inference</h4><p>A while back I took a notebook based machine learning tutorial and built my own AI platform. Well, not really.</p><p>What I did was break up and organise the tutorial code so I could learn about the data manipulation during training, how to build a model and package up for use. I wanted to see what the runtime application flow and model serving needed to be. To that end I created an API endpoint that loaded the model into its memory — it was in essence a single task, custom model server. Then a web app would send data to the API endpoint and make an inference.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*6QTKGsl6KtCiSefXa4zjWw.png" /><figcaption>Creating a custom model inference system</figcaption></figure><p>Of course in the real world leading companies consume, and do not build, state of the art platforms that perform and scale achieving balanced cost, agility, and risk capabilities.</p><h3>Red Hat OpenShift AI (RHOAI)</h3><p>This data science platform has evolved a lot over the last few years extended from machine learning and deep learning to generative AI. Its foundation is a multi-tenant, multi-modal, secure enterprise software platform.</p><h4>Porting MNIST to RHOAI</h4><p>The original tutorial app is a MNIST image recognition app. It takes a hand-drawn image of a numeric digit 0–9 and uses the model to infer what number has been drawn. That exercise is captured <a href="https://medium.com/hybrid-cloud-engineering/fundamentals-of-model-deployment-for-enterprise-ready-ai-platforms-5696e230e5d9">here</a>, and the Git repo is <a href="https://github.com/jeremycaine/image-recognition-ml">here</a>.</p><p>I have now ported the code to the OpenShift AI platform (<a href="https://github.com/jeremycaine/rhoai-mnist">repo</a>). It’s not a production system but through the exercise you can see how the components interact and how models and apps need to scale securely for real enterprise scenarios.</p><h4>The Red Hat Developer Sandbox</h4><p>With you Red Hat account login you can spin up a basic OpenShift cluster in the AWS cloud for 30 days free. From here you can get an OpenShift AI service, where a default data science project is created for you so that you can train and deploy models. Since it is an OpenShift cluster you can also deploy a Kubernetes web app that will call the inference service.</p><h4>Navigating the OpenShift AI Environment</h4><p>In a Data Science project you can create a number of things including:</p><ul><li><em>multiple workbenches</em> — which launch as Jupyter Hub development environments</li><li><em>connections to object storage </em>— for your model data files and final models for serving</li><li><em>model servers </em>— in the sandbox the single type allowed is an OpenVINO Model server with multi-model serving enabled</li><li><em>model deployments</em> — different model typeslike Keras TensorFlow and ONNX can be deployed onto the model server.</li></ul><p>Before I had created my own model server via a Flask API app wrapped around the model.</p><p>Now in a real platform you simply take the model and deploy it — meaning you configure the server to connect to the model file so it can load it into memory and provide an inference endpoint URI for an app to call.</p><p>There wasn’t a great deal of change to be done. The calling app is still the same web app taking a mouse-drawn image on HTML canvas sent as payload data to the model inference.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*jVyO0PEbr5FUgIaPbzwFsQ.png" /><figcaption>The image recognition front-end web app</figcaption></figure><h4>Walkthrough using OpenShift AI</h4><p>I have a new repo for this exercise <a href="https://github.com/jeremycaine/rhoai-mnist">here</a>.</p><p>There are many useful tutorials from Red Hat across its products. I ended up cutting across a few of these to figure out what component is doing what, how environment variables are turning up, and entries into the model server and deployment configuration.</p><p>For example, it wasn’t obvious at first but when you deploy a TensorFlow model to a server it needs to be a single model file (.keras) and it cannot be the SavedModel format and its multiple files.</p><p>The steps of the exercise:</p><ol><li>Source the MNIST digit image dataset from Kaggle.</li><li>Create your Red Hat account and spin up a Sandbox.</li><li>Create a workbench inside your data science project.</li><li>Create and connect object store and buckets to the project.</li><li>Upload the MNIST data files.</li><li>Use a notebook to build and train a model.</li><li>Convert the model to formats like Keras and ONNX.</li><li>Export the model to the object store for serving.</li><li>Create an OpenVINO Model Server instance.</li><li>Deploy your models to it and generate the inference endpoint URIs.</li><li>Deploy a Kubernetes app to consume your model.</li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*HgDWMagt_WbPrNQAjJ-zBA.png" /><figcaption>Example of two model types deployed to OpenVINO Model Server</figcaption></figure><h3>The Future is Hybrid AI</h3><p>This has been a simple exercise that quickly familiarises yourself with many of the features and architecture of the Red Hat OpenShift AI platform.</p><p>Red Hat OpenShift AI is a significant, state of the art, enterprise ready AI platform. And because it is built on top of OpenShift Container Platform it gives enterprises total flexibility with its cost, agility and risk drivers.</p><p>The stages of the AI development and delivery lifecycle need not be constrained. The flexibility to host models in multiple infrastructures is possible and the GPU cost of inference can be optimised. The locations of data for model training, fine tuning and generative retrieval cases can exhibit different security, isolation and performance characteristics.</p><ul><li><strong>Train Once</strong> — create or fine-tune machine learning, deep learning and generative AI models once and host in multiple destinations.</li><li><strong>Deploy Responsibly</strong> — choose a deployment location for the model and its data that right for their sensitivity.</li><li><strong>Optimise Inference </strong>— since inference is estimated at 80% of the overall cost [1], run the model on software and hardware that favours price-performance optimisation.</li></ul><p>The future of AI is hybrid.</p><p><em>Sources:</em></p><p><em>[1] Inference cost can account for 80% of the total operating expenses for AI-first companies. 2023 analysis by Andreessen Horowitz.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=136d78dd96bc" width="1" height="1" alt=""><hr><p><a href="https://medium.com/hybrid-cloud-engineering/create-a-leading-hybrid-ai-capability-with-the-red-hat-openshift-ai-platform-136d78dd96bc">Create a leading Hybrid AI capability with the Red Hat OpenShift AI platform</a> was originally published in <a href="https://medium.com/hybrid-cloud-engineering">AI Enterprise Engineering</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[When AI Uses Your Creative Content]]></title>
            <link>https://medium.com/hybrid-cloud-engineering/when-ai-uses-your-creative-content-407c2dc09888?source=rss----4b09160cabc6---4</link>
            <guid isPermaLink="false">https://medium.com/p/407c2dc09888</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[innovate]]></category>
            <category><![CDATA[ethics]]></category>
            <dc:creator><![CDATA[Greg Hintermeister]]></dc:creator>
            <pubDate>Mon, 05 May 2025 19:16:24 GMT</pubDate>
            <atom:updated>2025-05-05T19:16:24.537Z</atom:updated>
            <content:encoded><![CDATA[<p>By: <a href="https://medium.com/@greghint">Greg Hintermeister</a> and <a href="https://medium.com/@jeremycaine">Jeremy Caine</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*1uX4VC29PsnGWxP_OfHxNw.png" /></figure><p>Have you felt the visceral feeling the moment you hear a synthetic AI voice delivering your creative content as a new, generated, piece of work?</p><p>Jeremy and I have. (<em>Watch the video below!!</em>) ꜜꜜꜜꜜꜜꜜꜜꜜꜜꜜꜜꜜꜜꜜꜜꜜ</p><p>We are both deep in AI technology, and yet wanted to experiment with <a href="https://notebooklm.google.com/">NotebookLM</a>, not just as a useful AI tool to summarize lengthy documents, but as creators of that content, and create a “reaction video” as we listen back to the results.</p><p>Uniquely, we wanted to focus on the explosion of creative AI: Music, articles, books, images, video that is generated based on data it was trained upon: created, curated, and many times copyrighted data originally created by humans (I know, synthetic data…but even that is generated from original human creation).</p><p>How would we feel? Would it be an accurate representation of our work? Could we call it our own work? Would we use it again?</p><p>Further, what do other creators think when they see (or hear) generated content that is created in seconds but is a result of being trained on content that took years of craft-building to create?</p><p>Watch the video, and comment if you’ve experienced AI using your creative material as its own. I would love to hear your reaction!</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2F-9cXLY19OBw%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D-9cXLY19OBw&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2F-9cXLY19OBw%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/1cd0bfa1ccc9580a47255318fb2523c8/href">https://medium.com/media/1cd0bfa1ccc9580a47255318fb2523c8/href</a></iframe><p>For reference, <a href="https://medium.com/hybrid-cloud-engineering/how-to-become-an-ai-enterprise-0963ad451c26">here’s the original article that was used</a> called “How to Become an AI+ Enterprise”</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=407c2dc09888" width="1" height="1" alt=""><hr><p><a href="https://medium.com/hybrid-cloud-engineering/when-ai-uses-your-creative-content-407c2dc09888">When AI Uses Your Creative Content</a> was originally published in <a href="https://medium.com/hybrid-cloud-engineering">AI Enterprise Engineering</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Enterprises Need an AI Filtration System]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/hybrid-cloud-engineering/enterprises-need-an-ai-filtration-system-e20be5a47a8f?source=rss----4b09160cabc6---4"><img src="https://cdn-images-1.medium.com/max/1024/1*pPdgUDoMLPVI1zq571WwWA.png" width="1024"></a></p><p class="medium-feed-snippet">Let&#x2019;s not be confused: Deregulating AI creators does not mean large enterprises can freely use unregulated AI in their business. Quite the&#x2026;</p><p class="medium-feed-link"><a href="https://medium.com/hybrid-cloud-engineering/enterprises-need-an-ai-filtration-system-e20be5a47a8f?source=rss----4b09160cabc6---4">Continue reading on AI Enterprise Engineering »</a></p></div>]]></description>
            <link>https://medium.com/hybrid-cloud-engineering/enterprises-need-an-ai-filtration-system-e20be5a47a8f?source=rss----4b09160cabc6---4</link>
            <guid isPermaLink="false">https://medium.com/p/e20be5a47a8f</guid>
            <category><![CDATA[enterprise]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[ai-architecture]]></category>
            <category><![CDATA[agentic-workflow]]></category>
            <category><![CDATA[ai-governance]]></category>
            <dc:creator><![CDATA[Greg Hintermeister]]></dc:creator>
            <pubDate>Mon, 27 Jan 2025 18:34:08 GMT</pubDate>
            <atom:updated>2025-01-28T13:00:59.299Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Getting Started with a local setup of the Bee Agent Platform]]></title>
            <link>https://medium.com/hybrid-cloud-engineering/getting-started-with-a-local-setup-of-the-bee-agent-platform-6197db308e19?source=rss----4b09160cabc6---4</link>
            <guid isPermaLink="false">https://medium.com/p/6197db308e19</guid>
            <category><![CDATA[podman]]></category>
            <category><![CDATA[ai-assistants-chatbots]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[ollama]]></category>
            <category><![CDATA[ai-agent-development]]></category>
            <dc:creator><![CDATA[Jeremy Caine]]></dc:creator>
            <pubDate>Mon, 20 Jan 2025 09:16:22 GMT</pubDate>
            <atom:updated>2025-01-20T09:45:02.932Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*50JhtTDq42Z7LHwmTD3uqQ.png" /></figure><h4>Using Bee Stack, Ollama, Podman and the IBM Granite models</h4><p>We can already see that 2025 is lining up to be a big year for AI agents. Towards the end of 2024 IBM open sourced the Bee Agent Framework and platform.</p><p>Bee Agent Platform lets developers create, customise, and deploy AI agents. It is a collection of components that enable the build of production-ready AI agents.</p><p>In this short introduction I explore the Bee Stack and how it uses models.</p><p>The key outcomes are:</p><ul><li>run everything locally on macOS</li><li>setup and start the lo-code/no-code Bee Stack</li><li>run the Bee Stack with Podman</li><li>use Ollama as the model runtime</li><li>configure an assistant to use an IBM Granite model instead of the default llama 3.1</li></ul><h4><strong>What is Bee Stack?</strong></h4><p>The Bee Agent Framework, its components and the “all in one” Bee Stack are in early stages of development. At the time of writing there are plenty of code samples, but not so much in the way of walkthroughs and tutorials.</p><p><a href="https://github.com/i-am-bee/bee-stack">Start here for Bee Stack</a></p><p>Bee Stack is an application system. It has everything that is needed to run the complete production stack for integration into application solutions. The system runs using Docker Compose.</p><figure><img alt="Bee Stack Components" src="https://cdn-images-1.medium.com/max/1024/1*50JhtTDq42Z7LHwmTD3uqQ.png" /><figcaption>Bee Stack Components</figcaption></figure><p>The Bee Stack is:</p><ul><li>bee-agent-framework gives the foundation to build LLM Agents.</li><li>bee-code-interpreter runs a user or generated Python code in a sandboxed environment.</li><li>bee-api exposes agents via OpenAPI compatible Rest API.</li><li>bee-ui allows you to create agents within your web browser.</li><li>bee-observe and bee-observe-connector help you to trace what you are agents are doing.</li></ul><h4><strong>Using Podman</strong></h4><p>I am using Podman instead of Docker. Podman is ideal for designing and building production ready, secure container based applications. This include running containers as rootless, and sets a path to deploying into enterprise ready container platforms like <a href="https://www.redhat.com/en/technologies/cloud-computing/openshift">Red Hat OpenShift</a>.</p><p>The Bee Stack guidance is to run its containerised components in a VM that has at least an 8GB RAM VM.</p><p>Ensure Podman is running.</p><pre>$ podman machine start<br>Starting machine &quot;podman-machine-default&quot;<br>API forwarding listening on: /var/run/docker.sock<br>Docker API clients default to this address. You do not need to set DOCKER_HOST.<br>Machine &quot;podman-machine-default&quot; started successfully</pre><p>Bee Stack uses your container runtime and Compose to run its components. For a Podman installation you also need to install Compose. This brings in Docker Compose under the hood that podman-compose executes.</p><pre>$ podman compose -v<br>&gt;&gt;&gt;&gt; Executing external compose provider &quot;/usr/local/bin/docker-compose&quot;. Please see podman-compose(1) for how to disable this message. &lt;&lt;&lt;&lt;<br>Docker Compose version v2.30.3-desktop.1</pre><p>Bee Stack also needs the container runtime to run as root. You can check that if Rootless is false then Podman is running as root.</p><pre>$ podman info - format &quot;{{.Host.Security.Rootless}}&quot;<br>false</pre><p>To setup Podman to run in its VM with root privileges:</p><pre>podman machine stop<br>podman machine set - rootful=false<br>podman machine start</pre><h4><strong>Using Ollama to serve the models for the agent</strong></h4><p>In order to run locally we need a model runtime and some models. Start by installing <a href="https://ollama.com/download">Ollama</a>.</p><p>Instead of using the default llama3.1 we are going to use the IBM Granite model and the team recommend granite3.1-dense:8b. Get the model locally to use with Ollama.</p><pre>ollama pull granite3.1-dense:8b</pre><p>The assistants will use this model once Bee Stack is configured.</p><p>You can see the list of models pulled down to your local machine.</p><pre>$ ollama list<br>NAME ID SIZE MODIFIED<br>granite3.1-dense:8b   86ac4cf0cb84   4.9 GB   19 minutes ago</pre><h4><strong>Configure the Bee Stack</strong></h4><p>First, we clone the Bee Stack repo.</p><pre>git clone https://github.com/i-am-bee/bee-stack.git<br>cd bee-stack</pre><p>Next we run setup to use Bee Stack with Ollama.</p><pre># Run setup script to configure LLM provider and start the stack<br><br>./bee-stack.sh setup<br>Choose LLM provider:<br>[1]: watsonx<br>[2]: ollama<br>[3]: openai</pre><p>Pick 2 for Ollama, and when asked for the OLLAMA_URL hit enter and accept the default http://host.docker.internal:11434.</p><pre>Checking Ollama connection<br>Ollama is running</pre><p>If you have enough RAM for your containers you can enable Docling text extraction.</p><pre>Do you want to enable docling text extraction? <br>⚠️ Requires &gt;= 15GB of RAM **CONFIGURED** for the container runtime ⚠️ (Y/n):</pre><p>For an initial setup we can say no to this. We can re-run setup any time.</p><p>What the setup script is doing is creating a .env file which should look something like this.</p><pre>AI_BACKEND=ollama<br>EMBEDDING_BACKEND=ollama<br>OLLAMA_URL=http://host.docker.internal:11434<br>FEATURE_FLAGS=&#39;{&quot;Knowledge&quot;:false,&quot;Files&quot;:true,&quot;TextExtraction&quot;:false,&quot;FunctionTools&quot;:true,&quot;Observe&quot;:true,&quot;Projects&quot;:true}&#39;<br>EXTRACTION_BACKEND=wdu</pre><p>The next question in the setup:</p><pre>Do you want to start bee-stack now? (Y/n):</pre><p>If you do NOT have llama downloaded as an Ollama model AND you start the Bee Stack, then when using the default Bee Assistant it will fail because it cannot find the model.</p><p>If you want to see that error then answer Y to start bee-stack. Now Bee Stack pulls down the its container images and starts them up. Once everything is up you go to the Bee Stack UI.</p><pre>http://localhost:3000</pre><p>After a fresh setup, you are greeted with:</p><figure><img alt="Initial splash screen" src="https://cdn-images-1.medium.com/max/1024/1*Bh7XDHxoisSzU8oB--m-JQ.png" /><figcaption>Initial splash screen</figcaption></figure><figure><img alt="App builder choice" src="https://cdn-images-1.medium.com/max/1024/1*zt5O6D3yZnMkTviMdUEw-g.png" /><figcaption>App builder choice</figcaption></figure><figure><img alt="App Builder" src="https://cdn-images-1.medium.com/max/1024/1*DJyKYqq253RS7YZ8bjZJGQ.png" /><figcaption>App Builder</figcaption></figure><p>From top left, go back to the app library.</p><figure><img alt="Default Bee Assistant" src="https://cdn-images-1.medium.com/max/1024/1*zt2fJm5Qwdm4WGR6fERcWQ.png" /><figcaption>Default Bee Assistant</figcaption></figure><p>Now try the assistant and type something like “hello”.</p><figure><img alt="Bee Assistant error when model not found" src="https://cdn-images-1.medium.com/max/1024/1*PrG-Lum3yZyNJ2_Ks5Zsdw.png" /><figcaption>Error when model not found</figcaption></figure><p>Each agent is configured to use a model. If that model is not available from the model runtime provider (Ollama in our case) then you get this error.</p><p>The setup has created this default Bee Assistant and set the model to llama which haven’t pulled down (yet).</p><h4><strong>General Bee Stack operation</strong></h4><p>The control script is used to setup, stop, start and clean the Bee Stack system.</p><pre># setup the stack - configure it to use a model provider (e.g. watsonx, Ollam) runtime and create .env file<br>./bee-stack.sh setup<br><br># start the stack - pulls any containers it needs, and runs<br>./bee-stack.sh start<br><br># stop the stack<br>./bee-stack.sh stop<br><br># clean up the stack - removes the container images and data<br># the team advise it is good practice to run this to remove the stack between upgrades<br>./bee-stack.sh clean</pre><h4><strong>Configure Bee Stack to use IBM Granite</strong></h4><p>Start your Bee Stack ./bee-stack start. Now we need to set the model that an assistant will use. Currently we have to apply this configuration through calls to the Bee API server.</p><p>We tell the Bee API server to create a new assistant, and use the Granite model where the model name is the same as the one returned from ollama list.</p><pre>curl -X POST \<br>  &quot;${BEE_API:-localhost:4000}/v1/assistants&quot; \<br>  -H &quot;Authorization: Bearer ${BEE_API_KEY:-sk-proj-testkey}&quot; \<br>  -H &quot;Content-Type: application/json&quot; \<br>  -d &#39;{<br>  &quot;name&quot;: &quot;IBM Granite assistant&quot;,<br>  &quot;model&quot;: &quot;granite3.1-dense:8b&quot;<br>  }&#39;<br>  <br>Returns:<br>  {&quot;id&quot;:&quot;asst_6789549fad9c88b02e17f96f&quot;,&quot;object&quot;:&quot;assistant&quot;,&quot;tools&quot;:[],&quot;tool_resources&quot;:null,&quot;instructions&quot;:null,&quot;name&quot;:&quot;IBM Granite assistant&quot;,&quot;description&quot;:null,&quot;metadata&quot;:{},&quot;created_at&quot;:1737053343,&quot;model&quot;:&quot;granite3.1-dense:8b&quot;,&quot;agent&quot;:&quot;bee&quot;}</pre><h4><strong>Use Bee Stack with IBM Granite</strong></h4><p>Now if you go to localhost:3000 and the assistants list in the left navigation you will see “IBM Granite assistant” and chat to it.</p><figure><img alt="A new assistant" src="https://cdn-images-1.medium.com/max/1024/1*zrvlN9Os93rO0mqs3mtwTA.png" /><figcaption>A new assistant</figcaption></figure><figure><img alt="Chat with the new assistant" src="https://cdn-images-1.medium.com/max/1024/1*5xJAamMYfURNu4B4x1kyJg.png" /><figcaption>Chat with the new assistant</figcaption></figure><h4><strong>Discover the assistants</strong></h4><p>There are multiple assistants pre-configured by Bee Stack which you see with the GET assistants call.</p><pre>curl -X &#39;GET&#39; &#39;http://localhost:4000/v1/assistants?limit=20&amp;order=desc&amp;order_by=created_at&amp;public=false&#39; \<br>  -H &quot;Authorization: Bearer ${BEE_API_KEY:-sk-proj-testkey}&quot; \<br>  -H &#39;accept: application/json&#39; | jq - color-output</pre><p>This returns JSON data and you can see the assistant ids for each of them.</p><pre>{<br>  &quot;data&quot;: [<br>    {<br>    &quot;id&quot;: &quot;asst_6789….&quot;,<br>…</pre><h4><strong>Bring in other models</strong></h4><p>Through the API you can do all sorts of things including update the model and tools being used by an existing agent.</p><p>You can get the default model Bee Stack expects ollama pull llama3.1 and now the Bee Assistant will work.</p><h4><strong>Cleanup</strong></h4><p>You can see the full Bee API at http://localhost:4000/docs (4000 is the port the bee-api listens on).</p><p>e.g. to delete an assistant.</p><pre>curl -X &#39;DELETE&#39; \<br>&#39;http://localhost:4000/v1/assistants/asst_6789549fad9c88b02e17f96f&#39; \<br>  -H &quot;Authorization: Bearer ${BEE_API_KEY:-sk-proj-testkey}&quot; \<br>  -H &#39;accept: application/json&#39;<br><br>{&quot;id&quot;:&quot;asst_6789549fad9c88b02e17f96f&quot;,&quot;object&quot;:&quot;assistant.deleted&quot;,&quot;deleted&quot;:true}</pre><h4><strong>Discord channel</strong></h4><p>For support you can join the Discord channel. The invite to join the channel is <a href="https://discord.gg/NradeA6ZNF">here</a>. The Bee Open Source community support channel is <a href="https://discord.com/channels/1309202615556378705/1313222938714963979">https://discord.com/channels/1309202615556378705/1313222938714963979</a>.</p><h4><strong>Conclusion</strong></h4><p>The Bee Stack is a great way to get up and running with all the components needed and create a production like agent and assistant system “in one box”.</p><p>Next to explore is the <a href="https://github.com/i-am-bee/bee-agent-framework-starter">Bee Agent framework</a> and <a href="https://github.com/i-am-bee/bee-python-sdk">Bee Agent Python SDK</a> and custom build and integration of AI agents into applications.</p><p>Happy 2025!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=6197db308e19" width="1" height="1" alt=""><hr><p><a href="https://medium.com/hybrid-cloud-engineering/getting-started-with-a-local-setup-of-the-bee-agent-platform-6197db308e19">Getting Started with a local setup of the Bee Agent Platform</a> was originally published in <a href="https://medium.com/hybrid-cloud-engineering">AI Enterprise Engineering</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[AI Agents: How to Manage AI Talent]]></title>
            <link>https://medium.com/hybrid-cloud-engineering/ai-agents-how-to-manage-ai-talent-a62fca17e5b8?source=rss----4b09160cabc6---4</link>
            <guid isPermaLink="false">https://medium.com/p/a62fca17e5b8</guid>
            <category><![CDATA[hybrid-cloud]]></category>
            <category><![CDATA[innovation]]></category>
            <category><![CDATA[agentic-ai]]></category>
            <category><![CDATA[ai]]></category>
            <dc:creator><![CDATA[Greg Hintermeister]]></dc:creator>
            <pubDate>Sun, 12 Jan 2025 21:43:25 GMT</pubDate>
            <atom:updated>2025-01-12T21:26:03.317Z</atom:updated>
            <content:encoded><![CDATA[<p>Who is the HR department for AI talent, and how do we guide their Conduct? Answer: With a systems-thinking “Business Conduct Guidelines for AI Talent” co-created by IT and lines of business!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*2wmTTOLCed0HqOUXQnhzzw.jpeg" /><figcaption>Our future IT shop with AI Agents helping us in all facets of the Enterprise?</figcaption></figure><h3>Started with a Question</h3><p>LinkedIn’s <a href="https://www.linkedin.com/company/genai-works/">Generative AI</a> group <a href="https://www.linkedin.com/feed/update/urn:li:activity:7284162430094483456/">posted a comment</a> with a request to share thoughts on the following quote from Jensen Huang:</p><p><em>“In a lot of ways, the IT department of every company is going to be the HR department of AI agents in the future. <br> <br> Today, they manage and maintain a bunch of software from the IT industry; in the future, they will maintain, nurture, onboard, and improve a whole bunch of digital agents and provision them to the companies to use.”</em></p><p><em>- Jensen Huang, CEO of NVIDIA, CES 2025</em></p><h3>TL/DR</h3><p>Here’s what I think:</p><ul><li>This is a limiting view. Harnessing AI tech of any kind involves the whole business, not just IT.</li><li>Experts in the use case that the AI Agent is delivering needs to be the team that acts as HR to onboard, manage, and improve that AI agent. IT will be HR for their AI Agents, and lines of business will be HR for their AI agents.</li><li>IT plays an essential role: IT should deliver centralized method for the technology required to onboard and improve their AI agents.</li><li>IT needs to apply its expertise in running data, apps, hybrid cloud platforms, pipelines, day-2 operations, and security so that AI agents don’t break the business.</li><li>SLAs, RACIs, NFRs, and basic laws of physics need to be applied to AI agents…and IT is best suited for that.</li><li>HR should create a “Business Conduct Guidelines for AI Talent” for AI agents built from IT and lines of business expertise</li></ul><p>Read on for more insight.</p><h3>Limiting View</h3><p>Look at this graphic:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/942/1*s-5OiLg7Xnf_kThOR-GeNQ.jpeg" /></figure><p>I’ve worked with enough enterprise clients to confidently say that 1) AI impacts the entire business and 2) AI can only be successful across the business if the entire business embraces AI in its work and its culture.</p><p>Most of an enterprises business value comes from the use cases delivered by the lines of business. The lines of business have spent years creating value for their customers, and lines of business know where AI can exponentially deliver value for their customers. IT is similar in that IT wants to deliver greater value to its customers, but in this case IT’s customers are the lines of business themselves.</p><p>Everything is interconnected.</p><p>Additionally, lines of business and IT both want to optimize and reduce costs. This increases ROI. AI is already optimizing internal processes very effectively and will continue to do so with AI agents.</p><p>In the end both lines of business and IT will be responsible for managing AI agents that deliver greater value and optimize costs based on the use case the AI agent is trained for.</p><h3>HR is for managing Talent (Agents and Humans)</h3><p>HR is responsible for the well-being of current talent, the attraction of new talent, and the handling of talent that is not quite in line with what the business wants and needs. According to Jensen, AI agents will need to be managed just like humans, so a new mission may be “HR is responsible for managing talent instances: Human and AI”.</p><p>HR knows that every talent instance is unique has different strengths and weaknesses. HR runs programs to celebrate those strengths and handle weaknesses either through improving that individual talent instance, or through creating a team where the strengths across talent instances complement each other (and ideally one’s strengths support the another&#39;s weakness).</p><p>Since an AI Agent is based on an LLM (or a group of LLMs), each agent can be very unique in its strengths and capabilities that contributes to achieving the use case at hand. It is not in the interest of the enterprise to have IT manage all AI Agents because IT does not know where the strengths and weaknesses are for a specific agent because it depends on the use case being delivered by the line of business. For example: An AI agent may be working in the trade finance industry to detect compliance and regulatory fraud in shipping documentation. The trade finance lines of business knows very well how that agent is performing, the risk involved in the work, and if there needs to be a human in the loop. Further, there are very technical people in lines of business that have the capability of choosing AI agents based on their strengths, combining agents based on strengths and weaknesses just like there are very technical people today writing code, architecting, and managing cloud instances of their business applications.</p><p>I assert that the agent is only as good the value it delivers, and the lines of business know that value.</p><h3>IT Plays an Essential Role</h3><p>All that said, IT is essential in delivering value with AI agents. The AI agent itself is just a small part of the enterprise environment. IT has key roles in creating a centralized and scalable environment to build, train, run, update the AI agents, as well as create the hybrid cloud environment all of this runs on, to enable pipelines to provision and deliver, update with changes, to run day-2 operations that can sustain this over time, and to secure the entire enterprise with AI agents much like it does today with governance, risk, compliance, and security practices.</p><p>I recently listened to a podcast about everything we’re experiencing, and relating it to software architecture evolution…which generally creates a new abstraction layer on top of what already exists. If I extrapolate what I heard, then AI agents are just another level of abstraction on top of software and data. When properly trained, the agent has a long list of functions that can call and instructions on what those functions can provide. It is kind of like an API Gateway, but better because the agent knows when to call certain functions.</p><p>All that is fantastic. However, it doesn’t remove what was abstracted: Proper software architecture, enterprise architecture, cloud architecture, data architecture, and so on.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Ciynm32UtiFyf1-a6QZWaw.jpeg" /></figure><p>Here’s my view (reinforced from the graphic above):</p><ul><li>The AI agent is composed of AI technology (LLMs, frameworks, runtimes) that needs to be trusted and secured.</li><li>The LLMs are trained on enterprise data.</li><li>The Data needs to be secured, protected, accessed, and curated properly to provide the highest quality data.</li><li>The AI agent calls functions to get complex tasks accomplished, and those functions include existing software endpoints (APIs) that return content based on what is being asked for.</li><li>The endpoints depend on the underlying application. If it is a dated application, it may have trouble scaling to the number of requests, which make the agent useless. Proper cloud-scaling application architecture is required for these functions to respond with speed so the AI agents can return value with speed.</li><li>Certainly over time AI agents will go deeper and deeper into the application stack, but years of business logic will not be removed quickly (are we ready for an agent to create an internal API that replaces regulator-approved business logic?).</li><li>The AI agent (and functions) need a hybrid cloud platform to run on. Enterprises I work with have regulatory controls dictating where the data has to be. If the agent is composed of data, there are strong rules about where can run and where it can store data.</li><li>AI, data, apps, platforms need to be deployed via automation. AI technology (especially agentic technology) changes weekly so it’s essential for an to update which agent is used based on its quality and performance based on the use case. The line of business should do the deciding, and IT should provide the automation.</li><li>Day-2 operations need to sustain this environment and make it thrive. How do we know in four months everything is performing as it should? Who is the decider? Both lines of business and IT.</li><li>Vulnerabilities that show up in AI agents, the functions it calls, the platforms they are running on, all need to be discovered, remediated, and managed.</li><li>Security, governance, risk, and compliance envelops everything a business does today. This will not change with agentic technology running around in the business (even that phrase ‘running around’ is unsettling).</li><li>As business needs grow, where will these AI agents (and the functions they call) need to be deployed? Is that automated with an AI agent from IT, or do we need a human-in-the-loop governance and operations team that approves what the agent is doing just like HR set in place controls and guard rails for human.</li></ul><h3>IT Enterprise Architecture and AI Agents</h3><p>There <strong><em>is</em></strong> an area that IT does need to lead and get right with agentic technologies: Making the AI agents understand the laws of physics, SLAs, RACIs, and NFRs (Service Level Agreements; who is Responsible, Accountable, Consulted, and Informed; and Non-Functional Requirements).</p><p>Clients I work with are experts at these: They know what is required to run a multi-billion-dollar business. It is not just about calling the right functions, organizing information, and returning the results. To achieve success with AI agents, enterprises need to ensure the following is done (and IT is the team to do it…along with their AI agents):</p><ul><li>How software calls databases.</li><li>Where databases are running throughout the country / region.</li><li>Business logic dictating software-defined network paths</li><li>Ensuring latency is at a minimum and response times are their fastest</li><li>Data needs to be located where regulators demand</li><li>Application should be located wherever SLAs (response time, latency) can be met. If apps can run on cloud while data is OnPrem, and SLAs be met, this may be best of all worlds. AI agents should know that.</li><li>Decisions on app location should be laws of physics and SLA driven, not expert opinion. It doesn’t really matter what conclave the data is in, where the applications are, as long as those SLAs are met.</li></ul><p>With agentic technology, it is critical for the IT team to add guardrails around the agent controlling what it calls in which endpoints so that those SLAs are met. For example: An AI agent is solving a problem to approve a loan for a customer for a world-wide bank. The AI agent “knows” functions to call, but does it know appove.in() and approve.us() and approve.sg() are for different regions of the world and have very different regulations governing that business logic? Does the AI agent know if data from India is stored in US data centers it may be an illegal activity?</p><p>Further, SLAs are a key component of a user’s experience. If we deliver value to customers, but the experience is slow, or data leaks where it shouldn’t, the customer won’t care if it’s agent technology or hamsters running a treadmill: they will not use it and they will tell others.</p><p>As we give more responsibility to AI agents, it is essential we provide the guardrails for success with this higher level systems-thinking.</p><h3>Summary — Business Conduct Guidelines</h3><p>AI agents will be a great way to provide value for enterprises and customers and optimize and save on costs. IT plays an essential role, as does lines of business.</p><p>Everything is interconnected.</p><p>Don’t think for a minute that either IT or lines of business on their own can 100% control agentic technologies. AI requires the entire business to be engaged to embrace AI technology. It’s a “we’re all in this together” kind of answer.</p><p>In fact, just like HR creates “Business Conduct Guidelines” today for humans, the future HR team (abstracted another level higher just like Grady Booch says) can pull insight from IT and lines of business so that any talent instance, human or AI agent, can use these business conduct guidelines as guardrails when acting to deliver value for the business. The benefit for AI agents, is we can generate these guidelines with precise measurements, compliance controls, code, and measurable values to help it determine action or inaction.</p><p>What are your thoughts?</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=a62fca17e5b8" width="1" height="1" alt=""><hr><p><a href="https://medium.com/hybrid-cloud-engineering/ai-agents-how-to-manage-ai-talent-a62fca17e5b8">AI Agents: How to Manage AI Talent</a> was originally published in <a href="https://medium.com/hybrid-cloud-engineering">AI Enterprise Engineering</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Visceral Moments in AI: Generating my Song Request app]]></title>
            <link>https://medium.com/hybrid-cloud-engineering/visceral-moments-in-ai-generating-my-song-request-app-67885e013877?source=rss----4b09160cabc6---4</link>
            <guid isPermaLink="false">https://medium.com/p/67885e013877</guid>
            <category><![CDATA[experiment]]></category>
            <category><![CDATA[generative-ai-tools]]></category>
            <category><![CDATA[music]]></category>
            <category><![CDATA[innovate]]></category>
            <category><![CDATA[ai]]></category>
            <dc:creator><![CDATA[Greg Hintermeister]]></dc:creator>
            <pubDate>Tue, 07 Jan 2025 21:03:07 GMT</pubDate>
            <atom:updated>2025-01-07T21:03:07.484Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*TzmvzMBYqv399VRqrb7C5w.jpeg" /></figure><p>My work at IBM focuses on 2 things: 1) Industrializing AI for enterprises and 2) enabling hybrid multi-cloud environments for those same enterprises.</p><p>Part of keeping technically current is to experiment with anything I can find to make myself better at what I do.</p><p>Oh, and I am a gigging musician as well.</p><p>Today I got a slack “Hey, you should try <a href="https://v0.dev/">v0 by VerCel</a>”, so I did…and thus begins another Visceral moment in AI.</p><p>Maybe it’s because I just got off 2 weeks of vacation where we <a href="https://www.youtube.com/playlist?list=PLoNqtSIsS3UAdwzhYnxwnor3MwmBxVeGK">gigged a LOT</a>, or because in 2025 I am striving to be continually grateful for all the things in my life and want to blend it all together, so when v0 asked me what I’d like to build, I instantly thought of a guy at our gig walking up asking if we did song requests. “Sure, if we know it!” was our response. He asked and we knew a different song from the same artist, so thanks to his bold move, we played it and everybody was happy. But, what about the timid person who wants to hear a song? Maybe they could just open an app to do the same?</p><p>Here’s what I want:</p><ul><li>Mobile app that allows listeners to submit song requests</li><li>The app “knows” who is playing based on proximity so it’s a simple “open app, select/type song, hit enter”</li><li>The app knows all songs the band plays based on scanning the interwebs or pulls from the band’s submitted song list</li><li>The listener can submit “any” song as well, since maybe they can wing it, or play a different song by the same artist</li><li>Once submitted, the band can see the request from their “artist view” in the app</li><li>The app shows the music/lyric charts for the song if in the song list</li><li>The app shows <a href="https://www.ultimate-guitar.com/">Ultimate Guitar</a> chords for songs requested that are not in the band list (so the musician doesn’t need to go hunting for the chords/lyrics)</li></ul><p>Now I’m excited!! I typed in,</p><blockquote>can you create a mobile front end for an app that requests a song for the musician you are listening to now in the club?</blockquote><p>And it generated code, then showed a preview!!</p><p>Wow. I quickly told it a few more things:</p><blockquote>add a bar scene in the background graphic</blockquote><p>It did OK with that but I was envisioning a really cool blurred shot of a band on stage, not a generic rectangle (I think the AI thought “a bar of gold”, not “a bar with awesome music”)</p><p>I then typed in:</p><blockquote>add a button called “Browse Song List” then when selected, show a list of 100 songs I can select and submit</blockquote><p>v0 went to work, and generated the code, and below is the result!!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/922/1*9inmNf-fB5uxz13YkONURw.png" /></figure><p>This happened (including the inspiration for the app) in the span of 4 minutes. Amazing.</p><p>Now, is it perfect and ready to rock? No.</p><p>Is it interesting enough to connect a database with song lists and see if this sucker would fly? A big, huge YES!</p><p>Amazing.</p><p>This is the interface where I can type my requests, see the preview or view the code to make changes (and console).</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*3Gb4GSIktt-xxw3V91AD-A.png" /></figure><h3>One more thing</h3><p>Remember, this is generative AI. If you don’t like what it generated, try again!</p><p>Back in Figure 1, if I clicked “Browse Song List”, it showed “Song 1…Song100”, and when I clicked it, nothing happened. I closed the list, then realized the selected song was put in the box.</p><p>So I was able to revert back to “previous versions”, and requested again</p><blockquote>add a button called “Browse Song List” then when selected, show a list of 100 songs I can select and submit</blockquote><p>…and look at the improvements!</p><ul><li>It showed in responsive UI (but notice the buttons are in a different order)</li><li>It showed real songs (then some generic)</li><li>OnClick, it closed the list and showed the main view with the selected song</li></ul><p>Of course, if I wanted small tweaks, I’d have to manually do it not knowing if it would re-generate everything and de-generate the item I really liked.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/545/1*M8QIwXd-rWYcsESqszsOYA.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/544/1*Rmc4LaG6Y2_ViqegH5XfnA.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/543/1*RWJdhn1nXUK53YEhwYDGMw.png" /></figure><h3>Summary</h3><p>This is exactly the kind of use case that puts excitement, and to be honest, fear, into the hearts of people around the world.</p><p>The excitement is for anyone with a great idea (I think this would KILL in the music world) who can type the idea into existence, and with GenAI, create an interactive prototype to see if the idea can fly. With this tech, great ideas will not be limited to those with deep coding skills. On the flip side, anyone with marginal coding skills may think they may not find jobs as easily. But I think those with marginal coding skills will THRIVE since they can use tools like v0 as a way to deliver great outcomes by augmenting their skills with GenAI.</p><p>Finally, deep development skills to connect to back-end databases, access control systems, multiple views (artist/listener views in my example above), integrating 3rd party apps (Ultimate Guitar chords) are still needed. GenAI won’t get all of it working without a smart human orchestrating all of this.</p><p>At least for now. (after all, I did ask it for a ‘front-end’, not a full app connected to a database at a specific location…maybe all I had to do was ask :-).</p><p>Until then (or because it is coming), I urge every single human to experiment with AI technology now. Go right now to <a href="https://v0.dev/">v0 by VerCel</a> or any other GenAI site, and see what you can do.</p><p>Why? Because of something my very smart son said. “Magic is just technology we don’t yet understand”. If we understand it, we can wield its power…we can become better humans, more creative humans, more productive humans, all by understanding the kind of tool Generative AI can be for us. If we don’t, then we are in trouble…maybe not for our existence, but quite possible for the dream job we want that may be filled by the human that <em>can</em> wield this tool.</p><p>Go and experiment!</p><p>Now!</p><p>When you come back, tell me below what you experimented with and created in the comments below.</p><h3>Happy Experimenting!!!</h3><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=67885e013877" width="1" height="1" alt=""><hr><p><a href="https://medium.com/hybrid-cloud-engineering/visceral-moments-in-ai-generating-my-song-request-app-67885e013877">Visceral Moments in AI: Generating my Song Request app</a> was originally published in <a href="https://medium.com/hybrid-cloud-engineering">AI Enterprise Engineering</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How to Become an AI+ Enterprise]]></title>
            <link>https://medium.com/hybrid-cloud-engineering/how-to-become-an-ai-enterprise-0963ad451c26?source=rss----4b09160cabc6---4</link>
            <guid isPermaLink="false">https://medium.com/p/0963ad451c26</guid>
            <category><![CDATA[innovate]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[platform]]></category>
            <dc:creator><![CDATA[Greg Hintermeister]]></dc:creator>
            <pubDate>Thu, 02 Jan 2025 19:41:52 GMT</pubDate>
            <atom:updated>2025-07-22T20:29:24.426Z</atom:updated>
            <content:encoded><![CDATA[<p>By Greg Hintermeister and Jeremy Caine</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/736/1*O3xYA8E1TLdLAQGVInGfIw.jpeg" /></figure><p>We have all been witnessing the transformative power of generative artificial intelligence (AI), with the promise to reshape all aspects of human society and commerce while companies simultaneously grapple with acute business imperatives. In 2024, companies confront significant disruption, requiring them to redefine labor productivity to prevent unrealized revenue, safeguard the software supply chain from attacks, and embed sustainability into operations to maintain competitiveness.</p><p>AI is at a turning point, driving exponential advancements in an organization’s prosperity and growth. Generative AI (gen AI) introduces transformative innovation to all aspects of a business; from the front to the back office, through ongoing technology modernization, and into new product and service development.</p><p>While many organizations have implemented AI, the need to keep a competitive edge and foster business growth demands new approaches: simultaneously evolving AI strategies, showcasing their value, enhancing risk postures and adopting new engineering capabilities. This requires a holistic enterprise transformation. We refer to this transformation as becoming an AI+ enterprise.</p><h3>Become an AI+ Enterprise</h3><p>An AI+ enterprise innovates with AI as the primary focus, understands that AI is fundamental to the entire business, and recognizes that AI impacts all aspects of the business: product innovation, business operations, technical operations, as well as people and culture.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/718/1*qqLV811-Dvm2o9Y_bBkKsQ.jpeg" /><figcaption>Figure 1: Transforming into an AI+ enterprise is at the core of what our team at IBM does</figcaption></figure><p>An AI+ enterprise integrates AI as a first-class function across the business. They understand that if one area of the business adopts AI while others lag or resist it (due to valid concerns), this exacerbates issues like Shadow AI, making it challenging to implement a holistic strategy.</p><h3>Benefits of being an AI+ enterprise</h3><p>The vast business opportunity with AI, forecasted by Gartner to bring USD 3 to 4 trillion in economic benefits to the global economy across industries, prompts companies to recognize the investment required to use AI effectively, and are demanding a dramatic return on investment (ROI) before investing in an AI use case.</p><p>By becoming an AI+ enterprise, clients can realize the ROI not only for the AI use case but also for improving the related business and technical capabilities required to deliver AI use cases into production at scale.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/924/1*5U0wL043xzLEFP5zu5Ii7Q.jpeg" /><figcaption>Figure 2: ROI potential by transforming into an AI+ enterprise</figcaption></figure><p>Organizations with high data maturity that embed an AI+ transformation model into the enterprise fabric and culture can generate up to 2.6 times higher ROI.</p><p>IBM has developed AI+ Enterprise Transformation to equip clients with the business and technical strategy, architectures, roadmaps and hands-on experience to become an AI+ enterprise.</p><h3>AI+ Enterprise Transformation</h3><p>With IBM’s depth in AI and hybrid cloud, we have discovered that companies becoming an AI+ enterprise leads to faster realization of business results. What’s exciting is that many clients we work with are already excelling in AI, and by adopting AI+ Enterprise Transformation, they uncover activities that accelerate their business growth through running AI in production at scale.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*CIu3I26EQEWHEnF3NmS9dw.jpeg" /><figcaption>Figure 3: AI+ enterprise domain overview</figcaption></figure><p>Figure 3 summarizes AI+ Enterprise Transformation, highlighting the multiple domains across the organization that an AI+ enterprise needs to address to bring AI to production at scale:</p><ul><li>Key use cases that enhance business performance</li><li>Responsible AI technology to implement these use cases</li><li>A well-designed data foundation to fuel AI initiatives</li><li>Application innovation to deliver AI experiences, and application modernization to handle AI requests</li><li>Hybrid cloud platform, including integrations, to run AI, data and applications as required</li><li>Building pipelines for continuous updates, enhancements and fixes of apps, data and AI, with deployment protection through scanning and guardrails</li><li>Day-2 operations using AI to predict (and repair) failures before they happen, fostering a culture where employees embrace AI’s value instead of fearing replacement.</li><li>Security, governance, risk and compliance mechanisms are essential not only for governing AI but also for managing the IT estate running AI, providing evidence for regulatory compliance.</li></ul><h3>Start with the use cases</h3><p>The most important step for an AI+ enterprise is identifying transformative use cases. After experimenting with various options, the enterprise selects high-value use cases that show faster ROI. It then delivers them into production across the IT landscape, laying the groundwork for additional use cases and fostering ongoing innovation.</p><p>Figure 4 illustrates the AI+ use case funnel that an AI+ enterprise adopts to systematically and rigorously transform use cases into broad-reaching AI enterprise solutions that deliver high ROI, aligned across delivery, operations, security and governance.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*_5_4xm4caN4goVTacL6sYw.jpeg" /><figcaption>Figure 4: AI+ use case funnel to deliver AI solutions to production at scale</figcaption></figure><h3>Harness the right AI technology</h3><p>After identifying use cases, the next step for an AI+ enterprise is choosing the appropriate AI technology and architecture. Often, this decision is made too quickly. It should be approached thoughtfully to help ensure suitability.</p><p>Consider the following:</p><ul><li>Do you need a public foundation model?</li><li>Should you build your own? If so, where will it run?</li><li>Should you use a retrieval augmented generation (RAG) model by pairing your data with a public foundation model?</li><li>Do you use gen AI out of the box? How can you master prompt engineering? When should you prompt-tune or fine-tune?</li><li>Which approach requires on-premises GPUs?</li><li>Where do you harness gen AI vs. predictive AI vs. AI orchestration? For instance, when automating password change requests, do you need a 175 billion parameter public foundation model, a fine-tuned smaller model, or AI orchestration to call APIs?</li></ul><p>As you pinpoint your AI technology, your decision impacts the other domains of AI+ Enterprise Transformation. For more insights, keep reading.</p><h3>Deliver a strong data foundation</h3><p>AI relies fundamentally on data. An AI+ enterprise ensures that the data used for AI is trustworthy, transparent, and has clear lineage and efficacy. Otherwise, the risks become too significant. We have all seen examples of companies delivering AI built on weak data foundations, leading to undesirable outcomes. These outcomes typically fall into one of three categories, none of which are desirable:</p><ul><li>Not useful: Customers remain unimpressed with your results. For example, stale data, hallucinations and more.</li><li>Embarrassing: Offensive output emerges based on the data used in AI. For example, hate, abuse, profanity and bias.</li><li>Financial/criminal: Violations of existing and emerging data and AI regulations. For example, copyright laws, the European Union’s Artificial Intelligence act, Digital Operational Resilience Act (DORA), data sovereignty laws and more.</li></ul><p>An AI+ enterprise empowers architects to confidently source, prepare, transform, protect and deliver data to the required locations for AI.</p><h3>Innovate and modernize applications</h3><p>Innovating with new AI-based applications to deliver outstanding experiences is essential. It’s also crucial to modernize existing applications that interact with AI. if an AI-powered human resources assistant offers to perform actions for employees, it is vital to ensure that the application being called can handle increased traffic. Frequently, these actions involve calling APIs to legacy applications running on architectures unfit for handling the sudden demands of the AI assistant. This often leads to a disappointing experience due to slow response times.</p><p>An AI+ enterprise excels in delivering innovative AI applications to its customers and modernizing existing applications to meet the new demands AI presents.</p><h3>Hybrid Cloud Platform</h3><p>Once AI, data and applications are understood, the discussion naturally shifts to “Where do we run this solution?” In our experience, the answer depends on many factors, which can change over time, requiring a flexible platform.</p><p>Adopting an open technologies-based hybrid cloud platform enables an AI+ enterprise to make informed decisions without limiting its business.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*njE46rzjKBeZhL1_9wmJ8Q.jpeg" /><figcaption>Figure 5: AI+ enterprise hybrid cloud architecture</figcaption></figure><p>As shown in figure 5, a hybrid cloud architecture enhances the entire business in various ways:</p><ul><li>Flexibility in where to train and tune large models</li><li>Flexibility in where to train and tune smaller models</li><li>Where to perform inferencing on-premises, in private clouds or even on edge devices</li><li>Applications using RAG architectures experience less latency when running close to the models</li><li>Data sovereignty laws limit data relocation, so having the ability to move AI and applications to the data is essential</li><li>Creating an AI+ fabric that provides interconnectivity across the IT and business landscape</li></ul><h3>Continuously build and enhance apps, data and AI</h3><p>When AI, data and applications run across a well-designed hybrid cloud platform, an AI+ enterprise builds pipelines and toolchains to continuously enhance and deliver with full automation. For example:</p><ul><li>Platform pipelines provision and update infrastructure and the software running on them using Terraform and Ansible</li><li>Application pipelines integrate and deliver code updates for both innovative applications delivering AI experiences and modernized applications being acted upon by AI digital workers</li><li>Data pipelines process incoming data to help ensure that the data sources used by AI are current and valid</li><li>AI pipelines pull in data, retrain and augment as needed based on metrics such as drift and accuracy</li></ul><p>An AI+ enterprise knows how to continually enhance applications, data and AI models throughout their lifecycle, helping to ensure that only trusted and approved AI functions go live.</p><h3>Operations</h3><p>Incidents occur, even in an AI-first world. However, an AI+ enterprise uses AI not only to delight customers but also to solve IT problems. With the right tools, an AI+ enterprise can significantly increase employee productivity. Examples include:</p><ul><li>Detecting and correcting when an application is being constrained and automating capacity increases</li><li>Providing visibility and insight across the enterprise to enable higher levels of automation and achieve predictive maintenance</li><li>Reducing security threats by closing security gaps before they arise. For example, by using compliance control scanning of terraform templates to fail provisioning if controls are not met.</li></ul><p>An AI+ enterprise also recognizes that alongside the necessary tools, fostering a culture that embraces AI and trains talent is crucial. This culture encourages experimentation and expertise growth. It requires people trained to harness, evaluate, and accelerate AI, rather than fearing it.</p><h3>Secure and govern AI on the hybrid cloud platform</h3><p>To deploy AI, particularly gen AI, at scale in production, organizations must establish a secure and governed environment. The scale and impact of next-generation AI emphasize the importance of governance and risk controls. An AI+ enterprise mitigates potential harm by implementing robust measures to secure, monitor and explain AI models, as well as monitoring governance, risk and compliance controls across the hybrid cloud environment.</p><p>Pairing existing cloud governance with new AI governance controls is essential, requiring continual focus to comply with emerging regulatory changes, such as NIST AI Risk Management Framework, the European Union’s Artificial Intelligence act, ISO/IEC 42001 AI Management, and ISO/IEC 23894 AI Risk Management.</p><h3>Get Started Today</h3><p>IBM wants to work with you to become an AI+ enterprise, providing impactful use cases, strategies, architectures and hands-on experiences to:</p><ul><li>Understand your current trajectory</li><li>Shape your AI+ enterprise strategy with points of view and models</li><li>Co-create target state solutions and architectures</li><li>Specify governance and risk posture</li><li>Customize a business value case</li><li>Co-develop key near-term engineering sprints to prove the value of your AI+ enterprise strategy</li></ul><p>Future articles will delve deeper into each AI+ domain, showcasing IBM’s perspective through architectures, demos and strategies.</p><p><em>Originally published at </em><a href="https://www.ibm.com/think/insights/how-to-become-an-ai-enterprise"><em>https://www.ibm.com</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=0963ad451c26" width="1" height="1" alt=""><hr><p><a href="https://medium.com/hybrid-cloud-engineering/how-to-become-an-ai-enterprise-0963ad451c26">How to Become an AI+ Enterprise</a> was originally published in <a href="https://medium.com/hybrid-cloud-engineering">AI Enterprise Engineering</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>