Live data from Hacker News

Developing with GitHub Copilot Agent Mode and MCP

austen.info

41–50 of 71 posts

Re: Developing with GitHub Copilot Agent Mode and MCP

#41
post #35

Earlier quoted context omitted.

> But you have to consider the task just like if you handed it over to a person with absolutely zero previous context, Which no one does. Even when hiring someone, there's the basic premise that they know how they should do the job (interns are there to learn, not to do). And then they are trained for the particular business context, with a good incentive to learn well and then do the job well. You don't just suddenl…

I don't understand the argument, I haven't said humans act like that, what I said is how you have to treat LLMs if you want to use it for things like that. If you're somehow under the belief that LLMs will (or should) magically replace a person, I think you've built the wrong understanding of what LLMs are and what they can do.

I interact with tools and with people. When with people, there's a shared understanding of the goal and the context (aka, alignment as some people like to called it). With tools, there's no such context needed. Instead I need reproducible results and clear output. And if it's something that I can automate, that it will follow my instructions closely.

LLMs are obviously tools, but their parameters space is so huge that's it's difficult to provide enough to ensure reliable results. With prompting, we have unreliable answers, but with agents, you have actions being made upon those reliable answers. We had that before with people copying and pasting from LLMs output, but now the same action is being automated. And then there's the feedback loop, where the agent is taking input from the same thing it has altered (often wrongly).

So it goes like this: Ambiguous query -> unrealiable information -> agents acting -> unreliable result -> unreliable validation -> final review (which are often skipped). And then the loop.

While with normal tools: Ambiguous requirement -> detailed specs -> formal code -> validation -> report of divergence -> review (which can be skipped) . There are issues in the process (which give us bugs) but we can pinpoint where we did wrong and fix the issue.

Re: Developing with GitHub Copilot Agent Mode and MCP

#42

Earlier quoted context omitted.

OP's comment also seems to be firmly stuck in 2023 when you'd prompt ChatGPT or whatever. The fact that LLMs today, when strapped into an agentic harness, can do or help with all of these things (ideation, architecture, use linters, validate code, evaluate outputs, and a million other things) seems to elude them.

Dothey do requirement gatherings? Like talking to stakeholder and getting their input of what the feature should, translating business jargon to domain terms? No. Do they do the analysis? Removing specs that conflict with each other, validating what's possible in the technical domain and in the business domain? No. Do they help with design? Helping coming up with the changes that impact the current software the least…

> Dothey do requirement gatherings?

This is true, but they have helped prepare me with good questions to ask during those meetings!

> Do they do the analysis? Removing specs that conflict with each other, validating what's possible in the technical domain and in the business domain?

Yes, I have had LLMs point out missing information or conflicting information in the spec. See above about "good questions to ask stakeholders."

> Do they help with design? Helping coming up with the changes that impact the current software the least, fitting in the current architecture and be maintainable in the feature.

Yes.

I recently had a scenario where I had a refactoring task that I thought I should do, but didn’t really want to. It was cleaning up some error handling. This would involve a lot of changes to my codebase, nothing hard, but it would have taken me a while, and been very boring, and I’m trying to ship features, not polish off the perfect codebase, so I hadn’t done it, even though I still thought I should.

I was able to ask Claude “hey, how expensive would this refactoring be? how many methods would it change? What’s the before/after diffs on a simple affected place, and one of the more complex affected places look like?

Previously, I had to use my hard-won human intuition to make the call about implementing this or not. It’s very fuzzy. With Claude, I was able to very quickly quantify that fuzzy notion into something at least close to accurate: 260 method signatures. Before and after diffs look decent. And this kind of fairly mechanical transformation is something Claude can do much more quickly and just as accurately as I can. So I finally did it.

That I shipped the refactoring is one point. But the real point is that I was able to quickly focus my understanding of the problem, and make a better, more informed decision because of it. My gut was right. But now I knew it was right, without needing to actually try it out.

> Not a true debate or weighing options based on the organization context.

This context is your job to provide. They will take it into account when you provide it.

> Do they help with coding?

Yes.

> Do they help with testing? Coming up with tests plan, writing test code, running them, analysing the output of the various tools and producing a cohesive report of the defects?

Yes, absolutely.

> Do they help with maintenance? Taking the same software and making changes to keep it churning on new platforms, through dependencies updates and bug fixes?

See above about refactoring to improve quality.

Re: Developing with GitHub Copilot Agent Mode and MCP

#43
Just yesterday I was reading a critique of MCP that specifically mentioned the GitHub MCP server as being harder to use (from model perspective) and requiring more tokens than having the agent execute git commands directly. I am surprised to see it listed here and also surprised to see two different web search servers and the time one. I would appreciate more detail from the author about the utility of each MCP server—overloading an agent with servers seems like it could be counterproductive.

Re: Developing with GitHub Copilot Agent Mode and MCP

#44
post #4

And again, the most convoluted setup for development with an example that fails to demonstrate why you should adopt such practice. It’s like doing a GDB demo with an hello world program. Or doing Linux From Scratch to show how you can browse the web. The goal of software engineering is not to write code faster. Coding is itself a translation task (and a learning workflow, as you can’t keep everything in your head). W…

> The goal of software engineering is not to write code faster That just really depends on your situation. Here's a case I had just last week: we had artists in residency who suddenly showed up with a new, expensive camera that didn't have any easy to use driver but requires the use of their huge and bulky custom SDK. Claude whipped a basic working c++ proprietary-camera-sdk-to-open-video-sharing-protocol in, what, 2…

“The goal of software engineering is not to write code faster”

Writing proper code including tests and refactorings takes substantial time.

It is definitely worth it to do this faster, if only to get faster feedback to go back to the first phase; requirements and analysis.

I have experienced this myself, using CC it took me a few hours less to realise i was on the wrong track.

Re: Developing with GitHub Copilot Agent Mode and MCP

#46
post #4

And again, the most convoluted setup for development with an example that fails to demonstrate why you should adopt such practice. It’s like doing a GDB demo with an hello world program. Or doing Linux From Scratch to show how you can browse the web. The goal of software engineering is not to write code faster. Coding is itself a translation task (and a learning workflow, as you can’t keep everything in your head). W…

I've used Copilot a bit and found it helpful for both coding and maintenance. My setup is pretty basic, and I only use it in places where the task is tedious and I am confident reviewing the diff or other output is sufficient. Things like: "Refactor: We are replacing FlogSnarble with FloozBazzle. Review the example usage below and replace all usage across the codebase. " "In the browser console I see the error below.…

The reason I tend not to use LLMs for these taks is that they are great for thinking moments. They're so mechanical that you tend to reflect instead. Also I use Vim and Emacs which are great for that type of works (fast navigation and good editing tools) and it's not as tedious as doing in editors like VS Code and Sublime (which are not great at editing). You can even concoct something with tmux, ripgrep/fzf, and nano that is better than VS Code at this.

Re: Developing with GitHub Copilot Agent Mode and MCP

#47

Earlier quoted context omitted.

> The goal of software engineering is not to write code faster That just really depends on your situation. Here's a case I had just last week: we had artists in residency who suddenly showed up with a new, expensive camera that didn't have any easy to use driver but requires the use of their huge and bulky custom SDK. Claude whipped a basic working c++ proprietary-camera-sdk-to-open-video-sharing-protocol in, what, 2…

> Claude whipped a basic working c++ proprietary-camera-sdk-to-open-video-sharing-protocol in, what, 2 minutes? From the first go with a basic prompt? Without that it'd have been at least a couple days of development, likely a day just to go through the humongous docs That's basically what I said. They are example generators. Their creators have not published the source of the data that goes in their training so we c…

It definitely takes a lot of experience writing code with a LLM. Like a junior engineer it makes tons of (small) mistakes. It takes years of practice to detect the LLM is introducing small bugs that will reveal themselves only after extensive testing or running in prod.

It will be interesting to see how beginning developers will deal with these bugs as they did not write the code and do not have a mental model of the code. Will quality drop? Perhaps some can be compensated by letting the LLM do extensive testing.

Re: Developing with GitHub Copilot Agent Mode and MCP

#48

Earlier quoted context omitted.

> The goal of software engineering is not to write code faster That just really depends on your situation. Here's a case I had just last week: we had artists in residency who suddenly showed up with a new, expensive camera that didn't have any easy to use driver but requires the use of their huge and bulky custom SDK. Claude whipped a basic working c++ proprietary-camera-sdk-to-open-video-sharing-protocol in, what, 2…

Similar anecdata: I was writing some automated infra tests with Terraform and Terratest and I wanted to deploy to my infra. My tests are compiled into a binary and shipped to ECS Fargate as an image to run. Instead of doing docker in docker to pull and push my images and before googling for an existing lib for managing images directly I asked Claude to write code to pull the layer tarballs from docker hub and push th…

[deleted]

Re: Developing with GitHub Copilot Agent Mode and MCP

#49

Playwright MCP is intriguing. I'll definitely give it a run today. Anybody got any tipps or gotchas?

Can someone elucidate how using a full blown browser is improvisation over using say markitdown / pandoc / whatever? Given that most useful coding docs sites are static (made with sphinx or mkdocs or whatever)

Re: Developing with GitHub Copilot Agent Mode and MCP

#50

Earlier quoted context omitted.

Dothey do requirement gatherings? Like talking to stakeholder and getting their input of what the feature should, translating business jargon to domain terms? No. Do they do the analysis? Removing specs that conflict with each other, validating what's possible in the technical domain and in the business domain? No. Do they help with design? Helping coming up with the changes that impact the current software the least…

> Dothey do requirement gatherings? This is true, but they have helped prepare me with good questions to ask during those meetings! > Do they do the analysis? Removing specs that conflict with each other, validating what's possible in the technical domain and in the business domain? Yes, I have had LLMs point out missing information or conflicting information in the spec. See above about "good questions to ask stakeh…

+1. Some refactorings are important but just not urgent enough compared to features. Letting CC do these refactorings makes quite a difference.

At least in the case of lot of automated test coverage and typed language (Go) so it can work independently efficiently.

Post reply on HN