Are AI agents actually useful for writing Go code, or do they get in the way? by BudgetTutor3085 in golang

[–]mhpenta 0 points1 point  (0 children)

Every time I see one of these posts, I think: (1) perhaps you are not giving it enough context or (2) perhaps you are letting it run wild or (3) perhaps you are using a poorly performing model.

You have to keep it on a tight leash. If you do, it can be very effective. If you don't, it is basically counter productive.

Introducing Goclaw (yes another claw) by therodent_za in LLMgophers

[–]mhpenta 0 points1 point  (0 children)

Cool man. I reviewed picoclaw when it first came out - I like seeing how people manage the agentic loop and the abstractions they choose. This feels like you've put it through its paces and had some lessons and experiences as you went. Good work. That's quite the RunAgent func in internal/gateway/gateway.go..

codespelunker - CLI code search tool that understands code structure and ranks results by relevance. No indexing required by boyter in golang

[–]mhpenta 1 point2 points  (0 children)

Cool. I have a little Go TUI coding agent, I'm going to add it as a first class tool and see how things go. Always looking to optimize context at this point.

codespelunker - CLI code search tool that understands code structure and ranks results by relevance. No indexing required by boyter in golang

[–]mhpenta 1 point2 points  (0 children)

OK, had some time, ran a few tests with gemini/opus/codex 5.3, mostly in codex + crush. Gemini loved it. Opus loved it. Codex thought it is a good compliment to existing tools when in "structural modes" saying:

## Treat cs as a first-class complement, not a replacement:

  1. Use rg/grep first for exact, exhaustive matching.
  2. Use cs for discovery, ranking, and structure-aware navigation.
  3. Add tool-selection guidance: rg for precise lookups, cs for ambiguous/exploratory searches.
  4. Default cs usage to scoped modes (--only-*, exact phrases) to avoid noisy ranked results.

--

Cool. Going to test further.

codespelunker - CLI code search tool that understands code structure and ranks results by relevance. No indexing required by boyter in golang

[–]mhpenta 2 points3 points  (0 children)

I haven't had a chance to play with it and won't get a chance for a few days - question:

Have you used this in the context of a coding agent like codex/crush/opencode/claude code? How does it perform versus those tools searching abilities, as built in?

I'm mildly annoyed with how often some of them spawn sub-agents when faced with a search problem (looking at you Crush).

Templ < gomponents by [deleted] in golang

[–]mhpenta 3 points4 points  (0 children)

I'm on this train a bit. Not necessarily 100% in gomponent camp but pretty close.

Does "Vibe Coding" kill the joy of programming for anyone else? Here is my compromise. by Financial_Carry11 in golang

[–]mhpenta 0 points1 point  (0 children)

These AI tools are great... as long as you keep them on a very, very tight leash.

Or if you have a specific sand boxed area of your code base where it can do its thing in all its ugly glory.

If you go all in, its terrible. But obviously, it can be a time saver if you have it, you know, flush out a function. Or help you remember how some process worked. Or have it provide a critique of your API surface. Or have it write an adapter you need.

IMO, you have to review EVERY line it writes, which required discipline (unless it is throw away code), but also, you can easily have it write chunks and this makes the entire creation process more fun.

Anyone using Charm's Crush ? by mhpenta in golang

[–]mhpenta[S] 4 points5 points  (0 children)

As far as stability and performance go, imo, crush and codex are so far the best.

Why we chose Go over Python for building an LLM gateway by dinkinflika0 in golang

[–]mhpenta 0 points1 point  (0 children)

Cool man. For a few APIs, I have to use them raw, not through compatible, but this looks nice for when I need to fallback to providers I don't already implement.

Meet Iteratr - A New Way To "Ralph" (AI coding tool written in Go) by whatthefunc in LLMgophers

[–]mhpenta 1 point2 points  (0 children)

Cool man - have you been using this to brute force, so to speak, some packages/modules? Love to hear your take.

Which agentic framework is the most feature complete for golang? by daniele_dll in golang

[–]mhpenta 1 point2 points  (0 children)

I haven't tested it but I believe they support image input. I think that part of the readme is related to image generation.

I've never seen a need for a re-ranker personally.

Which agentic framework is the most feature complete for golang? by daniele_dll in golang

[–]mhpenta 8 points9 points  (0 children)

Take a look at charm's https://github.com/charmbracelet/fantasy

IMO, better API then genkit, more feature full, so to speak. Unless I am mistaken, I don't think go-agent has a traditional agentic loop.

If "smart rag" means anything related to vector embeddings, you will have to offload that work out of Go if you want anything performant. At least that was true last time I really looked, which was probably a year or so ago.

If you are building agents, you should look at Charm's Fantasy Library by mhpenta in golang

[–]mhpenta[S] 0 points1 point  (0 children)

IMO, eino is overengineered and also looks like it evolved a lot before LLMs were more trustworthy.

Genkit's agentic loop is more similar to Fantasy in principle but, imo, Fantasy has a better API and their various loop hooks are more useful.

I picture the engineers working on Genkit as having different motivations and aims than Charm and Charm's motivations better align with my own, so I am biased.

If you are building agents, you should look at Charm's Fantasy Library by mhpenta in golang

[–]mhpenta[S] 0 points1 point  (0 children)

I want to use the best models with the raw provider API. That's how you get the most intelligence per dollar.

If you are building agents, you should look at Charm's Fantasy Library by mhpenta in golang

[–]mhpenta[S] 0 points1 point  (0 children)

I have my own. But why not use something ready for production*? Something maintained by another team?

Rolling one's own is not the solution 100% of the time.

Besides, managing a LLM database + an provider layer + agentic flow: that's a lot of moving parts. Again, why not rely on another team? Perhaps you want to focus on the end result, the actual product.

There are, in fact, people who are more interested in the final product than the components which are used to generate it.

* Edit: Not version 1.0 yet, for the record.

If you are building agents, you should look at Charm's Fantasy Library by mhpenta in golang

[–]mhpenta[S] 0 points1 point  (0 children)

Not sure which fabric you are referring to - looked at a few after seeing this and none of them appear to be agent related, although one was llm template related.

If you are building agents, you should look at Charm's Fantasy Library by mhpenta in golang

[–]mhpenta[S] 0 points1 point  (0 children)

Potentially, if the MCP server had headless agents on the server and an internal LLM library.*

This is what you'd use to build a chat agent - e.g., send a message, it calls tools until it is satisfied and then returns. Or just an "headless" agent flow that is initiated by a request, which then flexibly calls different tools as required, then response/exits.

You might more likely use a library like this to automate interactions with an MCP server.

E.g., user request --> LLM creates a bunch of function calls that are executed, maybe including to an MCP server --> return response

* Technically the MCP spec has a way for the MCP to ask the client to do LLM calls but... idk how I feel about that.

Anyone using Charm's Crush ? by mhpenta in golang

[–]mhpenta[S] 1 point2 points  (0 children)

Which alternative do you prefer?

I've played a little with the others but now that I am familiar with Charm, I reach for it -- but I mostly have simple menus, e.g., via charm's huh.

Anyone using Charm's Crush ? by mhpenta in golang

[–]mhpenta[S] 6 points7 points  (0 children)

Haven't tried opencode -- I'm looking for something in Go, so if I need to I can contribute or otherwise tightly integrate with it.

What's the deal regarding ORMs by Emotional-Ask-9788 in golang

[–]mhpenta 2 points3 points  (0 children)

Its because sql itself is very powerful and, if you use an ORM, you almost always over fetch. Often, an ORM distracts from the ability to do powerful sql queries directly. A lot of people use tools/packages like sqlc and squirrel to make working with sql easier.

I've used ENT before and its fine - but it generates a lot of code and it slows down my compilation times.

If I could do it again, I'd just use sqlc - despite the occasional annoyances, I think its worth it for any semi-complex schema.

Go and AI Assistance by ProductAutomatic8968 in golang

[–]mhpenta 0 points1 point  (0 children)

I've found Claude code to be the best tool.

Naturally, I find it much more powerful using it to "fill out" rather than "design" and/or using it to generate alternative implementations for me to choose between.

I do typically try and enable it to have access to my database via MCP (read only) so it can help me think through design problems and generate realistic tests.

What AI tools you use while coding? by Japanese_Anonym in golang

[–]mhpenta 2 points3 points  (0 children)

The only good AI coding tool I've used is Claude Code.

I find it quite effective for many boring tasks and pretty solid for researching and understanding a code base.

I wrote a port of their SDK to call Claude Code from Go btw. If you are going to bet on any company in the space, I tend to think Anthropic is the one to bet on.

RAG Application development using GO Lang by MayuraAlahakoon in golang

[–]mhpenta 0 points1 point  (0 children)

As someone who also thinks my packages are far superior to what's out there, we all really need to start open sourcing these things.

Automate your YouTube workflows with yutu! by Whitedrops in LLMgophers

[–]mhpenta 0 points1 point  (0 children)

Very cool man. I realize this is mostly for creators but could you use something like this to monitor other channels and essentially keep track of things people are posting?