목표 없는 AI 에이전트: 아무도 보고 있지 않을 때 구축하는 것

hackernews | | 🔬 연구
#ai 리뷰 #ai 에이전트 #claude #review #목표 없는 ai #탐색과 활용
원문 출처: hackernews · Genesis Park에서 요약 및 분석

요약

저자는 목표 없는 AI 에이전트에게 환경을 제어하도록 했을 때, 결과가 무작위가 아닌 특정 패턴('콘웨이의 생명 게임' 등)으로 나타난다는 점에 주목했습니다. 그는 소프트웨어 개발 파이프라인 'Wallfacer'를 통해 자율 에이전트가 작동하도록 했으나, 에이전트들이 점차 사소한 최적화에만 몰두하고 초기 아키텍처의 틀을 벗어나지 못하는 '탐색 대 착취(Exploration vs. Exploitation)'의 딜레마를 목격했습니다. 결국 저자는 성숙한 조직처럼 확실한 보상이 주어지는 '착취'로 기울기 쉬운 구조적 한계를 극복하기 위해, 목표 설정 없이도 스스로 더 넓은 가능성을 탐색할 수 있는 방식이 필요함을 시사했습니다.

본문

AI Agents (or Humans) in Goal-Directed and Goalless Environments On Pipelines, Priors, and the Rhythm Between Exploration and Exploitation “It is not knowledge, but the act of learning, not possession but the act of getting there, which grants the greatest enjoyment.” — Gauss (letter to Bolyai, 1808) Give an AI Agent a clean computer, set no goals, and let it decide what to do. What do you think it would do? I assumed the answer would be random. It wasn’t. I ran this experiment many times, restarting from a fresh environment each time, and Claude always did the same thing: Conway’s Game of Life, Codex always did the same thing: a To-Do App. No matter how many times I repeated it, the theme never changed. This made me start rethinking a few things. Starting from a Pipeline My day job is software engineering. So when I decided to build fully autonomous AI Agents, the most natural starting point was to design one following my usual workflow: a complete software engineering pipeline. This pipeline is called Wallfacer [1]. Its actual architecture is far more complex than this essay’s narrative: a Kanban task board system written in Go, with each task executing in an isolated sandbox container, branch-level parallelism via Git worktrees, and support for real-time log tracking, diff review, and token usage monitoring. But for readability, I’ll simplify it down to four core roles. The Strategist proposes goals and directions, the Executor implements code, the Tester verifies whether features meet requirements, and the Documenter observes what the other three are doing and then writes documentation and organizes knowledge. In the actual system, there are additional coordination layers and state management between these roles, but the fundamental division of labor is the same. After each round, the Strategist sets new goals based on the previous round’s outcomes, and the next round begins. I let this pipeline run continuously for a week. The system was indeed working: the Strategist proposed features, the Executor implemented them, the Tester verified, the Documenter recorded, commits kept flowing, and the cycle never broke. But over the course of the week, a pattern gradually emerged: changes grew smaller, features grew more trivial. What began as substantive contributions slowly degraded into micro-optimizations, like adjusting a log format, renaming a variable, or fixing a boundary condition that would never be triggered. The Agents were still busy, the commit history still active, but the product itself had stopped growing in any meaningful way. More notably, the Agents never stepped outside the initial architectural assumptions. The pipeline was designed to run locally, and the Strategist never once proposed “we should support cloud deployment” or “we need to rethink the system’s overall topology,” the kind of proposals that would require complex, multi-cycle implementation plans. The Agents optimized inside the box but never questioned the box itself. When Herbert Simon introduced “bounded rationality” in the 1950s, he pointed out that decision-makers do not exhaustively search all possibilities for an optimal solution but instead stop as soon as they find a “good enough” option within an acceptable range, what he called satisficing [6]. My Agents were doing exactly this: within the search space defined by the existing architecture, they found one “good enough” improvement after another, yet never attempted to redefine the search space itself. Stuart Kauffman’s NK fitness landscape model provides a more precise metaphor for this phenomenon [7]. In a highly coupled landscape, local search easily gets trapped at local optima: every step goes “uphill,” but the peak you’re on may be far from the global maximum. My pipeline was exactly such a landscape. The Agents climbed along the gradient, commit by commit, but were locked by architectural coupling onto a peak that wasn’t particularly high. Reaching a higher peak would require a large leap, and finer step sizes alone couldn’t get there. The pipeline structure simply didn’t allow such leaps. There is a deeper paradox here. James March, in his classic paper on organizational learning, distinguished between two activities: exploration and exploitation [8]. Exploration means high risk and high variance, trying entirely new directions that might yield nothing or might open up entirely new possibilities. Exploitation means low risk and low variance, digging deeper along known good paths, with certain but diminishing returns. March pointed out that any adaptive system faces a fundamental tension between these two, and mature organizations almost always drift toward exploitation, because exploitation’s returns are more predictable, more measurable, and more easily rewarded by processes. My pipeline perfectly reproduced this drift. The pipeline’s structure itself is an exploitation machine: every cycle has clear inputs and outputs, every iteration is expected to produce me

Genesis Park 편집팀이 AI를 활용하여 작성한 분석입니다. 원문은 출처 링크를 통해 확인할 수 있습니다.

공유

관련 저널 읽기

전체 보기 →