# Goaでつくる

GoサービスとAIエージェントのための共通の設計言語。開発者とコーディングエージェントが共有できる開発手順。

Source: https://goa.design/ja/docs/

Relative links resolve against the source URL above.


Goaは、コーディングエージェントが書くコードを減らし、推論の基準となる契約をひとつにまとめるGoフレームワークです。API、クライアント、検証を生成し、Goa-AIでAIエージェント、MCPサーバー、ツールレジストリを構築できます。

## はじめる場所を選ぶ

- **[Goaでサービスをつくる](1-goa/quickstart/)。** GoでAPIを定義し、HTTPサーバーとクライアントを生成して、ビジネスロジックを実装します。
- **[Goa-AIでAIエージェントをつくる](2-goa-ai/quickstart/)。** 型付きツールを定義し、ローカルで動くエージェントを生成して、プランナーとモデルを接続します。
- **[コーディングエージェントと開発する](ai-development/)。** 必要な設計、編集範囲、再現可能な生成とテストの手順をエージェントに渡します。

GoaとGoa-AIは同じ設計言語とジェネレーターを使います。Goa単独でサービスを作ることも、Goa-AIから始めることも、同じ型を使ってサービスのメソッドをツールとして公開することもできます。

## 各部分の役割

**設計が契約を記述します。** 型、説明、検証ルール、例、操作をGoのソースで定義します。Goa-AIはエージェント、ツールセット、構造化出力、評価スイートを追加します。

**ジェネレーターがコードを導出します。** `goa gen`がインターフェース、通信コード、クライアント、スキーマ、接続コードを生成します。`gen/`は生成コードの領域で、アプリケーションのコードはその外に置きます。

**アプリケーションが動作を実装します。** 開発者とコーディングエージェントがロジック、プランナー、永続化、認可、テストを書きます。契約を変更したら再生成し、コンパイラーとテストの結果を使って実装を更新します。

## 人とエージェントのためのドキュメント

ナビゲーションからクイックスタート、ガイド、リファレンスを選べます。各ページには**ページをコピー**する機能と**Markdown**版があります。[エージェント向け索引](/ja/llms.txt)から、タスクに必要なページだけを渡せます。

可観測性、分散イベント、設計図には[Goaエコシステム](3-ecosystem/)を参照してください。問題の報告や改善方法は[貢献ガイド](contributing/)にあります。

